/* ============================================
   SITE VARIABLES / COLOR PALETTE / TYPOGRAPHY
===============================================

Colors:
    Blue:  #113F75
    Yellow: #F4E04D

Fonts:
    Buttons:          "Madimi One", serif;
    Long blurbs:      "KoHo", serif;
    Titles above blurbs: "Kaisei Decol", serif;
    Big titles/navbar:   "Fira Sans Condensed", serif;

Screen Sizes:
    Small:             576px
    Medium:            768px
    Large:             992px
    Extra Large:       1200px
    Extra Extra Large: 1400px
*/

/* ========================
   NAVBAR STYLES
======================== */

.navbar {
    background-color: #113F75;
    border-bottom: #F4E04D 5px solid;
}

.nav-link {
    color: white;
    font-family: "Fira Sans Condensed", serif;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.2px;
    margin: 0 30px;
}

.nav-link:hover {
    color: #F4E04D;
}

.nav-link:active {
    color: white !important;
}

.active {
    color: #F4E04D !important;
    text-decoration: underline;
}

/* ========================
   HAMBURGER MENU STYLES
======================== */

.navbar-toggler {
    width: 40px;
    height: 30px;
    position: relative;
    transition: .5s ease-in-out;
}

.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
    border: 0;
}

.navbar-toggler span {
    margin: 0;
    padding: 0;
}

