@import url("/public/fonts/bootstrap-icons-v1.10.3/bootstrap-icons.css");

@font-face {
    font-display: swap;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 100;
    src: url('/public/fonts/lato/lato-v23-latin-100.woff2') format('woff2'),
        url('/public/fonts/lato/lato-v23-latin-100.woff') format('woff');
}


@font-face {
    font-display: swap;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    src: url('/public/fonts/lato/lato-v23-latin-300.woff2') format('woff2'),
        url('/public/fonts/lato/lato-v23-latin-300.woff') format('woff');
}


@font-face {
    font-display: swap;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    src: url('/public/fonts/lato/lato-v23-latin-regular.woff2') format('woff2'),
        url('/public/fonts/lato/lato-v23-latin-regular.woff') format('woff');
}


@font-face {
    font-display: swap;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    src: url('/public/fonts/lato/lato-v23-latin-700.woff2') format('woff2'),
        url('/public/fonts/lato/lato-v23-latin-700.woff') format('woff');
}

@font-face {
    font-display: swap;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 900;
    src: url('/public/fonts/lato/lato-v23-latin-900.woff2') format('woff2'),
        url('/public/fonts/lato/lato-v23-latin-900.woff') format('woff');
}


@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css");

:root {
    --bs-font-sans-serif: 'Lato', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

    --ti-red: #cc0000;
    --ti-red-rgb: 204, 0, 0;

    --ti-black: #000000;
    --ti-black-rgb: 0, 0, 0;

    --ti-black-1: #333333;
    --ti-black-1-rgb: 51, 51, 51;

    --ti-black-2: #4d4d4d;
    --ti-black-2-rgb: 77, 77, 77;

    --ti-black-3: #888888;
    --ti-black-3-rgb: 136, 136, 136;

    --ti-black-4: #CCCCCC;
    --ti-black-4-rgb: 204, 204, 204;

    --ti-black-5: #DDDDDD;
    --ti-black-5-rgb: 221, 221, 221;

    --ti-black-6: #EBEBEB;
    --ti-black-6-rgb: 235, 235, 235;

    --ti-gray: #aaaaaa;
    --ti-gray-rgb: 170, 170, 170;

    --ti-white: #ffffff;
    --ti-white-rgb: 255, 255, 255;

    --ti-red-dark: #990000;
    --ti-red-dark-rgb: 153, 0, 0;

    --ti-blue-dark: #115566;
    --ti-blue-dark-rgb: 17, 85, 102;

    --ti-blue: #007c8c;
    --ti-blue-rgb: 0, 124, 140;

    --ti-blue-light: #00BBCC;
    --ti-blue-light-rgb: 0, 187, 204;

    --ti-grey-light: #E0E0E0;
    --ti-grey-light-rgb: 224, 224, 224;

    --timing: 0.2s;
    color-scheme: light;
    accent-color: var(--ti-red);
}

/* GLOBAL */

:root {
    --bs-body-color: var(--ti-black-1);
    --bs-body-bg: var(--ti-white);

    --bs-primary: var(--ti-red);
    --bs-primary-rgb: var(--ti-red-rgb);

    --bs-info: var(--ti-blue);
    --bs-info-rgb: var(--ti-blue-rgb);
}

html {
    height: 100%;
}

body {
    font-family: var(--bs-font-sans-serif) !important;
}


.ti-cross-bg {
    background: var(--ti-blue) url(/public/images/backgrounds/blue-plus.png);
    background-size: cover;
    background-position-x: right;
    background-repeat: no-repeat;
}

.text-primary {
    color: var(--ti-red) !important;
}

.btn,
.btn-primary,
.btn-secondary {
    --bs-btn-font-weight: 700;
    --bs-btn-border-radius: 100vh;
}

