:root {
    --main-color: #2B2B6A;
    --main-font: 'EB Garamond', serif;
    --orange: #ED7D31;
}

/*--------------------------- GENERAL -------------------------------*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.2rem;
    font: inherit;
    vertical-align: baseline;
}

html {
    font-size: 16px;
}

body {
    font-family: var(--main-font);
    font-weight: 400;
    font-size: 1.2rem;
    color: #3D3C3C;
    line-height: 1.7;
    height: 100vh;
}

p {
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

section {
    padding-bottom: 4rem;
}

.sub-title {
    text-align: center;
    font-family: var(--main-font);
    color: var(--main-color);
    font-weight: 600;
    font-size: 3.5rem;
}

.title {
    border-bottom: solid 3px #ED7D31;
    text-align: right;
    padding-top: 5rem;
    margin-bottom: 5rem;
    font-family: var(--main-font);
    color: var(--main-color);
    font-weight: 600;
    font-size: 3.5rem;
    line-height: 1.5;
}

h1 {
    font-family: var(--main-font);
    color: white;
    font-weight: 600;
    line-height: 1.5;
}

b {
    color: #24245F;
    font-weight: 700;
}

#hero, #hero-404 {
    background-image: url(../img/photo_tokyo.jpg);
    background-size: cover;
    height: 1000px;
    background-position: left center;
}

.bloc_left {
    padding-right: 3rem;
}

.bloc_right {
    padding-left: 3rem;
}

.bloc_left, .bloc_right {
    margin-bottom: 3rem;
}

.margin_contact {
    margin: 9rem 10rem;
}

.title-h {
    text-align: left;
    margin-left: auto;
    margin-top: auto;
    font-size: 3.125rem;
    margin-right: 5rem;
    padding-bottom: 5rem;
    padding-right: 10rem;
    padding-left: 40rem;
}

.logo_img {
    max-width: 300px;
    width: 75%;
    padding-top: 0.5rem;
}

#hero {
    height: 1000px;
}

#hero .container {
    max-width: unset;
    border-top: 1px solid var(--main-color);
}

.title {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

#contact .title {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

#legal-container {
    padding-bottom: 10rem;
}

#legal {
    padding-top: 16rem;
}

/*------- MÉDIAS QUERRIES -------*/

@media ( min-width: 2465px) {
    h1 {
        font-size: 3.125rem;
    }
    #hero .container {
        max-width: unset;
    }
    .margin_contact {
        font-size: 1.5rem;
    }
}

@media ( max-width: 2465px) {
    .title-h {
        padding-bottom: 5rem;
        padding-left: 30rem;
    }
}

/* @media (min-width: 1284px) {
    .title {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .title-h {
        font-size: 2.5rem;
        margin-right: 5rem;
        margin-bottom: 5rem;
    }

} */

/* @media (max-width: 2464px) {
    .title {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    
} */

@media (max-width:2000px) {
    .title-h {
        font-size: 2.8rem;
        padding-left: 20rem;
    }
    .title {
        -ms-flex: 0 0 35%;
        flex: 0 0 35%;
        max-width: 35%;
    }
    #contact .title {
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%;
    }
    #legal.title {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}

@media ( max-width: 1700px) {
    .title-h {
        font-size: 2.5rem;
        padding-left: 10rem;
    }
    #legal {
        padding-top: 14rem;
    }
}

@media ( max-width: 1500px) {
    .title-h {
        padding-left: 2rem;
        margin-right: 0rem;
    }
    #hero {
        height: 800px;
    }
}

@media (max-width: 1100px) {
    .title {
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%;
        font-size: 3rem;
    }
    .title-h {
        padding: 5rem;
    }
    #legal-container {
        max-width: unset !important;
        padding: 5rem;
    }
    #legal {
        padding-top: 12rem;
    }
}

@media (max-width: 991px) {
    .title, #contact .title {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .title-h {
        font-size: 2.5rem;
        margin-bottom: 5rem;
        margin-right: 0rem;
        text-align: center;
    }
    #hero {
        height: 800px;
    }
    .margin_contact {
        margin: 1rem 5rem 5rem 5rem;
    }
}

@media (max-width: 830px) {
    .title {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    #legal.title {
        -ms-flex: 0 0 30%;
        flex: 0 0 30%;
        max-width: 30%;
    }
    #legal {
        padding-top: 10rem;
    }
}

