@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@100..900&display=swap');

body{
    font-family: "Alexandria",sans-serif!important;
}
header{
    position: fixed;
    top:0;
    z-index: 1000;
    width: 100%;
}

.row > .col-20{
    width:20%;
    flex: 0 0 auto;
}
.row > .col-30{
    width:30%;
    flex: 0 0 auto;
}
.row > .col-40{
    width:40%;
    flex: 0 0 auto;
}

.bg-black{
    background-color:black;
}

.w-65{
    width:65%;
}

.w-40{
    width:40%;
}

main .px-7{
    padding-left:8rem;
    padding-right:8rem;
}
@media only screen and (max-width:800px){
    div.px-7{
        padding-left:1rem!important;
        padding-right:1rem!important;
    }
}
@media only screen and (max-width:1200px){
    div.px-7{
        padding-left:4rem;
        padding-right:4rem;
    }
}

.footer-bg {
    position: relative;
    background: url("/assets/images/backgrounds/bg_footer.jpg") no-repeat;
    background-size: cover;
    background-position: center;
}

.footer-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1;
}

.footer-bg > * {
    position: relative;
    z-index: 2;
}


@media only screen and (max-width:1000px){
    .row > .col-30,
    .row > .col-40,
    .row > .col-20{
        width:100%;
    }
}


footer .footer-social-icons > i,
footer .footer-social-icons > a > i{
    font-size:clamp(3rem, 3vw, 4rem);
}

footer .btn_soumission_footer{
    background-color:unset;
    border:4px solid white;
    border-radius:8px;
    color:white;
    text-decoration: none;
    padding:10px 50px;
    font-size:clamp(1.2rem, 1.2vw , 1.8rem);
    font-weight: 600;
    text-align: center;
}
footer .btn_soumission_footer:hover{
    color:black;
    background-color:white;
}

.border-bottom-footer{
    border-bottom:3px solid white;
}

footer a{
    text-decoration: none!important;
    color:white;
}
header a{
    text-decoration: none!important;
}

header .menu > a{
    font-size:clamp(1rem,1.2vw,1.3rem);
    font-weight: 700;
}

#title-dispo h5{
    font-size: clamp(1rem, 1.2vw, 1.3rem);
}
#title-dispo a{
    font-size: clamp(1.2rem, 1.5vw, 2rem);
}

header .menu > a:hover{
    text-decoration: underline!important;
    text-decoration-color: #1a365c!important;
    text-decoration-thickness: 4px!important;
    text-underline-offset: 12px!important;
}

footer .contact-links{
    font-size:clamp(1.1rem, 1.3vw, 1.5rem);
}

.main-color{
    color:#1a365c!important;
}
.bg-main-color{
    background-color:#1a365c!important;
}

.bg-main-color-transparent{
    background-color:#1a365cf0
}
.bg-white-transparent{
    background-color:#ffffffed
}

.video-title{
    text-shadow: 0px 2px 10px black;
}
main{
    margin-top:-80px;
}
@media only screen and (max-width:1450px){
    main{
        margin-top:unset;
    }
}

#service_title{
    font-size:3rem;
}

main .box{
    border:5px solid #1a365c;
    border-radius:8px;
    /* min-height:400px; */
    height:100%;
    position: relative;
}

@media only screen and (max-width:800px){
    #logo_footer{
        width:100%;
    }
}

#btn_res_service{
    border:5px solid #1a365c;
    border-radius:8px;
    font-size:clamp(1.5rem, 1.5vw, 1.6rem);
    /* padding:10px 100px; */
}
#btn_res_service:hover{
    background-color:#1a365c!important;
    color:white!important;
}
#btn_res_service_2{
    border:5px solid white;
    border-radius:8px;
    font-size:clamp(1.5rem, 1.5vw, 1.6rem);
    /* padding:10px 100px; */
    background-color:transparent;
}
#btn_res_service_2:hover{

}

.bg-about-us{
    position: relative;
    background: url("/assets/images/backgrounds/bg_blanc.jpg") no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
.bg-ressources {
    position: relative;
    background: url("/assets/images/backgrounds/bg_bleu.jpg") no-repeat;
    background-size: cover;
}

.bg-ressources::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1e3868db;
    z-index: 1;
}

.container-fluid.bg-ressources {
    position: relative;
    z-index: 2;
}

.z-1{
    z-index: 1!important;
}

main .box-ressources{
    box-shadow: 3px 4px 10px black;
    cursor: pointer;
}