.btn-primary {
    --bs-btn-color: var(--ti-white);
    --bs-btn-bg: var(--ti-red);
    --bs-btn-border-color: var(--ti-red);

    --bs-btn-hover-color: var(--ti-white);
    --bs-btn-hover-bg: var(--ti-red-dark);
    --bs-btn-hover-border-color: var(--ti-red-dark);

    --bs-btn-active-color: var(--ti-white);
    --bs-btn-active-bg: var(--ti-red-dark);
    --bs-btn-active-border-color: var(--ti-red-dark);

    --bs-btn-disabled-color: var(--ti-white);
    --bs-btn-disabled-bg: var(--ti-red);
    --bs-btn-disabled-border-color: var(--ti-red);
}

.btn-outline-primary {
    --bs-btn-color: var(--ti-red);
    --bs-btn-bg: var(--ti-white);
    --bs-btn-border-color: var(--ti-red);

    --bs-btn-hover-color: var(--ti-white);
    --bs-btn-hover-bg: var(--ti-red);
    --bs-btn-hover-border-color: var(--ti-red);

    --bs-btn-active-color: var(--ti-white);
    --bs-btn-active-bg: var(--ti-red);
    --bs-btn-active-border-color: var(--ti-red);

    --bs-btn-disabled-color: var(--ti-red);
    --bs-btn-disabled-bg: var(--ti-white);
    --bs-btn-disabled-border-color: var(--ti-red);
}

.btn-secondary {
    --bs-btn-color: var(--ti-white);
    --bs-btn-bg: var(--ti-gray);
    --bs-btn-border-color: var(--ti-gray);

    --bs-btn-hover-color: var(--ti-white);
    --bs-btn-hover-bg: var(--ti-black-3);
    --bs-btn-hover-border-color: var(--ti-black-3);

    --bs-btn-active-color: var(--ti-white);
    --bs-btn-active-bg: var(--ti-black-3);
    --bs-btn-active-border-color: var(--ti-black-3);

    --bs-btn-disabled-color: var(--ti-white);
    --bs-btn-disabled-bg: var(--ti-gray);
    --bs-btn-disabled-border-color: var(--ti-gray);
}

.link-primary {
    color: var(--ti-red) !important;
}

.link-primary:focus,
.link-primary:hover {
    color: var(--ti-red-dark) !important;
}

.form-check-input:focus {
    border-color: var(--ti-red);
}

.form-check-input:checked {
    background-color: var(--ti-red);
    border-color: var(--ti-red);
}

.bg-primary,
.text-bg-primary {
    background-color: rgba(var(--ti-red-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-primary {
    color: var(--ti-white) !important;
}

.form-check-input:checked {
    background-color: var(--ti-red);
    border-color: var(--ti-red);
}

.ti-block {
    background-color: var(--ti-white);
    border-radius: 1.5em;
    box-shadow: 0 0 0.5rem rgba(var(--ti-black-rgb), 0.15);
    padding: 1em 1.5em; 
}


.card {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;

    --bs-card-border-width: 0px;
    --bs-card-border-color: transparent;
    --bs-card-border-radius: 1.5em;
    --bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - var(--bs-card-border-width));

    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);
    text-decoration: none;
    color: var(--ti-black-2);
    transition: all var(--timing);
}

.card:not(.no-hover):hover,
.card:not(.no-hover):focus {
    background-color: var(--ti-grey-light);
}

.card:hover>.card-img-top,
.card:focus>.card-img-top {
    filter: brightness(0.8);
}

.card:focus {
    --bs-card-border-color: var(--ti-red);
    outline-color: var(--ti-red);
}

.card .card-img-top {
    height: var(--bs-card-img-height, 13rem);
    object-fit: cover;
    transition: all var(--timing);
}

.card .card-body .card-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ti-blue);
}

.card .card-body .card-text {
    font-size: 1.25rem;
    font-weight: 400;
}

.card .card-body .card-title a {
    text-decoration: none;
}

.card .card-icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3rem;
    color: var(--ti-gray);
}

.card .card-icon-container img {
    max-width: 100%;
    max-height: 100%;

    height: 6rem;
    width: 6rem;
    object-fit: contain;
}


.dropdown-menu {
    --bs-dropdown-link-active-bg: var(--ti-red);
}

/* SIZING */