@media (max-width: 767px) {
    .title, #contact .title {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }
    .title-h {
        text-align: center;
        margin-bottom: auto;
        margin-top: auto;
        font-size: 1.8rem;
        padding: 2rem;
    }
    h1 {
        font-size: 1.8rem;
    }
    .margin_contact {
        margin: 2rem;
    }
    #hero {
        height: 100vh;
    }
    .logo_img {
        width: 100%;
    }
    #legal.title {
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%;
    }
    #legal-container {
        padding: 3rem;
    }
    .title {
        padding-top: 3rem;
    }
    section {
        padding-bottom: 0rem;
    }
}

@media (max-width: 576px) {
    #legal.title {
        -ms-flex: 0 0 90%;
        flex: 0 0 90%;
        max-width: 90%;
    }
    h1 {
        font-size: 1.5rem;
    }
    .title {
        -ms-flex: 0 0 90%;
        flex: 0 0 90%;
        max-width: 90%;
    }
    h2 {
        font-size: 2.7rem;
    }
    #legal {
        padding-top: 8rem;
    }
    #legal.title {
        margin-bottom: 2rem;
    }
}

@media (max-width: 380px) {
    #legal-container {
        padding: 2rem;
    }
    .title {
        font-size: 2.5rem;
        line-height: 1.5;
    }
}

/*--------------------------- MENU BURGER -------------------------------*/

nav {
    display: inline-flex;
    padding: 0;
}

.above-overlay {
    z-index: 10001;
}

.menu-burger {
    width: 30px;
    height: 42px;
    cursor: pointer;
    display: block;
    right: 50px;
    margin-top: -1rem;
    padding: 10px;
}

.bar, .bar:after, .bar:before {
    height: 1px;
    background: white;
}

.bar:before {
    width: 30px;
}

.bar {
    width: 25px;
}

.bar:after {
    width: 20px;
}

.bar {
    position: relative;
    transform: translateY(10px);
    transition: all 0ms 300ms;
}

.bar.animate {
    width: 30px;
    background: rgba(255, 255, 255, 0);
}

