@media screen and (min-width: 2500px) {

    .navbar_top .right ul li a,
    .navbar_top .left ul li a {
        font-size: 1em;
    }

    header nav ul .navlink a {
        font-size: 1em;
    }



    footer .footer_container table tbody tr td h2 {
        font-size: 1.5em;
    }

    footer .footer_container table tbody tr td ul li a,
    footer .footer_container table tbody tr td p {
        font-size: 1em;
    }

    .bottom_footer ul li a,
    .bottom_footer ul li p {
        font-size: 1.2em;
    }

}



/* pattern solutions */ 
@media screen and (max-width: 1450px) {
    
    .title_container {
        margin-top: 60px;
        min-height: 30vh;
    }

    .content {
        padding: 0 35px;
    }

}

@media screen and (max-width: 1300px) {
    
    .title_container img {
        width: 300px;
    }

    .title_container h1 {
        width: calc(100% - 300px);
        margin-right: 150px;
    }

    .content {
        width: 80%;
    }

    .content p {
        font-size: .9em;
    }

    .content h2 {
        font-size: 1.7em;
    }

    .content p {
        font-size: .85em;
    }

}

@media screen and (max-width: 1000px) {
    
    .title_container {
        justify-content: space-between;
    }

    .title_container img {
        width: 250px;
    }

    .title_container h1 {
        width: calc(100% - 250px);
        margin-right: 50px;
    }

    .content {
        width: 96%;
    }

}

@media screen and (max-width: 875px) {

    .title_container img {
        width: 200px;
    }

    .title_container h1 {
        width: calc(100% - 200px);
        margin-right: 0px;
    }

    .content ul li {
        margin: 2% 0;
    }

    .content table tr:has(td:first-child img) {
        flex-direction: column-reverse;
        gap: 50px
    }

    .content table tr:has(td:last-child img) {
        flex-direction: column;
        gap: 50px
    }
     
    .content table tr td {
        width: 100%!important;
        padding: 0!important;
    }

    .content table tr td img {
        width: 60%
    }

}

@media screen and (max-width: 725px) {

    .title_container {
        width: 100%;
    }

    .title_container h1 {
        font-size: 2.5em;
    }

    .content h2 {
        font-size: 1.7em;
    }

}

@media screen and (max-width: 625px) {

    .title_container img {
        width: 150px;
        margin-left: 25px;
    }

    .title_container h1 {
        font-size: 2em;
    }

    .content h2 {
        font-size: 1.6em;
    }

}

@media screen and (max-width: 550px) {

    .title_container img {
        display: none;
    }

    .title_container h1 {
        width: 100%;
    }

    .content h2 {
        font-size: 1.5em;
    }

}