@media (min-width: 768px) {
    .w-md-50 {
        width: 50%;
    }

    .w-md-100 {
        width: 100%;
    }

    .w-md-0 {
        width: 0;
    }

    .mt-md-0 {
        margin-top: 0;
    }
}

/* GLOBAL TEMP */
.breadcrumbs>ol {
    display: flex;
    flex-wrap: nowrap;
    margin-block: 1rem;
    padding-left: 0;
}

.breadcrumbs>ol>li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.breadcrumbs>ol>li:not(:first-child)::before {
    content: "/";
    margin: 0 0.5rem;
}

/* NAVBAR */

.navbar {
    border-bottom: 5px solid var(--ti-red);
    --bs-navbar-active-color: var(--ti-red);
}

.navbar .navbar-brand {
    --bs-navbar-brand-color: var(--ti-gray);
    --bs-navbar-brand-font-size: 1rem;
}

.navbar .navbar-brand>img {
    mix-blend-mode: darken;
}

/* BREADCRUMBS */

.breadcrumb {
    /* always single-line breadcrumbs */
    flex-wrap: nowrap;
}

.breadcrumb-item {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* FOOTER */

.ti-footer-black {
    background-image: linear-gradient(45deg, var(--ti-black), #505050);
    color: var(--ti-white);
}

.ti-footer-white {
    color: var(--ti-black-3);
    background-color: var(--ti-white);
}


.ti-footer-black a,
.ti-footer-white a {
    color: #99CCDD;
    text-decoration: none;
    transition: filter var(--timing);

}

.ti-footer-white a {
    color: #668899;
}

.ti-footer-black a:hover,
.ti-footer-black a:focus,
.ti-footer-white a:hover,
.ti-footer-white a:focus {
    filter: brightness(0.8);
}

.ti-footer-black i {
    font-size: 2rem;

}

/* HOMEPAGE */


@media (min-width: 768px) {
    h2#video-section-header {
        white-space: nowrap;
        font-size: clamp(1.4rem, 6vw, 2.5rem) !important;
    }
    
}


/* ACTIVITY ITEM */

.activity-item {
    display: flex;
    border: 2px solid var(--ti-grey-light);
    padding: 1.5em 2em;
    position: relative;
    border-radius: 1em;
    transition: all var(--timing);
}

.activity-item:not(:last-child) {
    margin-bottom: 1em;
}

.activity-item:hover,
.activity-item:focus {
    background-color: var(--ti-black-6);
}

.activity-item:focus-within {
    border-color: var(--ti-red);
    outline-color: var(--ti-red);
}

.activity-item a {
    color: var(--bs-body-color);
    text-decoration: auto;
}

.activity-item a:focus {
    outline: none;
}

.activity-item a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}


.activity-item h2 {
    text-transform: uppercase;
    font-size: 1.4rem;
    font-weight: 700;
}

.activity-item .rating-container {
    display: flex;
    flex-direction: row;
}

.rating {
    margin-inline-start: 0.5em;
    color: var(--ti-gray);
}

.rating.one-star span:first-child,
.rating.two-star span:first-child,
.rating.two-star span:first-child+*,
.rating.three-star span:first-child,
.rating.three-star span:first-child+*,
.rating.three-star span:first-child+*+* {
    color: var(--ti-red);
}

/* TUTORIAL VIEW */

.icon-white {
    filter: brightness(0) invert(1);
    max-width: 100%;
}

.video-lesson .video {
    align-self: center;
    position: relative;
}

.video-lesson .video iframe {
    width: 100%;
    border: none;
}

.video-lesson .lesson-info {
    align-items: center;
    border: 1px solid #e6e6e6;
    color: #686868;
    display: flex;
    flex-direction: column;
    padding: 15px 25px;

    margin-block: 1rem;
}

@media (min-width: 768px) {

    .container .video-lesson .lesson-info {
        flex-direction: row;
        justify-content: space-between;
    }
}


.video-lesson .lesson-info .lesson-teacher {
    display: flex;
    align-items: center;
}

