@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');


body {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    color: #ebebeb;
    background-color: #000;
}
a{
    color: #ebebeb;
    text-decoration: none;
    transition: 0.3s;
}
a:hover{
    color: #FFFF00;
    text-decoration: none;
}
.btn{
    border-radius: 25px;
}
.btn-kwan{
    border-radius: 25px;
    color: #000;
    border: 1px solid #FFFF00;
    background-color: #FFFF00;
    padding: 5px 25px;
    text-decoration: none;
}
.btn-outline-kwan{
    border-radius: 25px;
    color: #FFFF00!important;
    border: 1px solid #FFFF00!important;
    padding: 5px 15px;
    transition: 0.3s;
}
.btn-outline-kwan:hover{
    color: #000!important;
    background-color: #FFFF00;
}
.text-kwan{
    color: #FFFF00;
}
.btn-warning{
    border: 1px solid #FFFF00!important;
    background-color: #FFFF00!important;
    color: black!important;
}
.btn-outline-warning{
    border-color: #FFFF00;
    color: #FFFF00;
}
.btn-outline-warning:hover{
    border-color: #FFFF00;
    background-color: #FFFF00;
    color: #000;
}
input:focus{
    border-color: #FFFF00!important;
    border-width: 2px!important;
    box-shadow: none!important;
}
.section-title{
    position: relative;
    z-index: 2;
}