/* PATTERN HEADER */
@media screen and (max-width: 1450px) {

    .navbar_top_container,
    header nav {
        display: none;
    }

    .background_top,
    .title_container {
        margin-top: 60px;
    }

    body {
        justify-content: start;
    }

    .menu_hamburger {
        display: block;
        width: 100vw;
        position: fixed;
        z-index: 1;
        box-shadow: 0px 0px 40px 0px rgba(0, 20, 73, 0.75);
    }

    .menu_hamburger nav,
    .menu_hamburger .navbar {
        height: 60px;
    }

    .menu_hamburger .container {
        max-width: 1050px;
        width: 90%;
        margin: auto;
    }

    .menu_hamburger .navbar {
        width: 100%;
        height: 5vh;
        box-shadow: 0 1px 4px rgb(146 161 176 / 15%);
    }

    .menu_hamburger .nav-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 62px;
        background-color: white;
    }

    .menu_hamburger .navbar .menu-items {
        display: flex;
    }

    .menu_hamburger .navbar .nav-container li {
        list-style: none;
    }

    .menu_hamburger .navbar .nav-container a {
        text-decoration: none;
        color: #0e2431;
        font-weight: 500;
        font-size: 1.2rem;
        transition: all ease .2s;
    }

    .menu_hamburger .nav-container {
        display: block;
        height: 60px;
        z-index: 5;
    }

    .menu_hamburger .nav-container .checkbox {
        position: absolute;
        display: block;
        height: 32px;
        width: 32px;
        top: 20px;
        left: 20px;
        z-index: 5;
        opacity: 0;
        cursor: pointer;
    }

    .menu_hamburger .nav-container .hamburger-lines {
        display: block;
        height: 26px;
        width: 32px;
        position: absolute;
        top: 17px;
        left: 20px;
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .menu_hamburger .nav-container .hamburger-lines .line {
        display: block;
        height: 4px;
        width: 100%;
        border-radius: 10px;
        background: #0e2431;
    }

    .menu_hamburger .nav-container .hamburger-lines .line1 {
        transform-origin: 0% 0%;
        transition: transform 0.4s ease-in-out;
    }

    .menu_hamburger .nav-container .hamburger-lines .line2 {
        transition: transform 0.2s ease-in-out;
    }

    .menu_hamburger .nav-container .hamburger-lines .line3 {
        transform-origin: 0% 100%;
        transition: transform 0.4s ease-in-out;
    }

    .menu_hamburger .navbar .menu-items #buttons_line {
        display: flex;
        justify-content: center;
        width: 50vw;
    }

    .menu_hamburger .navbar .menu-items #buttons_line ul {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        padding: 30px 5px;
    }

    .menu_hamburger .navbar .menu-items #buttons_line ul li a {
        color: whitesmoke;
        width: 100%;
        font-size: 0.5em;
        font-weight: 500;
        padding: 7px 20px;
        background-color: rgba(42, 76, 181, 0.9);
        border-radius: 50px;
        transition: linear 0.1s;
    }

    .menu_hamburger .navbar .menu-items #buttons_line ul li a:hover {
        color: rgba(0, 20, 73, 0.8);
        background-color: rgba(125, 200, 218, 1);
        transition: linear 0.1s;
    }

    /* Correspond au conteneur global du menu */
    .menu_hamburger .navbar .menu-items {
        height: calc(100vh - 60px);
        overflow-y: auto;
        overflow-x: hidden;
        width: 50vw;
        transform: translate(-150%);
        display: flex;
        flex-direction: column;
        transition: transform 0.5s ease-in-out;
        text-align: left;
        background-color: rgba(0, 20, 73, 1);
        box-shadow: 0px 40px 40px 0px rgba(0, 20, 73, 0.75);
    }

    .menu_hamburger .navbar .menu-items .buttons_line_responsive {
        display: none;
    }

    /* Correspond à chaque ligne du menu */
    .menu_hamburger .navbar .menu-items li {
        display: flex;
        font-size: 1.5rem;
        font-weight: 500;
        background-color: white;
    }

    /* Correspond à chaque ligne du menu -> taille li = taille a */
    .menu_hamburger .navbar .menu-items li a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 15px;
        width: 100%;
        font-size: .7em;
    }

    /* Correspond aux flèches indiquant un menu deroulant */
    .menu_hamburger .navbar .menu-items li img {
        width: 14px;
        margin-right: 4%;
    }

    /* Correspond au conteneur de chaque menu déroulant */
    .menu_hamburger .navbar .menu-items .menu_deroulant {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    /* Correspond au bouton titre pour afficher/masquer les menus déroulants */
    .menu_hamburger .navbar .menu-items .menu_deroulant button {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 15px;
        width: 100%;
        font-size: .7em;
        border: none;
        background-color: rgba(0, 0, 0, 0);
        transition: all ease .25s;
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant button:first-child {
        border-bottom: 1px solid rgb(190, 190, 190, .25);
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant:hover button:first-child {
        background-color: rgba(125, 200, 218, .35) !important;
        transition: all ease .25s;
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant button:not(:first-child) img:last-child {
        margin-right: auto;
        margin-left: 10px;
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant ul {
        display: none;
        flex-direction: column;
        align-items: center;
        width: 100%;
        background-color: #F1FAFF;
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant .rubrique_deroulante_hamburger li {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #F1FAFF;
        border-bottom: 3px solid rgba(0, 0, 0, 0);
        transition: all ease .3s;
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant .rubrique_deroulante_hamburger li:hover {
        border-bottom: 3px solid rgba(51, 89, 160, .5);
        transition: all ease .2s;
    }



    .menu_hamburger .navbar .menu-items .menu_deroulant ul li img[src*="img/icons"] {
        width: 25px;
        height: 25px;
        margin-right: 0;
        margin-left: 4%;
    }


    .menu_hamburger .navbar .menu-items .menu_deroulant ul .sous_rubrique_deroulante_hamburger {
        width: 75%;
        display: none;
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant ul .sous_rubrique_deroulante_hamburger li a {
        font-size: .6em;
        padding: 3px;
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant .sous_rubrique_deroulante_hamburger li:hover {
        border-bottom: 3px solid rgba(0, 0, 0, 0);
    }

    .menu_hamburger .navbar .menu-items .menu_deroulant .sous_rubrique_deroulante_hamburger li:hover a {
        color: rgba(125, 200, 218, 1);
    }


    .menu_hamburger .navbar .menu-items #bottom_part {
        padding: 0;
        display: flex;
        flex-direction: column;
    }

    .menu_hamburger .navbar .menu-items #bottom_part ul li {
        background-color: rgba(0, 20, 73, 1);
        color: whitesmoke;
        padding: 0;
        display: flex;
        font-weight: 500;
        transition: background-color ease .2s;
    }

    .menu_hamburger .navbar .menu-items #bottom_part ul li:hover {
        background-color: rgba(20, 40, 93, 1);
        transition: background-color linear .2s;
    }

    .menu_hamburger .navbar .menu-items #bottom_part ul li a {
        color: whitesmoke;
        font-size: 0.6em;
        width: calc(50vw - 30px);
        border-bottom: 1px solid rgba(30, 50, 103, .4);
    }

    .menu_hamburger .logo {
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: white;
    }

    .menu_hamburger .logo a {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .menu_hamburger .logo img {
        width: 150px;
    }

    .menu_hamburger .nav-container input[type="checkbox"]:checked~.menu-items {
        transform: translateX(0);
    }

    .menu_hamburger .nav-container input[type="checkbox"]:checked~.hamburger-lines .line1 {
        transform: rotate(45deg);
    }

    .menu_hamburger .nav-container input[type="checkbox"]:checked~.hamburger-lines .line2 {
        transform: scaleY(0);
    }

    .menu_hamburger .nav-container input[type="checkbox"]:checked~.hamburger-lines .line3 {
        transform: rotate(-45deg);
    }


    /* FOOTER */
    footer .footer_container {
        width: 75vw
    }

}


@media screen and (max-width: 1200px) {

    /* FOOTER */
    footer .footer_container {
        width: 85vw
    }

}


@media screen and (max-width: 1000px) {

    .hover_buttons {
        display: none;
    }


    /* FOOTER */
    footer .footer_container {
        width: 90vw
    }

}

@media screen and (max-width: 900px) {

    footer .footer_container #footer_logo {
        width: calc(100px + 6vw);
        margin-left: 12%;
    }

    footer .footer_container table tbody {
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 50px;
    }

    footer .footer_container table tbody tr {
        justify-content: space-between;
        width: 75%;
    }

    footer .footer_container table tbody tr td {
        width: 45%;
    }

}


@media screen and (max-width: 825px) {

    .menu_hamburger .navbar .menu-items,
    .menu_hamburger .navbar .menu-items #buttons_line,
    .menu_hamburger .navbar .menu-items #bottom_part ul li a {
        width: 60vw;
    }

}

@media screen and (max-width: 650px) {

    .background_top {
        min-height: 50vh;
    }

    .menu_hamburger .navbar .menu-items,
    .menu_hamburger .navbar .menu-items #buttons_line,
    .menu_hamburger .navbar .menu-items #bottom_part ul li a {
        width: 75vw;
    }

    footer .footer_container #footer_logo {
        margin-left: 5%;
        justify-content: center;
    }

    footer .footer_container table tbody tr {
        width: 90%
    }

}

@media screen and (max-width: 520px) {

    .menu_hamburger .navbar .menu-items,
    .menu_hamburger .navbar .menu-items #buttons_line,
    .menu_hamburger .navbar .menu-items #bottom_part ul li a {
        width: 90vw;
    }

}