.video-lesson .lesson-info .author-circle img,
.video-lesson .lesson-info #fallback-icon {
    --size: 4rem;
    height: var(--size);
    width: var(--size);
    border-radius: 50%;

    overflow: hidden;
    object-fit: cover;
    object-position: 50% 20%;

    margin-right: 1rem;
    background-color: var(--ti-gray);
}

.video-lesson .lesson-info #fallback-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-lesson .lesson-info #fallback-icon i {
    font-size: calc(var(--size) * 0.8);
    color: var(--ti-white);
}

.video-lesson .lesson-info .author,
.video-lesson .lesson-info .duration {
    color: #000;
    font-weight: bold;
    text-align: initial;
}

/* QUIZ TEMP */


.excercise-section {
    background: var(--ti-red);
    padding: 15px;
    margin-bottom: 2em;
}

.excercise-section .valider {
    background: white;
    width: 100%;
    height: 100%;
    position: relative
}

.excercise-section .valider .qno {
    display: none
}

@media (max-width: 768px) {
    .excercise-section .valider .qno {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 105px;
        height: 40px;
        background: var(--ti-red-dark);
        color: #fffcf4;
        font-size: 18px;
        text-transform: uppercase;
        text-align: center;
        padding: 5px 0
    }
}

.excercise-section .valider .ui-tabs {
    background: none;
    border: none;
    padding: 0
}

.excercise-section .valider .ui-tabs .ui-tabs-nav {
    width: 22%;
    float: left;
    background: none;
    border: none;
    padding: 0
}

.excercise-section .valider .ui-tabs .ui-tabs-nav li {
    float: none;
    border: none;
    background: #fafafa;
    border-radius: 0;
    margin-top: 3px;
    position: relative;
    text-align: center;
    margin-right: 0
}

.excercise-section .valider .ui-tabs .ui-tabs-nav li a {
    color: var(--ti-red);
    font-size: 18px;
    text-transform: uppercase;
    float: none;
    padding: 50px 0;
    display: block;
    font-family: "open_sansregular", sans-serif;
    font-weight: 300
}

.excercise-section .valider .ui-tabs .ui-tabs-nav li:first-of-type {
    margin-top: 0
}

.excercise-section .valider .ui-tabs .ui-tabs-nav li.ui-tabs-active {
    background: var(--ti-red)
}

.excercise-section .valider .ui-tabs .ui-tabs-nav li.ui-tabs-active:after {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid var(--ti-red);
    content: "";
    display: block;
    height: 20px;
    margin: 0 auto;
    width: 20px;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999
}

.excercise-section .valider .ui-tabs .ui-tabs-nav li.ui-tabs-active a {
    color: #fffcf4
}

.excercise-section .valider .ui-tabs .ui-tabs-panel {
    padding: 50px 10px;
    width: 100%
}

.excercise-section .valider .ui-tabs .ui-tabs-panel .qno {
    position: absolute;
    top: 0;
    left: 0;
    width: 105px;
    height: 40px;
    background: #46b8c3;
    color: #fffcf4;
    font-size: 18px;
    text-transform: uppercase;
    text-align: center;
    padding: 5px 0
}

.excercise-section .valider .ui-tabs .ui-tabs-panel .checkbox input[type="checkbox"],
.excercise-section .valider .ui-tabs .ui-tabs-panel .radio input[type="radio"] {
    margin-left: -40px
}

.excercise-section .valider .ui-tabs .ui-tabs-panel .excercise-question {
    font-size: 18px;
    text-align: left;
    margin-bottom: 25px
}

.excercise-section .valider .ui-tabs .ui-tabs-panel .excercise-question span {
    display: block
}

.excercise-section .valider .ui-tabs .ui-tabs-panel .excercise-question>img {
    margin: 10px auto;
    display: block;
    width: 200px
}

.excercise-section .valider .ui-tabs .ui-tabs-panel .answer {
    background: #e7f3f5;
    text-align: center;
    padding: 20px 0;
    margin: 20px auto;
    width: 86%
}