.bar:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 10px;
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar:after {
    content: "";
    position: absolute;
    right: 0;
    top: 10px;
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:after {
    width: 30px;
    top: 0;
    transform: rotate(45deg);
    transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:before {
    bottom: 0;
    transform: rotate(-45deg);
    transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

/*overlay*/

.overlay {
    margin-top: 4.5rem;
    display: none;
    position: fixed;
    height: 100vh;
    width: 100vw;
    top: 0;
    overflow: auto;
    z-index: 10000;
    /* One less than menu-burger */
    /* Background Image */
    background: #2B2B6A;
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.overlay a, a.color:hover {
    text-decoration: none;
}

.overlay .menu-options-list {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    text-align: right;
    padding: 0;
    margin: 10rem;
}

.overlay .menu-option {
    display: block;
    width: 100%;
}

.overlay .menu-option:hover {
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.overlay .menu-option a {
    color: white;
    font-family: var(--main-font);
    font-size: 3.125rem;
    letter-spacing: 2px;
}

.overlay .menu-option:hover a {
    color: #ED7D31;
    text-decoration: none;
}

.overlay .menu-option a span {
    color: #ededed;
}
.dnone{opacity:0;}
.overflow-no{overflow:hidden;}
@-webkit-keyframes slideDownIn {
    0% {
        opacity: 0;
        transform: translate(0, -100px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}

@-moz-keyframes slideDownIn {
    0% {
        opacity: 0;
        transform: translate(0, -100px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}

@-o-keyframes slideDownIn {
    0% {
        opacity: 0;
        transform: translate(0, -100px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}

@keyframes slideDownIn {
    0% {
        opacity: 0;
        transform: translate(0, -50px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}

.slideDownIn {
    -webkit-animation: slideDownIn 1s;
    /* Safari 4+ */
    -moz-animation: slideDownIn 1s;
    /* Fx 5+ */
    -o-animation: slideDownIn 1s;
    /* Opera 12+ */
    animation: slideDownIn 1s;
    /* IE 10+, Fx 29+ */
}

/*------- MÉDIAS QUERRIES -------*/

@media (min-width: 1051px) {
    #menu_burger {
        display: none;
    }
}

@media (max-width: 1050px) {
    #navbar_all {
        display: none;
    }
}

@media (max-width:768px) {
    .overlay .menu-options-list {
        margin-right: 6rem;
    }
    .overlay .menu-option a {
        font-size: 2.5rem;
    }
}

@media (max-width:576px) {
    .overlay .menu-options-list {
        margin-left: 2rem;
        margin-right: 4rem;
    }
    .overlay .menu-option a {
        font-size: 2.125rem;
    }
}
@media(max-width:320px){
    .overlay {
        margin-top: 4rem;
    }
    .overlay .menu-options-list{
        margin-top:5rem;
    }
}
/*--------------------------- HERO -------------------------------*/

.navbar {
    display: flex;
    background-color: var(--main-color);
    align-items: flex-end;
    padding: 0.2rem 2rem 0rem 2rem;
}

.color {
    color: white;
    margin-right: 3rem;
    font-size: 1.5rem;
}

.color:hover {
    color: #ED7D31;
}

/*--------------------------- PRESENTATION -------------------------------*/

#presentation {
    background-color: #FAFAFA;
    /* padding: 10rem; */
    padding: 7rem 7rem 2rem 7rem;
    font-size: 1.25rem;
    color: var(--main-color);
}

@media (max-width:1200px) {
    #presentation .bloc_left {
        padding-right: 2rem;
    }
    #presentation .bloc_right {
        padding-left: 2rem;
    }
}

@media (max-width:990px) {
    #presentation .bloc_left, #presentation .bloc_right {
        padding-right: 0rem;
        padding-left: 0rem;
    }
}

@media (max-width:860px) {
    #presentation {
        /* padding: 7rem 5rem 5rem 5rem; */
        padding: 7rem 5rem 2rem 5rem;
    }
}

@media (max-width: 767px) {
    #presentation {
        font-size: 1rem;
        padding: 2rem 1rem 2rem 2rem;
    }
    #presentation .bloc_right {
        margin-bottom: 0rem;
    }
}

/*--------------------------- TEAM -------------------------------*/

#team {
    padding-bottom: 7rem;
}

.people {
    font-family: var(--main-font);
    font-size: 1.6875rem;
    text-align: center;
    margin-top: 4rem;
}

.role {
    font-size: 1.875rem;
}

a.name {
    color: var(--main-color);
    font-weight: 600;
}

a.name:hover {
    color: #ED7D31;
    text-decoration: none;
}

.size_img {
    margin-bottom: 1rem;
    height: auto;
}
@media (max-width: 1024px) {
    .menu-burger {
        margin-top: -0.5rem;
    }
}
@media (max-width: 767px) {
    .size_img {
        width: 80%;
    }
    .logo_img {
        width: 60%;
        height: auto;
    }
    .menu-burger {
        margin-top: -0.5rem;
    }
    #team {
        padding-bottom: 5rem;
    }
}

@media (max-width: 575px) {
    .size_img {
        width: 50%;
    }
}

/*--------------------------- APPROACH -------------------------------*/

#approach {
    background-color: #FAFAFA;
}

.title-approach {
    font-size: 1.5625rem;
    font-weight: 600;
}

.approach-part {
    color: #2B2B6A;
    max-width: 550px;
    margin: 3rem auto 3rem auto;
    font-size: 2.4rem;
    font-weight: 600;
    font-style: italic;
}

.trait {
    height: 170px;
    width: 3px;
    background-color: #ED7D31;
}

.trait_horizon {
    height: 3px;
    width: 100px;
    background-color: #ED7D31;
    margin: 1rem 0rem;
    align-items: center;
    justify-content: center;
}

.margin_approach {
    color: #24245F;
    margin-top: 2rem;
}

.rond {
    margin-bottom: 0rem;
    font-size: 1.5rem;
    font-weight: 600;
    padding-top: 0.5rem;
}

.circle {
    background-color: #2B2B6A;
    border-radius: 100%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 300px;
    margin: 2rem 2rem;
}

.approach_raising {
    font-size: 1.7rem;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    .circle {
        width: 250px;
        height: 250px;
        margin: 2rem 2rem;
    }
    .rond {
        font-size: 1.4rem;
    }
    .approach-part {
        font-size: 2rem;
        line-height: 1.3;
    }
    .approach_raising {
        font-size: 1.2rem;
    }
    .margin_approach {
        margin-top: 2rem;
    }
}

/*--------------------------- PROCESS -------------------------------*/

.orange_color {
    color: #ED7D31;
}

.title_process {
    margin-bottom: 1.6rem;
    margin-top: 1rem;
    color: var(--main-color);
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.2;
}

.icon_process {
    width: 30%;
    margin-bottom: 1rem;
    max-width: 140px;
}

/*------- MÉDIAS QUERRIES -------*/

@media (max-width: 1200px) {
    .title_process {
        font-size: 2.2rem;
    }
}

@media (max-width: 990px) {
    .bloc_left {
        padding-right: 15px;
    }
    .bloc_right {
        padding-left: 15px;
    }
    .icon_process {
        width: 25%;
        max-width: 120px;
    }
    .title_process {
        font-size: 2.2rem;
    }
}

@media (max-width: 767px) {
    .title_process {
        font-size: 2rem;
    }
    .icon_process {
        width: 100px;
    }
    #process .container, #approach .container {
        padding: 2rem;
    }
    #presentation .container {
        padding: 2rem;
    }
}

