/*STYLE */
@font-face {
    font-family: 'Acumin Pro Wide';
    src: url('../fonts/acumin-pro-wide-medium-webfont.woff2') format('woff2'),
         url('../fonts/acumin-pro-wide-medium-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;

}
@font-face {
    font-family: 'Acumin Pro Wide';
    src: url('../fonts/acumin-pro-wide-webfont.woff2') format('woff2'),
         url('../fonts/acumin-pro-wide-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;

}
@font-face {
    font-family: 'Acumin Pro Wide';
    src: url('../fonts/acumin-pro-wide-extralight-webfont.woff2') format('woff2'),
         url('../fonts/acumin-pro-wide-extralight-webfont.woff') format('woff');
    font-weight: 300;
    font-style: normal;

}
html,
body{
    position: relative;
    height: 100%;
    width: 100%;
    color: #092034;
    font: normal normal 300 3.8vw/1.35 'Acumin Pro Wide';
}
body{
    overflow-x: hidden;
    widows: 3;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: antialiased;
	font-smoothing: antialiased;
}
footer>div:before{
    content:'';
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(9,32,52,.3);
}
footer a{
    display: inline-block;
    margin: 17px auto;
    text-decoration: none;
    color: rgba(9,32,52,.3);
    font: normal normal normal 3vw/1.25 'Acumin Pro Wide';
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{
    padding-left: 35px;
    padding-right: 35px;
}
#loader{
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    right: 0;
    bottom:0;
    background: #FFF url(../img/loader.gif) 50% 50% no-repeat;
}
body.loaded #loader{
    display: none;
}
#contenu{
    width: 100vw;
    height: auto;
    overflow-x: hidden;
}
strong{
    font: normal normal 500 14px/20px 'Acumin Pro Wide';
}
#nuages,
#dummies{
    display: none;
}
#logo{
    display: block;
    width: 80%;
    max-width: 100%;
    height: 0;
    padding: 48% 0 0;
    background: url(../img/logo-focus.png) 50% 50%/contain no-repeat;
    font-size: 0;
    color: transparent;
}
body.scrolled #logo{
    background-image: url(../img/mobile/logo-focus.png);
}
.centered{
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0;
}
.offcanvas{
    --bs-offcanvas-padding-x: 25px;
}
.offcanvas-body .nav>li{
    list-style: none;
    display: block;
}
.offcanvas-body .nav-item{
    display: inline-block;
    margin: 1vw 0;
    color: #000;
    text-decoration: none;
    font: normal normal normal 24px/30px Marcellus;
}
.offcanvas-footer{
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)
}
.offcanvas-footer img,
.lang img{
    width: 100%;
    max-width: 16px;
    height: auto;
    margin: 0 3px 0 0;
}
.offcanvas-footer img{
    max-width: 12px;
    margin: 0 5px 0 0;
}
.offcanvas-footer a,
.lang a{
    display: inline-block;
    line-height: 1;
    color: inherit;
    text-decoration: none;
    text-transform: uppercase;
    font: normal normal normal 12px/16px 'Acumin Pro Wide';
}
.lang a{
    margin: 0 6.5px;
    font: normal normal medium 12px/16px 'Acumin Pro Wide';
    letter-spacing: 0.24px;
}
#disclaimer{
    display: none;
}
.offcanvas-body .nav-item:hover,
.offcanvas-body .nav-item:focus,
.offcanvas-footer a:hover,
.offcanvas-footer a:focus,
.lang a:hover,
.lang a:focus,
.lang a.active{
    text-decoration: underline;
}
.btn{
    text-transform: uppercase;
    border: 1px #092034 solid;
    border-radius: 40px;
    color: #092034;
    font: normal normal normal 12px/12px 'Acumin Pro Wide';
    letter-spacing: 0.24px;
    background: none;
    padding: 4px 9px;
}
.btn:hover,
.btn:focus{
    color: #FFF;
    background: #092034;
}
#offcanvasContactLabel2{
    position: fixed;
    bottom: .75rem;
    right: .75rem;
    z-index: 2;
}
#offcanvasContactLabel2,
#arlink,
#offcanvasMenuLabel,
.offcanvas-header .btn{
    border-radius: 50%;
    border: 1px #FFF solid;
    width: 45px;
    height: 45px;
    color: transparent;
    background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 240 240' version='1.1' xmlns='http://www.w3.org/2000/svg'><line x1='0' y1='60' x2='240' y2='60' stroke='%23fff' stroke-width='11' stroke-linecap='round'/><line x1='0' y1='130' x2='240' y2='130' stroke='%23fff' stroke-width='11' stroke-linecap='round'/><line x1='0' y1='200' x2='240' y2='200' stroke='%23fff' stroke-width='11' stroke-linecap='round'/></svg>") 50% 50% / 22px no-repeat;
}
#offcanvasContactLabel2{
    border-color: #092034;
    background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 39 39' version='1.1' xmlns='http://www.w3.org/2000/svg'><line x1='9' y1='11' x2='29' y2='11' stroke='%23092034' stroke-width='2' stroke-linecap='round'/><line x1='9' y1='19' x2='29' y2='19' stroke='%23092034' stroke-width='2' stroke-linecap='round'/><path d='M 1 38 L 1 3 L 3 1 L 36 1 L 36 3 L 36 28 L 10 28 L3 38' stroke='%23092034' stroke-width='2' stroke-linecap='round' fill='none'/></svg>") 50% 50% / 22px no-repeat;
}
#arlink{
    background: url(../img/ico-RA.png) 50% 50% / 23px no-repeat;
}
body.scrolled #arlink,
body.scrolled #offcanvasMenuLabel{
    border-color: #092034;
    background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 240 240' version='1.1' xmlns='http://www.w3.org/2000/svg'><line x1='0' y1='60' x2='240' y2='60' stroke='%23092034' stroke-width='11' stroke-linecap='round'/><line x1='0' y1='130' x2='240' y2='130' stroke='%23092034' stroke-width='11' stroke-linecap='round'/><line x1='0' y1='200' x2='240' y2='200' stroke='%23092034' stroke-width='11' stroke-linecap='round'/></svg>") 50% 50% / 22px no-repeat;
}
body.scrolled #arlink{
    background-image: url(../img/mobile/ico-RA.png)
}
.offcanvas-header .btn{
    border-color: #092034;
    background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 240 240' version='1.1' xmlns='http://www.w3.org/2000/svg'><line x1='15' y1='15' x2='225' y2='225' stroke='%23000' stroke-width='11' stroke-linecap='round'/><line x1='225' y1='15' x2='15' y2='225' stroke='%23000' stroke-width='11' stroke-linecap='round'/></svg>") 50% 50% / 22px no-repeat;
    transform: translateX(calc(var(--bs-offcanvas-padding-x) - 15px));
}
.offcanvas-body .nav>li{
    margin: 1vh 0;
}
.swiper-slide{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}
#section-1,
#section-2,
#section-3,
#section-4{
    display: none;
}
h2{
    font: normal normal normal 6vw/1.25 Marcellus;
}
h3{
    font: normal normal normal 4.5vw/1.25 Marcellus;
}
[data-aos=defilement] h2{
    font: normal normal normal 15vw/1.25 'Marcellus'; 
    min-width: max-content;
}
.cloud{
    width: clamp(150px, 84.375vw, 600px);
    padding: clamp(81px, 45.5625vw, 323px) 0 0;
    position: absolute;
    top: var(--top);
    opacity: var(--opacity);
    transform: var(--trans);
    animation: var(--anim);
    background: url(../img/mobile/nuage.png) 0 0 / cover no-repeat;
    will-change: left;
}
.cloud2{
    background: url(../img/mobile/nuage2.png) 0 0 / cover no-repeat;
}
@keyframes animate{
    0%{
        left: -115vw;
    }
    100%{
        left: 115vw;
    }
}
@keyframes animate2{
    0%{
        left: 24vw;
    }
    78%{
        left: 115vw;
    }
    78.00001%{
        left: -115vw;
    }
    100%{
        left: 24vw;
    }
}
@keyframes animate3{
    0%{
        left: 35vw;
    }
    70%{
        left: 115vw;
    }
    70.00001%{
        left: -115vw;
    }
    100%{
        left: 35vw;
    }
}
.couchenuageuse{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
}
#section-5{
    color: #FFF;
    height: 104vh;
    padding-bottom: 4vh;
    text-align: center;
    background: url(../img/mobile/fond.jpg) 50% 50% / cover no-repeat;
}
#section-16 .target,
#section-5 .target,
#section-8 .target,
#section-12 .target{
    position: relative;
    z-index: 1;
}
#section-5 h2{
    font: normal normal normal 11vw/1.25 'Marcellus';
    margin: 10px auto;
}
#section-5:before{
    content: '';
    display: block;
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background: url(../img/mobile/gyrofocus.png) 50% 100% / 35vw no-repeat;
    transform: translateY(-26vh);
}
body.loaded #section-5:before{
    /*animation: 1.8s anim1 .15s ease forwards;*/
}
@keyframes anim1{
    0%{
        transform: translateY(-38vh);
    }
    100%{
        transform: translateY(-26vh);
    }
}
#section-6,
#section-9{
    padding: 50px 0;
}
#section-9,
#section-6{
    height: calc(38vw + 100px);
}
#section-13b{
    height: 38vw;
}
#section-13b h2,
#section-9 h2,
#section-6 h2{
    font: normal normal normal 19vw/1.25 'Marcellus'; 
}
#section-12 img,
#section-7 img{
    width: auto;
    height: 39px;
}
#section-16 img{
    max-width: 28px;
}
#section-12 .col-4 +.col-4 +.col-4 img,
#section-7 .col-6 + .col-6>img{
    width: auto;
    height: 42px;
    margin-top: -3px;
}
#section-7{
    text-align: center;
    padding-bottom: 10vh;
}
#section-16,
#section-8,
#section-12{
    padding-bottom: 10vh;
    background: linear-gradient(0deg, #FFF 0%, #F5EFE9 8%);
    text-align: center;
}
#section-15b .fs-3,
#section-8{
    font: normal normal normal 9vw/1.25 'Marcellus';
}
#section-8 .img{
    position: relative;
}
#section-8 .img>span{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 7px 0 0;
    color: #000;
    font: normal normal normal 8px/1.4 'Acumin Pro Wide';
    text-transform: uppercase;
    text-align: left;
}
#section-8 .move-2.img>span{
    text-align: right;
    right: -15px;
}