.excercise-section .valider .valider-btn {
    --bs-btn-color: var(--ti-white);
    --bs-btn-bg: var(--ti-red);
    --bs-btn-border-color: var(--ti-red);

    --bs-btn-hover-color: var(--ti-white);
    --bs-btn-hover-bg: var(--ti-red-dark);
    --bs-btn-hover-border-color: var(--ti-red-dark);

    --bs-btn-active-color: var(--ti-white);
    --bs-btn-active-bg: var(--ti-red-dark);
    --bs-btn-active-border-color: var(--ti-red-dark);

    --bs-btn-disabled-color: var(--ti-white);
    --bs-btn-disabled-bg: var(--ti-red);
    --bs-btn-disabled-border-color: var(--ti-red);

    --bs-btn-font-weight: 700;

    height: 40px;

    position: absolute;
    right: -15px;
    bottom: 50%;
    width: 30px;
    padding: 10px 0;
}

.excercise-section .valider .valider-btn:first-of-type {
    left: -15px
}

.excercise-section .valider .valider-btn.inactive {
    --bs-btn-bg: var(--ti-grey-light);
    --bs-btn-border-color: var(--ti-grey-light);
    --bs-btn-hover-bg: var(--ti-grey-light);
    --bs-btn-hover-border-color: var(--ti-grey-light);
    --bs-btn-active-bg: var(--ti-grey-light);
    --bs-btn-active-border-color: var(--ti-grey-light);
    --bs-btn-disabled-bg: var(--ti-grey-light);
    --bs-btn-disabled-border-color: var(--ti-grey-light)
}

.excercise-section .results>img {
    margin-top: 20px;
    text-align: center;
    width: 200px;
    margin: 0 auto;
    display: block
}

.excercise-section .correct,
.excercise-section .wrong {
    background: #20a842;
    display: none;
    padding: 30px;
    position: absolute;
    top: 0;
    width: 100%
}

.excercise-section .correct span {
    color: #fffcf4;
    font-size: 24px;
    text-transform: uppercase
}

.excercise-section .wrong {
    background: #A90E12
}

.excercise-section .wrong span {
    color: #fffcf4;
    font-size: 24px;
    text-transform: uppercase
}

.excercise-section .wrong img {
    margin-top: -7px
}

@media only screen and (min-width: 480px) {
    .excercise-section .valider .ui-tabs .ui-tabs-panel .answer {
        width: 60%
    }

    .excercise-section .valider .valider-btn {
        width: 40px;
        height: auto
    }

    .excercise-section .valider .valider-btn span {
        font-size: 25px
    }

}

@media only screen and (min-width: 1200px) {

    .excercise-section .valider .ui-tabs .ui-tabs-panel {
        padding: 50px 30px;
        width: 78%;
        float: left
    }

    .excercise-section .valider .ui-tabs .ui-tabs-panel .excercise-question img {
        width: auto;
        margin: 0
    }

    .excercise-section .valider .ui-tabs .ui-tabs-panel .answer {
        width: 46%;
        margin: 20px 2%
    }

    .excercise-section .valider .valider-btn {
        right: 0;
        bottom: 0;
        width: 40px
    }

    .excercise-section .valider .valider-btn:first-of-type {
        left: 91.8%
    }

    .excercise-section .result-tab {
        padding: 0
    }

    .excercise-section .result-tab p {
        text-align: left
    }

    .excercise-section .result-tab img {
        text-align: left;
        width: auto;
        margin: 0
    }

    .excercise-section .correct,
    .excercise-section .wrong {
        left: 20%;
        padding: 41.5px 30px;
        width: 80%;
        height: 124px
    }
}

/* TABS */


#tabs.questions {
    display: flex
}

#tabs.questions .tabs-nav {
    list-style: none;
    width: 20%;
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch
}

@media (max-width: 768px) {
    #tabs.questions .tabs-nav {
        display: none
    }
}