.toggler-icon {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background-color: #ffffff;
    border-radius: 1px;
    opacity: 1;
    left: 0;
    top: 10px;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.middle-bar {
    margin-top: 0px;
}

.navbar-toggler .top-bar {
    margin-top: 0px;
    transform: rotate(135deg);
}

.navbar-toggler .middle-bar {
    opacity: 0;
    filter: alpha(opacity=0);
}

.navbar-toggler .bottom-bar {
    margin-top: 0px;
    transform: rotate(-135deg);
}

.navbar-toggler.collapsed .top-bar {
    margin-top: -15px;
    transform: rotate(0deg);
}

.navbar-toggler.collapsed .middle-bar {
    opacity: 1;
    filter: alpha(opacity=100);
}

.navbar-toggler.collapsed .bottom-bar {
    margin-top: 15px;
    transform: rotate(0deg);
}

.container {
    padding: 20px;
}

/* ========================
   INDEX HEADER STYLES
======================== */

.index-header-row {
    height: 92.5vh;
}

.index-header {
    width: clamp(600px, 70vw, 1200px);
    height: 70vh;
    background: url("imgs/index-header.png");
    background-position: center center;
    background-size: cover;
    margin-top: 120px;
}

.header {
    width: 400px;
    height: 300px;
    background: #113F75;
    border: #F4E04D 5px solid;
    padding: 20px;
    border-radius: 6px;
    box-shadow: #000000 0px 4px 8px 0px, #000000 4px 4px 16px 0px;
}

.header-title {
    color: white;
    font-family: "Kaisei Decol", serif;
    font-size: clamp(35px, 1.5vw, 45px);
}


/* ========================
   INFO SECTION STYLES
======================== */

.info-row {
    margin: 300px 0;
}

.what-image {
    height: 400px;
    width: clamp(600px, 65vw, 900px);
    background: url(classroom-imgs/hallway-2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1;
}

.what-text,
.offer-text,
.staff-text {
    height: clamp(400px, 30vw, 500px);
    width: clamp(350px, 45vw, 500px);
    background: #113F75;
    border: #F4E04D 5px solid;
    border-radius: 6px;
    color: black;
    z-index: 2;
    margin: -100px;
    box-shadow: black 0px 2px 4px 0px, rgb(64, 64, 64) 0px 2px 16px 0px;
}

.offer-image {
    height: 400px;
    width: clamp(600px, 70vw, 900px);
    background: url(imgs/index-course.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1;
}

.staff-image {
    height: 400px;
    width: clamp(600px, 70vw, 900px);
    background: url(imgs/index-staff.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1;
}

.info-title {
    color: white;
    font-family: "Kaisei Decol", serif;
    font-size: clamp(30px, 3vw, 75px);
    margin-bottom: 20px;
}

.info-section {
    background: white;
    margin: 15px;
    padding: 10px;
    font-size: clamp(15px, 1.3vw, 50px);
    font-family: "KoHo", serif;
}

/* ========================
   ROOM / CLASSROOM STYLES
======================== */

.classroom-header-row {
    height: 92.50vh;
}

.classroom-header {
    background: #113F75;
    border: solid 5px #F4E04D;
    height: 400px;
    width: clamp(600px, 70vw, 900px);
    margin-top: 100px;
    box-shadow: #a5a9ae 0px 8px 8px 0px, #a5a9ae 9px 4px 16px 0px;
}

.classroom-row {
    margin-top: 100px;
}

.room-row {
    box-shadow: #a5a9ae 0px 8px 8px 0px, #a5a9ae 9px 4px 16px 0px;
    border-radius: 10px;
}

.roompic {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: 10px 10px 0 0;
    height: 350px;
    color: black;
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: white;
}

.title-heading {
    font-family: "Fira Sans Condensed", serif;
    font-weight: 900;
    font-size: 100px;
}

.description {
    font-family: "KoHo", serif;
    font-size: 14px;
    color: black;
}

.descriptioncroom {
    border: 8px solid #113F75;
    border-radius: 0 0 10px 10px;
    height: 250px;
}

.info-title-class {
    color: white;
    font-family: "Kaisei Decol", serif;
    font-size: clamp(60px, 3vw, 75px);
    margin-bottom: 20px;
}

.modal-content {
    border: solid 5px #113F75;
}

.modal-header {
    border-bottom: none !important;
}

.modal-footer {
    border-top: none !important;
}

.modaltitle {
    font-family: "Kaisei Decol", serif;
}

/* ========================
   CAROUSEL STYLES
======================== */

.carousel {
    border: solid 5px #F4E04D;
}

.c-item {
    height: 480px;
}

.c-img {
    height: 100%;
    object-fit: cover;
}

.carousel-control-prev {
    opacity: 0.9;
}

.carousel-control-prev:hover {
    opacity: 0.9;
}

.carousel-control-next {
    opacity: 0.9;
}

.carousel-control-next:hover {
    opacity: 0.9;
}

.carousel-control-prev-icon {
    background-color: #113F75;
    opacity: 0.75;
    border-radius: 100%;
    transition: 0.35s;
    width: 50px;
    height: 50px;
}

.carousel-control-prev-icon:hover {
    opacity: 1;
    border-radius: 100%;
    transition: 0.35s;
}

.carousel-control-next-icon {
    background-color: #113F75;
    opacity: 0.75;
    border-radius: 100%;
    transition: 0.35s;
    width: 50px;
    height: 50px;
}

.carousel-control-next-icon:hover {
    opacity: 1;
    border-radius: 100%;
    transition: 0.35s;
}

/* ========================
   COURSES PAGE STYLES
======================== */

.course-header-row {
    height: 97.5vh;
    margin-top: 50px;
}

.course-header {
    background: #113F75;
    border: solid 5px #F4E04D;
    height: 400px;
    width: clamp(600px, 70vw, 900px);
    margin-top: 100px;
    box-shadow: #a5a9ae 0px 8px 8px 0px, #a5a9ae 9px 4px 16px 0px;
}

.info-title-course {
    color: white;
    font-family: "Kaisei Decol", serif;
    font-size: clamp(60px, 3vw, 75px);
    margin-bottom: 20px;
}

.btn-row {
    position: relative;
    top: clamp(-175px, 20vh, -200px);
    padding: 20px;
    border-radius: 6px;
}

.course-btn,
.club-btn {
    width: 300px;
    height: 150px;
    font-size: clamp(20px, 4vw, 33px);
}

.course {
    background: #113F75;
    margin: 20px;
    padding: 20px;
    border: #F4E04D solid 5px;
    border-radius: 6px;
    box-shadow: #a5a9ae 0px 8px 8px 0px, #a5a9ae 9px 4px 16px 0px;
}

.course-image {
    height: 400px;
    padding: 20px;
    object-fit: cover;
}

.course-name {
    color: white;
    font-family: "Kaisei Decol", serif;
    font-weight: 900;
    font-size: clamp(30px, 3vw, 40px);
}

.course-teachers {
    font-family: "Fira Sans Condensed", serif;
    color: #F4E04D;
}

.course-description {
    font-family: "KoHo", serif;
    color: #ffffff;
}

.course-more-info {
    font-family: "Kaisei Decol", serif;
    color: #ffffff;
}

.course-requirements {
    color: #F4E04D;
}

.bulletwords {
    font-family: "KoHo", serif;
    color: #ffffff;
}

.course-additional {
    font-family: "Kaisei Decol", serif;
    color: #ffffff;
    font-weight: 900;
    font-size: clamp(30px, 3vw, 40px);
}

.courses-btn {
    position: relative;
    top: 10px;
}

/* ========================
   STAFF PAGE STYLES
======================== */

.staff-header-row {
    height: 92.5vh;
}

.staff-header {
    background: #113F75;
    border: #F4E04D 5px solid;
    border-radius: 6px;
    height: 400px;
    width: clamp(600px, 70vw, 800px);
    z-index: 1;
    box-shadow: #a5a9ae 0px 8px 8px 0px, #a5a9ae 9px 4px 16px 0px;
}

.staff-header-text {
    font-size: clamp(60px, 3vw, 75px);
    color: white;
    font-family: "Kaisei Decol", serif;
}

.staff-hover-section {
    height: 100px;
    width: clamp(300px, 45vw, 400px);
    background: #F4E04D;
    border-radius: 6px;
    z-index: 2;
    position: relative;
    bottom: 70px;
    box-shadow: black 0px 2px 4px 0px, rgb(64, 64, 64) 0px 2px 16px 0px;
}

.staff-hover-section-text {
    font-size: 22px;
    font-weight: 700;
    font-family: "KoHo", serif;
    color: #113F75;
}

.staff-row {
    margin-top: 50px;
}

.teacher-photo {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 100%;
    width: 325px;
    height: 400px;
    border: #F4E04D 6px solid;
    box-shadow: #113F75 0px 8px 8px 0px, #113F75 9px 4px 16px 0px;
    position: relative;
    display: block;
    filter: brightness(0.9);
}

.card {
    border-radius: 100%;
    overflow: hidden;
    border: 8px solid #113F75;
    position: relative;
    transition: 1s;
}

.card-body {
    width: 100%;
    height: 100%;
    top: 0;
    right: -100%;
    position: absolute;
    backdrop-filter: blur(10px);
    border-radius: 15px;
    color: #fff;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: 1s;
}

.card:hover .card-body {
    right: 0;
    transition: 1s;
}

.card-title {
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 1.8em;
    font-weight: 500;
}

.card-info {
    font-size: 1em;
}

.teacher-name {
    font-family: "Madimi One", serif;
    color: black;
}

.teacher-email {
    font-family: "KoHo", serif;
    color: black;
}

.teacher-title {
    font-family: "Kaisei Decol", serif;
    font-size: 32px;
    text-decoration: underline;
}

.teacher-andre-years,
.teacher-andre-fun,
.teacher-fun,
.teacher-years {
    font-family: "KoHo", serif;
    font-size: 16px;
    font-weight: 800;
}

.course-text {
    font-family: "Kaisei Decol", serif;
    font-size: 16px;
    list-style-type: none;
}

/* ========================
   BUTTON STYLES
======================== */

.btn {
    background-color: #F4E04D;
    font-family: "Madimi One", serif;
    color: #113F75;
    margin: 0 auto;
    text-decoration: none;
}

.btn:hover {
    background: #ffe520;
    color: #113F75;
    box-shadow: 0 4px 8px 0 rgb(0, 0, 0), 0 6px 20px 0 black;
}

.btn:active {
    background: #ffe520 !important;
    color: #113F75;
    box-shadow: none;
    border: none;
}

/* ========================
   BACK TO TOP BUTTON
======================== */

#myBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    border: none;
    outline: none;
    background-color: #113F75;
    color: white;
    border: 3px #F4E04D solid;
    cursor: pointer;
    padding: 15px;
    border-radius: 10px;
    font-size: 18px;
    font-family: "Madimi One", serif;
    transition: all 0.3s;
}

#myBtn:hover {
    transition: 0.3s;
    box-shadow: 0 4px 8px 0 rgb(0, 0, 0), 0 6px 20px 0 black;
}

#myBtn:active {
    transition: 0.3s;
    box-shadow: none;
}

/* ========================
   FOOTER STYLES
======================== */

footer {
    background-color: #113F75;
    color: #fff;
    margin-top: 75px;
    padding: 20px 50px;
}

.footer-text {
    font-size: 18px;
    font-family: "Kaisei Decol", serif;
    font-weight: 100 !important;
}

.footer-tech-ed {
    font-family: "Fira Sans Condensed", serif;
    font-weight: 900;
    margin: 0;
    font-size: clamp(40px, 4vw, 150px);
}

.website,
.place,
.email,
.phone {
    font-size: clamp(20px, 2vw, 150px) !important;
}

.link {
    color: #F4E04D !important;
    font-family: "Fira Sans Condensed", serif;
    transition: 0.2s;
}

.link:hover {
    color: #b3a11e !important;
    transition: 0.2s;
}

.footer-image {
    width: 150px;
    height: 150px;
}


/* ========================
   MEDIA QUERIES
======================== */

/* Large screens (≥992px) */
@media (min-width: 992px) {
    .what-image {
        height: 600px !important;
        width: clamp(300px, 50vw, 800px) !important;
        position: relative;
        left: 50px;
    }

    .what-text {
        width: clamp(350px, 30vw, 500px) !important;
        height: clamp(400px, 30vw, 500px) !important;
        position: relative;
        left: 50px;
    }

    .offer-image {
        height: 600px !important;
        width: clamp(300px, 50vw, 800px) !important;
        position: relative;
        right: 50px;
    }

    .offer-text {
        width: clamp(350px, 30vw, 500px) !important;
        height: clamp(400px, 30vw, 500px) !important;
        position: relative;
        right: 50px;
    }

    .staff-image {
        height: 600px !important;
        width: clamp(300px, 50vw, 800px) !important;
        position: relative;
        left: 50px;
    }

    .staff-text {
        width: clamp(350px, 30vw, 500px) !important;
        height: clamp(400px, 30vw, 500px) !important;
        position: relative;
        left: 50px;
    }

    .info-section {
        font-size: clamp(15px, 1.2vw, 20px) !important;
    }

    .footer-image {
        width: 350px !important;
        height: 350px !important;
    }

    .roompic {
        border-radius: 10px 0 0 10px;
    }

    .descriptioncroom {
        border-radius: 0 10px 10px 0;
        height: 350px;
    }

    .course-image {
        height: 300px;
    }
}

/* ========================
   CUSTOM SCROLLBAR STYLES
======================== */

/* Width */
::-webkit-scrollbar {
    width: 15px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #dddcdc;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #F4E04D;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #a7982b;
}