@media screen and (max-width: 500px) {

    footer .footer_container {
        justify-content: center;
        align-items: center;
    }

    footer .footer_container #footer_logo {
        margin-left: -25%;
    }

    footer .footer_container table {
        width: auto;
    }

    footer .footer_container table tr {
        width: 100% !important;
        flex-direction: column;
        gap: 50px;
    }

    footer .footer_container table tr td {
        width: 100% !important;
    }

    footer .bottom_footer ul li:first-child {
        width: 45%;
    }

    footer .bottom_footer ul #bottom_footer_right {
        flex-direction: column;
        align-items: end;
        width: fit-content;
    }

}

@media screen and (max-width: 430px) {

    .menu_hamburger .navbar .menu-items,
    .menu_hamburger .navbar .menu-items #buttons_line,
    .menu_hamburger .navbar .menu-items #bottom_part ul li a {
        width: 100vw;
    }

    .menu_hamburger .navbar .menu-items #buttons_line {
        display: none;
    }

    .menu_hamburger .navbar .menu-items .buttons_line_responsive {
        display: block;
    }

    .menu_hamburger .navbar .menu-items .buttons_line_responsive a {
        background-color: #3d69e0;
        color: whitesmoke;
    }

}

@media screen and (max-width: 330px) {

    .menu_hamburger .logo img {
        width: 100px;
    }

    .menu_hamburger .navbar .menu-items li a,
    .menu_hamburger .navbar .menu-items #bottom_part ul li a {
        font-size: .5em;
    }

}

@media screen and (max-height: 750px) and (min-width: 1500px) {

    .background_top {
        margin-top: 121px;
    }

    .navbar_top_container,
    .navbar_top {
        height: 42px
    }

    header nav {
        height: 49px;
        top: 42px;
    }

}