#tabs.questions .tabs-nav li {
    color: var(--ti-red-dark);
    background-color: var(--ti-grey-light);

    flex: 1;
    text-transform: uppercase;
    float: none;
    padding: 50px 0;
    display: block;
    text-align: center;
    position: relative;
    margin-bottom: 10px;
    font-weight: normal;
    cursor: pointer;
}

#tabs.questions .tabs-nav li:last-child {
    margin-bottom: 0
}

#tabs.questions .tabs-nav li[aria-selected='true'] {
    background: var(--ti-red-dark);
    color: #fff;
    outline: 0
}

#tabs.questions .tabs-nav li[aria-selected='true']:after {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid var(--ti-red-dark);
    content: "";
    display: block;
    height: 20px;
    margin: 0 auto;
    width: 20px;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999
}

#tabs.questions .results-panel {
    display: none
}

#tabs.questions .correct {
    text-align: left
}

#tabs.questions .correct span {
    background: url("/Areas/LesTutosMaths/assets/img/correctanswer.jpg") left no-repeat;
    padding-left: 50px
}

#tabs.questions .wrong {
    text-align: left
}

#tabs.questions .wrong span {
    background: url("/Areas/LesTutosMaths/assets/img/wronganswer.jpg") left no-repeat;
    padding-left: 50px
}

#tabs.questions .tabpanel {
    width: 80%;
    padding: 50px 30px;
    display: block
}

@media (max-width: 768px) {
    #tabs.questions .tabpanel {
        width: 100%
    }
}

#tabs.questions .tabpanel[aria-hidden='true'] {
    display: none
}

#tabs.questions .tabpanel .results {
    text-align: left;
    display: none;
    font-size: 1.1em;
    padding: 100px 0 20px 0
}

#tabs.questions .tabpanel .results p {
    text-align: left
}

#tabs.questions .tabpanel .question {
    font-size: 18px;
    text-align: left;
    margin: 0 2%
}

#tabs.questions .tabpanel .question span {
    font-size: 16px;
    display: block;
    margin-top: 15px
}

#tabs.questions .tabpanel .answers {
    display: flex;
    width: 100%;
    font-size: 16px;
    color: #333;
    flex-wrap: wrap
}

@media (max-width: 768px) {
    #tabs.questions .tabpanel .answers {
        display: block
    }
}

#tabs.questions .tabpanel .answers .answer {
    width: 46%;
    margin: 2%;
    flex: none;
    border: 1px solid var(--ti-grey-light);
    border-radius: 0.5em;
    text-align: center;
    padding: 20px 0
}

@media (max-width: 768px) {
    #tabs.questions .tabpanel .answers .answer {
        width: 100%
    }
}

#tabs.questions .tabpanel .answers .answer img {
    max-width: 100% !important
}

#tabs.questions .tabpanel .answers .answer label {
    margin-left: 10px
}

/* SIDEBAR */

ul#sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 1em;
}

ul#sidebar-list .sidebar-list-title {
    font-size: 1.5em;
    font-weight: 500;
    color: var(--ti-black-1);
    margin-bottom: 0.25em;
}

ul#sidebar-list .sidebar-list-title:not(:first-child) {
    margin-top: 1em;
}

ul#sidebar-list .sidebar-item a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;

    padding: 10px 20px;
    text-decoration: none;
    border-bottom: 1px solid var(--ti-grey-light);

    transition: background-color var(--timing);
}

ul#sidebar-list .sidebar-item a:hover {
    background-color: var(--ti-grey-light);
}


ul#sidebar-list .sidebar-item:last-child a {
    border-bottom: none
}

ul#sidebar-list .sidebar-item a .sidebar-item-thumb {
    position: relative;
    margin-right: 10px;
}

ul#sidebar-list .sidebar-item a .sidebar-item-thumb img {
    height: 5rem;
    border: 1px solid var(--ti-grey-light);
    display: block;
}

ul#sidebar-list .sidebar-item a .sidebar-item-thumb svg {
    /* center vertically and horizontally */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 3.5em;
    height: 3em;

    /* black outline */
    stroke: var(--ti-black-1);
    stroke-width: 0.1em;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: var(--ti-white);

    transition: fill var(--timing);
}