/*
** Header
*/
header{
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
}
.navigation{
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #fff;
}
.navigation-scroll{
    background-color: #000;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
    color: #fff;
    border-bottom: 1px solid #111;
}
.navigation-items{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navigation-item a{
    font-size: 16px;
    font-weight: 500;
    color: inherit;
    text-decoration: none;
    transition: 0.3s;
    border-bottom: 1px solid transparent;
}
.navigation-item a:hover{
    color: #FFFF00;
    border-bottom: 1px solid #FFFF00;
}
.navigation-item-active{
    color: #FFFF00!important;
    border-bottom: 1px solid #FFFF00!important;
}
.navigation-item .btn-warning{
    padding: 5px 30px;
}
.navigation-item-left{
    display: flex;
    justify-content: space-between;
    width: 40%;
}
.navigation-item-left a{
    margin-right: 15px;
}
.navigation-item-right{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 40%;
}
.navigation-item-right a{
    margin-left: 20px;
}
.navigation-logo {
    text-align: center;
    width: 20%;
}
.navigation-logo img{
    height: 90px;
    transition: 0.3s;
}
.navigation-logo a{
    border: none!important;
}
.navigation-scroll .navigation-logo img {
    animation: scaleOut 0.5s forwards;
}
@keyframes scaleOut {
    from {
        height: 90px;
    }
    to {
        height: 60px;
    }
}
#logo-black{
    display: inline;
}
#logo-yellow{
    display: none;
}
.page-header{
    background-image: url("/assets/images/banner.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 150px;
    min-height: 250px;
    color: #fff;
    text-align: center;
}
.page-header .col-md-12{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.page-header .col-md-12 a{
    color: #fff;
    text-decoration: none;
}
.page-header .col-md-12 a:hover{
    color: #FFFF00;
}
.page-header .breadcrumb-item + .breadcrumb-item::before {
    color: #fff;
}
.page-header .col-md-12 li{
    color: #ebebeb;
}






/*
** Home banner
*/
.banner{
    width: 100%;
    padding-top: 150px;
}
.banner-text {
    margin-top: 100px;
}
.banner-text h1{
    font-size: 47px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 30px;
}
.banner-text h1 span{
    color: #FFFF00;
}
.banner-text p {
    margin-bottom: 30px;
}
.banner-buttons .btn{
    font-weight: 500;
    padding: 7px 30px;
}
.banner-images{
    display: flex;
    justify-content: start;
    gap: 20px;
}
.banner-image{
    cursor: pointer;
    position: relative;
    overflow: hidden;
    border-radius: 25px;
}
.banner-image img{
    width: 100%;
    max-width: 200px;
    height: 530px;
    object-fit: cover;
    border-radius: 25px;
}
.banner-image-overlay{
    position: absolute;
    top: -120%;
    left: -120%;
    z-index: 2;
    width: 120%;
    height: 120%;
    background-color: rgba(255, 255, 0, 0.8);
    transition: 0.7s;
    border-radius: 25px;
}
.banner-image:hover .banner-image-overlay {
    top: 0;
    left: 0;
}
.banner-image-text{
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 10px;
    z-index: 3;
    text-transform: uppercase;
    font-size: 19px;
    font-weight: 900;
    color: #FFFF00;
    display: flex;
    justify-content: center;
    text-align: center;
    font-family: "Public Sans", sans-serif;
    -webkit-text-stroke: 1px black;
}
.banner-full-img{
    width: 100%;
}
.banner-kwan-kids-img{
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 25px;
}


/*
** Services
*/
.home-services{
    margin-top: 70px;
}
.home-services .section-title{
    margin-bottom: 30px;
}
.service-image{
    width: 100%;
}
.service-horizontal-card{
    width: 100%;
    background-color: #111;
    border-radius: 25px;
    display: flex;
    align-items: center;
    justify-content: start;
    margin-bottom: 30px;
}
.shc-image{
    width: 40%;
}
.shc-image img{
    width: 100%;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
}
.shc-text{
    width: 60%;
    padding: 5px 15px;
}
.shc-text p{
    margin: 5px 0!important;
}
.shc-text .btn{
    padding: 5px 25px;
}

.team-section{
    margin-top: 50px;
}
.service-vertical-card{
    width: 100%;
    background-color: #111;
    border-radius: 25px;
    display: flex;
    align-items: center;
    justify-content: start;
    flex-direction: column;
    margin-bottom: 30px;
}
.svc-image{
    width: 100%;
}
.svc-image img{
    width: 100%;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
}
.svc-text{
    width: 100%;
    padding: 10px 15px;
}





/*
** About
*/
.about-page{
    margin-top: 70px;
}
.about-page h5{
    margin-top: 30px;
}
.about-page .service-horizontal-card h5{
    margin-top: 0;
}
.about-page .service-horizontal-card p{
    font-size: 13px;
}
.about-page p{
    margin-bottom: 0;
}
.about-card{
    background-color: #121212;
    padding: 30px;
    border-radius: 25px;
}
.about-image{
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
    width: 100%;
    height: 420px;
    object-fit: cover;
    max-width: 500px;
    border-radius: 25px;
}
.home-about{
    margin-top: 70px;
}
.kk-about-image{
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
    width: 100%;
    max-width: 600px;
    border-radius: 25px;
}

/*
** Gallery
*/
.gallery-page{
    margin-top: 70px;
}
.gallery-img{
    display: block;
    margin-bottom: 25px;
}
.gallery-img img{
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 25px;
}


/*
** BLOG
*/
.blog-page{
    margin-top: 70px;
}
.blog-card {
    margin-bottom: 25px;
}
.blog-card img{
    width: 100%;
    height: 500px;
    object-fit: cover;
    margin-bottom: 10px;
    border-radius: 25px;
}
.blog_post_card{
    background-color: #121212;
    padding: 30px;
    border-radius: 25px;
}
.home-blog{
    margin-top: 70px;
}
.home-blog .section-title{
    margin-bottom: 30px;
}







/*
** Contacts
*/
.contacts-page{
    margin-top: 30px;
}
.home-contacts{
    margin-top: 70px;
}
.contacts-page .section-title{
    margin-bottom: 30px;
}
#map {
    width: 100%;
    height: 500px;
    margin-top: 20px;
    background-color: #fff;
    border-radius: 20px;
    color: #121212;
    margin-bottom: 30px;
}
.contacts-form{
    border: 1px solid #ebebeb;
    border-radius: 25px;
    padding: 30px;
}
.contacts-form input{
    border-radius: 25px;
}
.contacts-form .btn-kwan {
    width: 50%;
    height: 49px;
    font-size: 15px;
    font-weight: 500;
}
.contacts-item{
    border: 1px solid #ebebeb;
    border-radius: 25px;
    padding: 30px;
}
.contacts-items{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 25px;
}
.gm-style-iw-d{
    margin-top: -30px;
}














/*
** Footer
*/
footer{
    margin-top: 100px;
}
footer a:hover{
    color: #FFFF00!important;
}
.footer-social svg {
    width: 25px;
    height: 25px;
}
.footer-social svg path{
    fill: white;
    transition: 0.3s;
}
.footer-social svg:hover path{
    fill: #FFFF00!important;
}
.footer-contacts{

}


/*
** Auth page
*/
.auth-page {
    padding-top: 175px;
    padding-bottom: 100px;
    width: 100%;
}
.auth-page .row {
    display: flex;
    justify-content: center;
}
.auth-form {
    background-color: #111111;
    padding: 30px 55px;
    border: 1px solid #121212;
    border-radius: 25px;
    text-align: center;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .2);
}
.auth-form .logo {
    margin-bottom: 25px;
}
.auth-form .logo img {
    width: 140px;
}
.auth-form h4 {
    margin-bottom: 25px;
    font-size: 24px;
}
.auth-form .auth-field {
    position: relative;
}
.auth-form .auth-field input[type="text"] {
    margin: 30px 0;
    height: 50px;
    border-radius: 35px;
    border: 1px solid #FFFF00;
    background-color: #111111;
    padding-left: 65px;
    color: #fff;
}
.auth-form .auth-field input[type="email"] {
    margin: 30px 0;
    height: 50px;
    border-radius: 35px;
    border: 1px solid #FFFF00;
    background-color: #111111;
    padding-left: 65px;
    color: #fff;
}
.auth-form .auth-field input[type="password"] {
    margin: 30px 0;
    height: 50px;
    border-radius: 35px;
    border: 1px solid #FFFF00;
    background-color: #111111;
    padding-left: 65px;
    color: #fff;
}
.auth-form .auth-field input::placeholder {
    color: #ccc;
}
.auth-form .auth-field span {
    position: absolute;
    top: 14px;
    left: 20px;
}
.auth-form .auth-field span img {
    width: 25px;
}
.auth-form .auth-action button {
    height: 50px;
    border-radius: 25px;
    font-size: 16px;
}
.auth-form .auth-forgot a {
    text-decoration: none;
    border-bottom: 1px solid #434343;
}
.auth-page ul li {
    text-align: left;
}
.register-field h6 {
    text-align: center;
    font-weight: 100;
}
.auth-check-forgot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.auth-check-forgot .form-check {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.auth-field-checkbox {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.auth-field-checkbox label {
    margin-top: 2px;
}
.auth-field-checkbox a {
    border-bottom: 1px solid #434343;
}
.auth-form .auth-field input[type="checkbox"] {
    margin: 0;
    height: 20px!important;
    width: 20px!important;
    border-radius: 5px;
    border: 1px solid #FFFF00;
    background-color: #111111;
    padding-left: 0;
    margin-right: 10px;
}
.auth-form .auth-field input[type="checkbox"]:checked {
    background-color: #FFFF00 !important;
    border-color: #FFFF00 !important;
}
.auth-form .auth-field label {
    text-align: left;
    line-height: 1;
}



/*
** Modal
*/
#modalConsultation{
    margin-top: 70px;
}
#modalConsultation .modal-content {
    padding: 10px 0;
    border-radius: 25px;
}
#modalConsultation .form-floating input{
    border-radius: 25px;
}
#modalConsultation .modal-footer {
    display: flex;
    align-items: center;
    justify-content: center;
}
#modalConsultation .btn {
    width: 50%;
    height: 45px;
    font-size: 15px;
    font-weight: 500;
}