#section-11{
    padding-bottom: 10vh;
}
#section-16{
    padding-top: 5vh;
    padding-bottom: 5vh;
}
#section-18b,
#section-15b,
#section-13,
#section-12,
#section-8 .col-12{
    padding-top: 10vh;
    padding-bottom: 10vh;
}
#section-8 img{
    max-width: calc(100% + 15px);
}
#section-8 .col-6 + .col-6>img{
    margin: 100% 0 0 -25%;
}

#section-8 .col-6 + .col-6 .img{
    margin: 100% 0 0 -25%;
}
#section-8 .col-6 + .col-6 + .col-6 .img{
    margin: 0;
}
#section-8 .centered + .target .move-1,
#section-8 .centered + .target .move-2,
#section-8 .centered + .target .move-3{
    transform:translateY(-15vh);
    opacity: 0;
    transition: transform 1s ease .1s, opacity .3s ease;
}
#section-8 .centered + .target .move-3{
    transition: transform 1s ease .4s, opacity .3s ease .3s;
}
#section-8 .centered + .target .move-2{
    transform:translateY(25vh);
}
#section-8 .centered + .target .move-3{
    transform:translateY(25vh);
}
#section-8 .centered.is-in-viewport + .target .move-1,
#section-8 .centered.is-in-viewport + .target .move-2,
#section-8 .centered.is-in-viewport + .target .move-3{
    transform:translateY(0);
    opacity: 1;
    transition: transform 1.25s ease .2s, opacity .3s ease .2s;
}
#section-8 .centered.is-in-viewport + .target .move-3{
    transform:translateY(-15px);
    transition: transform 1.25s ease .4s, opacity .3s ease .5s;
}
#section-8 .centered{
    top: calc(50% - 10vh);
    height: 20vh;
}
#section-8 .small{
    font: normal normal normal 6vw/1.25 Marcellus;
}
#section-11 h2{
    text-shadow: 0 0 3px #FFF;
    transform: translateX(-10vw);
    opacity: 0;
    transition: transform 2.4s ease, opacity .3s ease;
}
#section-11 .centered.is-in-viewport + .target h2{
    transform: translateX(0);
    opacity: 1;
}
#section-15b .move-1,
#section-12 .move-1,
#section-12 .move-2,
#section-12 .move-3,
#section-12 .move-4,
#section-13 img{
    opacity: 0;
    transform: translateY(9vh);
    transition: transform .2s ease .2s, opacity .2s ease;
}
#section-15b .move-1.is-in-viewport,
#section-12 .move-1.is-in-viewport,
#section-12 .move-2.is-in-viewport,
#section-12 .move-3.is-in-viewport,
#section-12 .move-4.is-in-viewport{
    opacity: 1;
    transform: translateY(0);
    transition: transform .2s ease .15s, opacity .2s ease .15s;
}
#decouverte,
#demande-etude,
#section-13-move{
    display: none;
}
#section-15b .large img,
#section-13 img{
    transform: translateX(100vw);
    transition: transform .5s ease .1s, opacity .4s ease .15s;
}
#section-15b .large img{
    transform: translateX(-100vw);
}
#section-15b .large.is-in-viewport img,
#section-13 .centered.is-in-viewport + .target img{
    opacity: 1;
    transform: translate(0);
    transition: transform .3s ease .1s, opacity .2s ease .15s;
}
#section-15b .medium img{
    width: auto;
    height: 41px;
}
#section-15b .small img{
    height: 24px;
    width: auto;
}