.border-radius-top-8{
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.border-radius-bottom-8{
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.fullscreen-video-container {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fullscreen-video-container video {
    position: absolute;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index : -1;
}

.fullscreen-video-content {
    position: absolute;
    top:35%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
}

.fullscreen-video-content h1,
.fullscreen-video-content h2{
    text-shadow: 1px 1px 10px black;
}

.fullscreen-video-content h1 {
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 700;
    margin: 0;
    color: #333;
}

main .box h3{
    font-size:clamp(1rem, 1.2vw, 1.5rem);
    min-height:90px;
}
main .box img{
    padding-top:10px;
}

main .box:hover{
    cursor: pointer;
}
main .box-ressources > .col:first-child{
    position: relative;
}
main .box > .box-hidden-content{
    background-color:#18366ed9;
}

main .box-ressources > .col:first-child > .box-hidden-content{
    background-color:#000000c1;
}

main .box > .box-hidden-content,
main .box-ressources > .col:first-child > .box-hidden-content{
    height:100%;
    width:100%;
    display: flex;
    justify-content: center;
    align-items:center;
    position: absolute;
    top:0;
    padding:5px;
    font-size:clamp(0.85rem, 1vw, 1.3rem);
    text-align: center;
    color:white;
    backface-visibility: hidden;
    transition: transform 0.5s, opacity 0.3s ease-in-out;
    transform-style: preserve-3d;
    transform: translateX(10%);
    opacity: 0;
    line-height: 1;
}

main .box > .box-hidden-content.show,
main .box-ressources > .col:first-child > .box-hidden-content.show {
    transform: translateX(0);
    opacity: 1;
}

main .box > .box-hidden-content > p,
main .box-ressources > .col:first-child > p{
    margin-bottom:0;
}

main .box-ressources h4{
    margin-bottom: 0;
    font-size:clamp(1rem, 1.2vw, 1.4rem);
}

main .box-about-us{
    background-color:#8a8d8f;
    color:white;
    clip-path: polygon(5% 0%, 140% 0%, 90% 100%, -40% 100%);
}

main .box-about-us > .row > div > h1{
    border-bottom:4px solid white;
    padding-bottom:20px;
}

main .box-about-us > .row > div > .content > p{
    font-size:clamp(1rem, 1.4vw, 1.4rem);
    padding-bottom:10px;
}

.bg-about-us img{
    width:21%;
    min-width:300px;
    border-radius :10px;
    position: absolute;
    top:50%;
    right:3%;
    transform:translate(-50%,-50%);
    filter: drop-shadow(1px 1px 5px black);
}

@media only screen and (max-width:1200px){
    main .box-about-us{
        clip-path: unset;
    }
}

main .box-contact{
    color:#1a365c;
    border-radius:8px;
}

.row-contact > .contact-first-col i{
    font-size:clamp(3rem, 3vw, 5rem);
}
.row-contact > .contact-first-col a{
    font-size:clamp(1.5rem, 2vw, 2.5rem);
    text-decoration: none;
}

.row-contact > .contact-third-col > form input,
.row-contact > .contact-third-col > form textarea{
    color:gray;
    font-size:clamp(1.2rem, 1.3vw, 1.4rem);
    font-weight: 300;
    padding:15px 20px;
    border:1px solid #1a365c;
}

.row-contact > .contact-third-col > form button{
    font-size:clamp(1.2rem, 1.3vw, 1.4rem);
    padding:10px 20px;
    border:3px solid #1a365c;
    border-radius:8px;
}

.row-contact > .contact-third-col > form button:hover{
    background-color: #1a365c!important;
    color:white!important;
}

.row-contact > .contact-second-col > div{
    border-left:3px solid gray;
}
.row-contact > .contact-second-col > div > span{
    margin-left:-68px;
}

@media only screen and (max-width:768px){
    .row-contact > .contact-second-col > div{
        border-top:3px solid gray;
        margin-top:50px;
        border-left:unset;
        margin-bottom:50px;
    }
    .row-contact > .contact-second-col > div > span{
        margin-top:-100px;
        margin-left:unset;
        text-align: center;
        width:20%;
    }
}

.to-top{
    border:3px solid #1a365c;
    border-radius:8px;
    padding:5px 20px;
    position: fixed;
    bottom:0;
    right:0;
    z-index: 1111;
    cursor: pointer;
    display: none;
}

#modal_reserver_service .btn-close,
#modal_louer_service .btn-close{
    --bs-btn-close-color: #fff!important;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e")!important;
}

.btn_modal_submit{
    color:white;
    border:3px solid white;
    border-radius:8px;
    background-color: transparent;
    font-size:clamp(1rem, 1.2vw, 1.3rem);
    font-weight: bold;
}
.btn_modal_submit:hover{
    background-color: white;
    color:#1a365c;
}

#btn_res_service_2:hover{
    background-color: white;
    color:#1a365c!important;
}

.grecaptcha-badge{
    display: none;
}

.modal-dialog-scrollable .modal-body{
    overflow: clip!important;
}

#menu_mobile{
    height:200dvh;
    overflow: clip;
    display: none;
    width: 100%;
    position: absolute;
    top:0;
}

#menu_mobile ul{
    list-style: none;
}
#menu_mobile i{
    font-size:4rem;
}

@media only screen and (max-width:500px){
    .logo_header{
        width:150px!important;
    }
}
@media only screen and (max-width:800px){
    .fullscreen-video-container{
        height: 80dvh;
    }
}