ul#sidebar-list .sidebar-item a .sidebar-item-thumb.current svg {
    stroke: transparent;
}   

ul#sidebar-list .sidebar-item a .sidebar-item-thumb.current::before {
    /* red circle with white border to go behind the svg */
    content: "";
    position: absolute;
    top: 50%;
    left: 49%;
    transform: translate(-50%, -50%);
    width: 3em;
    height: 3em;
    border-radius: 50%;
    border: 0.1em solid var(--ti-white);
    background-color: var(--ti-red);
}


ul#sidebar-list .sidebar-item a .sidebar-item-title {
    color: var(--ti-black-3);
    font-size: 1.1em;
    font-weight: 500;
    margin-bottom: 0.25em;
}

ul#sidebar-list .sidebar-item a .sidebar-item-difficulty {
    color: var(--ti-black-1);
    font-size: 0.9em;
    font-weight: 500;
    margin-bottom: 0.25em;
    display: flex;
    align-items: center;
}

/* TUTORIAL CONTENT */

.lesson-video {
    border: 1px solid var(--ti-grey-light);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 0.5em 1em;
}

.lesson-header {
    text-align: center;
}

/* SIDE CALCULATOR */

#toggleCalc {
    position: fixed;
    bottom: 0;
    right: 0;
    margin: 1em;

    z-index: 5000;

    --size: 5rem;
    height: var(--size);
    width: var(--size);

    font-size: calc(var(--size) * 0.5);

    padding: 0.1em;

}

#sideCalculatorContainer>#vertical-align-helper {
    height: 100%;

    display: grid;
    align-items: center;
}

#sideCalculatorContainer {
    z-index: 2500;
}

div.calculatorDiv {
    border-radius: 0.85em !important;
    transition: all 0.2s;
}

div.calculatorDiv:focus {
    outline: none !important;
}

@media (max-width: 1199.98px) {


    #sideCalculatorContainer {
        display: none !important;
    }

    #toggleCalc {
        display: none !important;
    }
}

/* FAQ */

.faq-item {
    margin-left: 2em;
}

.section-wrapper:not(:last-child) .faq-item:last-child {
    margin-bottom: 7.5em;
}

.faq-header button {
    appearance: none;
    position: relative;

    border: none;
    border-bottom: 1px solid var(--ti-grey-light);

    background-color: transparent;
    color: var(--ti-black-2);

    font-size: 1.1em;
    font-weight: 500;
    text-align: left;

    padding: 0.5em 0;
    width: 100%;
}

/* plus sign before the header that transforms into a minus when faq item is active */
.faq-header button::before,
.faq-header button::after {
    content: "";
    background-color: var(--ti-red);
    display: inline-block;
    width: 1em;
    height: 0.2em;
    margin-right: 0.5em;
    text-align: center;
    position: absolute;
    left: -2em;
    top: 50%;
    transform: translateY(-50%);
    transition: transform var(--timing);
}

.faq-header button.collapsed::after {
    transform: translateY(-50%) rotate(90deg);
}

.faq-header button::after {
    transform: translateY(-50%) rotate(0deg);
}

.faq-body {
    color: var(--ti-black-2);
    background-color: rgba(var(--ti-grey-light-rgb) , 0.2);
    padding: 0.5em 1.25em;
}

/* LMS LOGIN PAGE */
#notif-div {
    position: fixed;
    top: 0;
    right: 2em;
    z-index: 9999;
    max-width: 300px;
}

#notif-div .vitta-notif {

    border-radius: 0.5em;
    border: 1px solid var(--ti-grey-light);
    border-bottom-width: 3px;
    background-color: var(--ti-white);

    margin: 1em;
    padding: 0.5em 1em;

    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 9999;
} 

#notif-div .vitta-notif.status-success {
    border-bottom-color: #00bf53;
}

#notif-div .vitta-notif.status-error {
    border-bottom-color: var(--ti-red);
}


#login-banner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background-color: #F7F8FA;
}

#login-banner-container img {
    max-width: 100%;
}