#formulaire2{
    position: relative;
    width: calc(100vw - 2 * var(--bs-offcanvas-padding-x));
    height: 80vh;
}
#formulaire2 label,
#formulaire2 .select{
    display: block;
    color: inherit;
    text-decoration: none;
}
#formulaire2 input[type=radio]{
    display: none;
}
.bulle,
#formulaire2 .select>span,
#formulaire2 input[type=radio]+span{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    text-transform: uppercase;
    font: normal normal normal 3.15vw/1.3 'Acumin Pro Wide';
    cursor: pointer;
    background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 240 240' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='120' cy='120' r='119' stroke='%23092034' stroke-width='3' stroke-dasharray='0 14' stroke-linecap='round' fill='transparent'/></svg>") 50% 50% / cover no-repeat;
    border-radius: 50%;
    overflow: hidden;
    padding: 2vw;
}
.bulle:before,
#formulaire2 .select>span:before,
#formulaire2 input[type=radio]+span:before {
    display: block;
    padding-top: 100%;
    content: "";
}
.bulle>div {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font: normal normal normal 4vw/1.3 'Acumin Pro Wide';
    padding: 5vw;
}
.bulle h3{
    font: normal normal normal 12vw/1.3 Marcellus;
}
.radioselect{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
#formulaire2 .etape{
    position: absolute;
    top: 0;
    opacity: 0;
    transition: opacity .3s ease, transform .4s ease;
    left: 0;
    width: 100%;
    pointer-events: none;
}
#formulaire2 .etape.current{
    opacity: 1;
    pointer-events: auto;
}
input:not([type=radio]){
    background: transparent;
    color: #092034;
    border: none;
    border-radius: 0;
    border-bottom: 1px #092034 solid;
    outline: none;
    box-shadow: none;
    padding: .375rem 0;
}
input:not([type=radio]):focus{
    background: #09203410;
    color: #092034;
    box-shadow: none;
    border-color: #092034;
}
.form-control{
    font: normal normal normal 4vw/1.25 'Acumin Pro Wide';
}
.form-control:-moz-placeholder,
.form-control::-moz-placeholder {
  color: #092034;
  text-transform: uppercase;
}
.form-control:-ms-input-placeholder {
  color: #092034;
  text-transform: uppercase;
}
.form-control::-webkit-input-placeholder,
.form-control::placeholder{
  color: #092034;
  text-transform: uppercase;
}
/* FILE UPLOAD */
.file-drop-area{
    position: relative;
    color: #092034;
    background-color: transparent;
    outline: 2px dashed #092034;
    padding: 8vh 4vw;
    text-align: center;
    transition:
    outline-offset 0.2s ease-out,
    outline-color 0.3s ease-in-out,
    background-color 0.2s ease-out;
}
.file-input {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  cursor: pointer;
  opacity: 0;
}
.file-input:focus {
    outline: none;
}
.file-placeholder{
    font-size: 75%;
}
label.checkbox{
    padding-left: 1.5rem;
    font: normal normal 300 3vw/1.5 'Acumin Pro Wide';
}
label.checkbox input{
    margin: 0 -1.5rem;
}
#modal{
    background: #FFFFFFb0;
    padding: 15px 25px;
}
#modal .modal-body{
    padding: 0;
}
#modal .modal-content{
    border-radius: 0;
    background: #000;
    color: #cd9677;
    padding: 30px 25px;
    font: normal normal 700 15px/1.4 'Acumin Pro Wide';
    box-shadow: 0 0 20px rgba(0,0,0,.8);
}
#modal .modal-content img{
    max-width: 35vw
}
#modal button{
    width: 35px;
    height: 35px;
    font-size: 22px;
    position: absolute;
    right: -33px;
    top: -35px;
    border: 0;
    background: #000;
    color: #FFF;
}
#modal h2{
    font: italic normal 700 18px/1.4 'Acumin Pro Wide';
    margin: 0 auto;
    text-align: center;
}
#modal .modal-content a{
    color: #FFF;
    text-decoration: underline;
}
#modal .modal-content a:hover,
#modal .modal-content a:focus{
    color: #cd9677;
    text-decoration: none;
}