/*
** Mobile Navigation
*/
.navigation-menu {
    display: none;
}
.navigation-menu img{
    height: 50px;
}
#modalMobileNavigation .modal-dialog{
    margin: 0;
    margin-left: auto;
    width: 50%;
}
#modalMobileNavigation .modal-content{
    border-radius: 0;
    height: 100vh;
    padding: 25px 15px;
    background-color: #111;
    position: relative;
}
.mobileNavModal{
    position: relative;
}
.mnav-logo {
    text-align: center;
    margin-bottom: 50px;
}
.mnav-logo img{
    max-height: 100px;
    max-width: 100%;
}
.mnav-links{
    display: flex;
    flex-direction: column;
}
.mnav-links a{
    display: flex;
    color: #fff;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #2b2b2b;
    padding: 7px 0;
    text-decoration: none;
}
.mnav-close-btn{
    width: 60px;
    height: 30px;
    background-color: #111;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    position: absolute;
    top: 50px;
    left: -50px;
    display: flex;
    align-items: center;
    justify-content: start;
    font-size: 24px;
    padding-left: 5px;
}
.mnav-close-btn svg{
    fill: white;
    width: 27px;
    height: 27px;
}
.mnav-btn{
    position: absolute;
    width: 100%;
    bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mnav-btn .btn{
    max-width: 100%;
    min-width: 50%;
}



/*
** Course page
*/
.course-page{
    margin-top: 70px;
}