@media (max-width: 360px) {
    #process .container, #approach .container {
        padding: 1rem;
    }
    #presentation .container {
        padding: 1rem;
    }
}

/*--------------------------- CONTACT-------------------------------*/

#contact {
    padding: unset;
    background-color: #FAFAFA;
    font-size: 1.25rem;
}

#send {
    font-size: 1.3rem;
    color: var(--main-color);
    letter-spacing: 0.22px;
    border: 3px solid var(--main-color);
    border-radius: 48.5px;
    padding: 0.5rem 2rem;
    background-color: #fff;
    margin-top: 1.5rem;
}

.fly {
    font-size: 1.3rem;
    color: #fff;
    letter-spacing: 0.22px;
    border: 3px solid var(--main-color);
    border-radius: 48.5px;
    padding: 0.5rem 2rem;
    background-color: var(--main-color);
    margin-top: 1.5rem;
}

.fly:hover {
    font-size: 1.3rem;
    color: var(--main-color);
    letter-spacing: 0.22px;
    border: 3px solid var(--main-color);
    border-radius: 48.5px;
    padding: 0.5rem 2rem;
    background-color: #fff;
    margin-top: 1.5rem;
}

.image-tokyo {
    background-image: url(../img/photo_tokyo.jpg);
    background-position: left;
    background-repeat: no-repeat;
    min-height: 400px;
    background-size: cover;
}

/*------- MÉDIAS QUERRIES -------*/

@media (max-width:768px) {
    .image-tokyo {
        background-position: top left;
    }
}

@media (max-width:768px) {
    #contact {
        font-size: 1rem;
    }
    .margin_contact {
        width: 100%;
        padding: 3rem;
    }
    #form .container {
        padding: 3rem;
    }
}

/*--------------------------- Form-------------------------------*/

footer {
    background-color: #2B2B6A;
    height: 72px;
    color: white;
}

footer a {
    color: #fff;
}

footer a:hover {
    color: #ED7D31;
    text-decoration: none;
}

footer .item {
    font-size:1rem;
    margin-right: 1rem;
    padding-right: 1rem;
    border-right: 1px solid #fff;
    display: inline-block;
}

footer .item:last-child {
    border-right: 0px solid #fff;
    margin-right: 0rem;
}
@media(max-width:576px){
    footer .item {
    margin-right: 0.5rem;
    padding-right: 0.5rem;
    }
}
/*--------------------------- Form-------------------------------*/

.title_legal {
    color: #2B2B6A;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 2rem;
    margin-top: 6rem;
}

@media(max-width:768px) {
    .title_legal {
        font-size: 2rem;
    }
}

/*--------------------------- modal ------------------------------- */

.name-modal {
    font-size: 2.5rem;
    color: #24245F;
    letter-spacing: 0.0225rem;
    font-weight: 600;
}

.role {
    font-size: 1.875rem;
    color: #ED7D31;
    letter-spacing: 0.016875rem;
    font-style: italic;
    margin-bottom: 2rem;
}

.modal-content {
    padding: 2rem;
    border-radius: 0px;
    border: 0px solid #000;
    height: 100%;
    max-height: 100vh !important;
    background-color: #fff;
    padding-bottom: 4rem;
}

.modal-dialog {
    max-width: 100%;
    margin: 0;
    height: 100%;
}

.modal-dialog-scrollable {
    max-height: 100% !important;
}

.close {
    opacity: 1;
}

@media(max-width:576px) {
    .modal-content {
        padding: 2rem 0rem;
    }
    .close {
        padding-right: 1rem;
    }
    .close img {
        width: 10%;
    }
}

@media(max-width:768px) {
    .trait_horizon {
        margin-left: auto;
        margin-right: auto;
    }
    #hero .container {
        border-top: 0px solid var(--main-color);
    }
}

#hero-404 {
    height: 100vh;
    font-size: 3rem;
}

#hero-404 #send {
    background-color: var(--main-color);
    color: #fff;
    font-size: 1.5rem;
}

#hero-404 #send:hover {
    text-decoration: none;
    background-color: #fff;
    color: var(--main-color);
}

#send:hover {
    font-weight: 600;
}

.maintenance {
    background-color: #2B2B6A;
    height: 100vh;
    width: 100vw;
}

.maintenance img {
    width: 70%;
}

.maintenance .text-white {
    font-size: 3rem;
}

@media (max-width:768px) {
    .maintenance .text-white {
        font-size: 2rem;
    }
}

.ancres {
    display: block;
    height: 65px;
    /*same height as header*/
    margin-top: -65px;
    /*same height as header*/
    visibility: hidden;
}

.alert {
    text-align: center;
}
