.fab.icon-x-twitter {
    font-family: 'customfontawesome';
}

@font-face {
    font-family: 'customfontawesome';
    src: url('fonts/customfontawesome.eot?4hoytd');
    src: url('fonts/customfontawesome.eot?4hoytd#iefix') format('embedded-opentype'),
        url('fonts/customfontawesome.ttf?4hoytd') format('truetype'),
        url('fonts/customfontawesome.woff?4hoytd') format('woff'),
        url('fonts/customfontawesome.svg?4hoytd#customfontawesome') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'customfontawesome' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-x-twitter:before {
    content: "\e900";
}

#header-conversationnal-search-button{
    display:none;
}
#header-menu-mobile{
    display:none;
}
#main-menu-container-mobile > nav > ul{
    display:none;
}

@media screen and (min-width: 1700px) {    
    html{   
        font-size:72.5%;
    }
}

@media screen and (max-width: 1500px) {    
    .fixed-right a.btn-red{
        width: 26rem;
        padding: 2rem;
    }
    .fixed-btn-link .btn-red{
        white-space: nowrap;
    }
    .fixed-btn-link .btn-red-text-content {
        width: auto;
        white-space: initial;
    }
}

@media screen and (max-width: 1410px) {    
    .fixed-right a.btn-red{
        padding: 2rem;
        width: auto;
    }
    .fixed-btn-link .btn-red-text-content {
        width: 9rem;
    }
}
@media screen and (max-width: 1300px) {    
    .fixed-right a.btn-red{
        padding: 2rem 1.5rem;
        font-size:1.5rem;
    } 
    .fixed-right a.btn-red::before {
        padding-right: 1rem;
    } 
    body.iphone .fixed-right a.btn-red::before {
        padding-top:2px;    
        display:inline-block;
    }
}

@media screen and (max-width: 1200px) {
    .fixed-right a.btn-red{
        padding: 2rem 1.3rem;
        font-size: 1.2rem;
    } 
    .fixed-right a.btn-red::before {
        font-size: 2rem;
    } 
}
@media screen and (max-width: 1150px) {
    html {
        font-size: 50%;
    }
}
@media screen and (max-width: 1100px) {
    html {
        font-size: 50%;
    }
}

@media only screen and (max-device-width : 1024px) {

    #main-menu-container-mobile > nav > ul{
        display:block;
    }
    body.home #content {
        padding-top: 7rem;
    }
    #header-menu{
        display:none;
    }   
    .fixed-side .conversationnal-search-button{
        display:none;
    } 
    #header-conversationnal-search-button{
        display:inline-block;
        height: 100%;
    }
    #header-conversationnal-search-button .conversationnal-search-button{
        display:inline-block;
        width: 9rem;
        height: 100%;
        text-align: center;
        background:#901b29;
        /*line-height: 3.8rem;*/
    }
    #header-conversationnal-search-button .conversationnal-search-button:hover{
        background:#DB0717;
    }
    #header-logo{
        padding: 0;
        width: calc(100% - 9rem - 9rem - 8rem);
        text-align: right;
    }
    #header-logo a img{
        max-height: 80%;
        height: auto;
        width: auto;
        max-width: 20%;
        margin-right: 6rem;
    }
    #header{
        background: #DB0717 !important;
    }
    #header-menu-mobile{
        display:inline-block;
        height:100%;
    }
    #header-menu-mobile a{
        height:100%;
        /*line-height: 3.8rem;*/
    }
    #header-search{
        float:left;
        z-index: 150;
        position: relative;
    }
    #header-menu-mobile{
        float:left;
        z-index: 150;
        position: relative;
    }
    #header-conversationnal-search-button{
        float:left;
        z-index: 150;
        position: relative;
    }
    .hero-main-video-layer{
        display:none;
    }
    #page #ais-main {
        padding: 0;
    }
    #page .ais-pagination a {
        font-size: 2rem;
    }
    #page .ais-pagination {
        text-align: center;
    }
}

@media screen and (max-width: 991px) {
    #header-logo{
        display: inline-block;
        /* width: calc(100% - 50rem) !important;
        float: right; */
    }
}

@media screen and (max-width: 767px) {
    #header-logo{
        width: calc(100% - 69vw) !important;
    }
}

@media screen and (max-width: 900px) {
    html {
        font-size: 40%;
    }
    .content-site {
        max-width: 100%;
        padding: 0 3rem ;
        box-sizing: border-box;
    }    
    .elementor-section.elementor-section-boxed > .elementor-container{
        max-width: 100%;
    }    
    #footer-top {
        padding: 9rem 0;
    }
    .txt1 {
        font-size: 3.7rem;
    }
    .txt2 {
        font-size: 2.8rem;
    }
    .footer-top-social-container .align-block{
        width:100%;   
    }
    .footer-top-social {
        margin: 2rem 0;    
        font-size: 4.5rem;
        padding: 0.3rem 3rem;
    }
    .footer-top-social:first-child {
        border-left: 0.1rem solid black;
    }
    .footer-top-social:last-child {
        border-right: 0.1rem solid black;
    }
    #footer-bottom .align-blocks-container .align-block.text-footer{
        display:none;
    }
    #footer-bottom .align-blocks-container .align-block {
        width: 50%;
    }
    #footer-bottom .align-blocks-container{
        width:100%;
    }
    #icon-transdev-footer img{
        width:15rem;
    }
    .footer-menu li a {
        padding: 1.2rem 1rem 1.2rem 5rem;
        font-size: 2.4rem;
    }
    #footer-mention {
        font-size: 1.9rem;
    }      
    .footer-top-social svg {
        width: 4.5rem;
    }
    #search-content .aa-dropdown-menu a.suggestion-link {
        padding:0 2rem;
    }    
}

@media screen and (max-width: 767px) {   
    html{
        font-size: 62.5%;
    }       
    .indent{
        padding-left:0;
    }
    .footer-top-social svg {
        width: 6vw;
    }
    .ct-container {
        width: calc(100% - 4rem);
        padding: 4.2rem 0 2.2rem 0;
        text-align: right;
        font-size: 1.3rem;
    }
    .close-popup-btn {
        top: 0.4rem;
        right: 0.4rem;
    }    
    #header-logo{
        /* width: calc(100% - (17vw * 3)); */
        width: 19rem !important;
        padding: 0 1rem !important;
        margin: 0 !important;
        /* float:right; */
    }
    #header-logo a{
        font-size: 6.77vw;
        height: 100%;
        display: inline-block;
        width: 100%;
        line-height: 14vw;
    }    
    
    .android #header-logo a{
        line-height: 18vw;
    }    
    
    .absolute-content-full{
        position: static;
        top:initial;
        bottom:initial;
        left:initial;
        right:initial;
    }
    .elementor-image{
        overflow: hidden;
    } 
    .elementor-image img{
        max-height:350px;
    } 
    .elementor-row{
        flex-direction: column;
    }    
    .elementor-column.elementor-col-33, .elementor-column[data-col="33"]{
        width: 100% !important;
    }  
    .elementor-column.elementor-col-66, .elementor-column[data-col="66"]{
        width: 100% !important;
    }
    
    .footer-top-social-container .align-block{
          font-size: 0;
    }
    .bloc-geoloc-container{
        display: none;
    }    
    h2{
        padding: 7.82vw 0;
    }
    .content-site{
        padding: 0 3.91vw;
    }
    
    /* header */
    
    #header-search{
        float:none;
    }
    #header-menu-mobile{
        float:none;
    }
    #header-conversationnal-search-button{
        float:none;
    }
    #header{
        height: 14vw;
    } 
    
    /* footer */
    #footer-top {
        background-position: left 89% bottom -30px;
    }
       
    #search-content {
        padding-top: 14vw;
    }
    #search-bar{
        height: 14vw;
        line-height: 14vw;
    }
    #search-bar-content > form {
        padding-right: 25vw;
    }
    #search-input {
        font-size: 4vw;
        width: 66%;
    }
    #search-bar-content {
        width: 100%;
    }
    #search-button {
        margin-left: 2vw;
        font-size: 3vw;
    }
    #content {
        padding-top: 14vw;
    }  
    body.hasSubNav.page #content,
    body.hasSubNav.single-post #content,
    body.hasSubNav.single-solutions #content{
        padding-top: 28vw;
    }
    #search-close{
        line-height: 14vw;
        height: 14vw;
        width: 14vw;
        font-size: 3.82vw;
    }
    #search-content .autocomplete-empty {
        padding: 15px 0;
    }
    #search-content .suggestion-post-thumbnail-container{
        width:50px;
    }
    #search-content .suggestion-post-attributes{
        width:calc(100% - 50px);
    }
    #search-content .aa-dropdown-menu a.suggestion-link {
        padding:0 3.91vw;
        font-size: 5.2vw;
        line-height: 6.2vw;
    }
    #search-content .aa-dropdown-menu a.suggestion-link .suggestion-post-content {
        font-size: 5.2vw;
        line-height: 6.2vw;
    }
    #search-content .aa-dropdown-menu .aa-suggestion .suggestion-link.noimage {
        padding: 2rem;
        margin: 0 3.91vw;
        width:calc(100% - 7.82vw);
    }
    #search-content .aa-dropdown-menu .aa-suggestion {
        padding: 0 0 4vw 0;
    }
    #search-content .autocomplete-header-title {
        font-size: 7.29vw;
        padding: 6vw 3.91vw 4vw 3.91vw;
        line-height: 7.29vw;
    }
    #search-content .aa-dropdown-menu .autocomplete-header {
        padding: 0;
    }
    #search-results {
        height: calc(100% - 4rem);
    }
    /* form */
    
    .input_email_NL {
        width: 42.3VW;
        height: 6.6VW;
        max-width: initial;
        font-weight: 200;
        font-size: 5.21VW;
    }
    .input_email_NL::placeholder{ 
        font-size: 5.21VW;
        font-weight: 200;
        line-height: 1;
        font-family: 'Karbon','Arial',sans-serif;
    }

    .form_NL_container--footer{
        margin: 0;
        margin-top: 4.17vw;
        padding-left: 3.515625VW;
        display: block;
    }
    .form_NL_container--footer .input_email_NL,
    .form_NL_container--footer .input_email_NL::placeholder{
        font-size: 4.6875VW;
        font-weight: 500;    
    }
    
    .form_NL_container--footer .input_email_NL{
        width: 40.3VW;
    }
    
    .form-nl-submit-btn{
        vertical-align: bottom;
        font-size: 6VW;
        display: inline-block;
        padding-left: 1.2vw;
        cursor: pointer;
    }
    .form_NL_container--footer .form-nl-submit-btn{
        vertical-align: sub;
    }
    
    #header-conversationnal-search-button .conversationnal-search-button,
    #header-search-button,
    #header-menu-mobile a{
            width: 14vw;
            font-size: 3.82vw;
            line-height: 14vw;
            padding: 0;        
    }
    
    
    
    #header-conversationnal-search-button .conversationnal-search-button::before,  
    #header-menu-mobile a::before{
        display:none;
    }
    #header-logo a{
        font-size: 6.77vw;
    }
    #header-search-button,
    #header-conversationnal-search-button .conversationnal-search-button,
    #header-menu-mobile a{
        line-height: 14vw;
    } 
    body.home #content{
        padding-top: 14VW;
    }
    body.iphone #header-conversationnal-search-button .conversationnal-search-button,
    body.iphone #header-search-button,
    body.iphone #header-menu-mobile a,    
    body.iphone #header-logo a
    {
        line-height: 13.8vw;
    }
    
    body.iphone #header-logo a
    {
        vertical-align:middle;
    }
    
    
    .post-content-1.hasVideo .video-play-button{
        width: 7.2rem;
        height: 7.2rem;
        line-height: 7.2rem;
    }
    
    .post-content-1.hasVideo .video-play-button::after{
        font-size: 2.7rem;
    }    
    .post-content-1 .entry-title{      
        font-size: 5.2vw; 
        line-height: 6.2vw; 
        margin-bottom: 0; 
    }
    .post-content-1 .entry-date {
        margin-bottom: 0.5rem; 
        display: inline-block;
        font-size: 3.90625vw;
    }   
    .post-content-1 .entry-title a{
        font-size: 5.21vw;
    }
    .post-content-1 .entry-category {
        margin-bottom: 0;
        padding-right: 3vw;
    }        
    .post-content-1 .entry-category a{
        font-size:3.4vw;
    }
    .post-content-1-infos,
    body.archive.tax-reseau_mode .post-content-1-infos {
        padding: 3.26vw 0;
        width: 100%;
        padding-left: 0;
    }    
    .post-content-1 .entry-category,
    .post-content-1 .entry-date.hide-above-600px{
        display: inline-block;
    }
    .post-content-1.small-image .post-content-1-image,
    body.archive.tax-reseau_mode .post-content-1-image{
        width: 100%;
    }
    .post-content-1-image{
        padding-bottom: 44.27vw;
        display: block;
        width: 100%;
    }
    .post-content-1.no-image .post-content-1-content{
        padding-bottom: 0;
    }
    /*.post-content-1.no-image .post-content-1-infos,*/
    .post-tweet{
        background-color: #e5e5e5;
        padding:5.3vw 5.6vw;
    }    
    
    .post-content-1.no-image .post-content-1-image {
        display:block;
    }
    
    .post-tweet-title{
        font-size: 3.39vw;
    }
    .post-tweet-date, 
    .post-tweet-content{
        font-size: 3.91vw;
        line-height: 6.25vw;
        padding-bottom: 3vw;
    }   
    .post-tweet-date,
    .post-tweet-title{
        display: inline-block;
    }
    .post-tweet-date{
        padding-left: 2vw;
    }
    .post-tweet-date a{
        font-size:3.91vw;
    }
    .post-tweet-link a{
        font-size:4.43vw;
    }
    .post-tweet-link a:after{
        padding-left: 2.1vw;
        font-size: 7vw;
        line-height: 4vw;
        font-weight: 400;
    }
    .post-content-1 .block-video-content {
        width: 100%;
        vertical-align: top;
        display: inline-block;
        padding: 0;        
        height: 44vw;
    }
    .post-content-1.hasVideo .post-content-1-content > a,
    .post-content-1.hasVideo .post-content-1-content > span {
        width: 100%;
    }
    
    .fixed-side.fixed-right {
        right: 0;
        bottom: 0;
        width: 100%;
        padding: 0 3.91vw;
        /* position: relative; */
        top: auto !important;
    }
    
    .wrap-fixed-side-interior .fixed-side.fixed-right{
        bottom: 4rem;
    }
    
    .fixed-btn-link.fixed-right.has-main-right-button{
        display:block;
    }
    .fixed-btn-link.fixed-right.main-right-button{       
        left: 0;
        box-sizing: border-box;
        position: relative;
    }
    .wrap-fixed-side-interior section.no-margin + .fixed-btn-link.fixed-side {
        bottom:0;
    }
    .fixed-side.fixed-right .btn-red{
        width: 100%;
        margin-bottom: 3.91vw;
        font-size: 4.17vw;
        padding-top: 4.2vw;
        padding-bottom: 4.2vw;
        padding-left: 5.86vw;
    }
   .fixed-side.fixed-right .btn-red .btn-red-text-content {
        width: 100%;
    }
    a.btn-red::before{
        font-size: 2rem;
    }
    /** FICHES METIERS **/
    
    .content-site-big-gray-border{
        display: none;
    }
    
    .content-site-big-gray-content{
        width: 100%;
        padding-top: 9vw;
    }
    
    .single-job .elementor-element-populated{
        border-style: none !important;
    }
    /** FIN FICHES METIERS **/
    
    /** NEWSROOM **/
    .newsroom-page .content-folder-row .post-column-1,
    .newsroom-page .content-folder-row .news-line.news-line-column-2{
        width: 100%;
    }
    .newsroom-page .content-folder-row .news-line.news-line-column-2{
        border-right: none;
        padding-top: 0;
    }
    .list-filters-category{
        margin-bottom:10px;
    }
    .newsroom-page > div:last-child {
        padding-bottom: 0; 
    }
   
    .newsroom-page .bloc-all-post{        
        padding-bottom: 0;
    }
    
    .newsroom-page .fixed-side.fixed-right {
        position: relative !important;
    }
    .page-template-tpl_newsroom .content-site-big-gray-content{
        padding-top: 7.8VW;
        padding-left: 3.9vw;
        padding-right: 3.9vw;
        padding-bottom: 3.9vw;
    }
    
    .page-template-tpl_newsroom .folder-intro-text{
        padding-bottom:5.867014341590613VW;
        font-size:3.650586701434159VW;
    }
    
    .newsroom-page .block-bg-left-text-right-text-container{
        font-size: 3.650586701434159VW;
        line-height: 4.69361147327249VW;
    }
    
    .newsroom-page .block-bg-left-text-right-legend{
        margin-top: 4.172099087353325VW;
        font-size: 2.346805736636245VW;
    }
    
    .page-template-tpl_newsroom .block-bg-left-text-right-text-title{
        padding-bottom: 3.650586701434159VW;
        font-size: 4.69361147327249VW;
    }
    .page-template-tpl_newsroom .block-bg-left-text-right-text-container{
        padding-left: 0;
    }
    
    .newsroom-page .content-folder-row{
        margin-bottom: 6.51890482398957VW;
    }
    
    .newsroom-page .content-folder-row {
        margin-bottom: 0;
    }
    .newsroom-page .post-content-1.post-column-1.no-image{
        padding-bottom: 3.26vw;
    }
    
    .newsroom-page .news-row{
        display: block;
    }
    .newsroom-page .news-row .news-col-1,
    .newsroom-page .news-row .news-col-2
    {
        width: 100%;
        border: none;
    }
    
    .newsroom-page .news-row + .news-row{
        padding: 0;
    }
    
    .newsroom-page .content-folder-row > div,
    .news-row > div{
        margin-bottom: 10vw !important;
    }
    
    .blog .load_more_ajax_container{
        margin-top: 0;
    }
    
    .newsroom-page .fixed-side.fixed-right {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .hero-title-bloc-slider-container slick-initialized.slick-slider.slick-dotted{
        margin-bottom: 15px !important;
    }
    
    /** FIN NEWSROOM **/
    /** FOOTER **/ 
    #footer-top{
        padding-bottom: 11.72vw;
    }
    
    .footer-top-title{
        margin-bottom: 10.42vw;
        font-size: 6.25VW;
    }
    .footer-top-wording.txt1{
        font-size: 6.25VW;
    }
    .footer-top-wording.txt2,
    .footer-top-social-container .txt2,
    .footer-top-inscription-newsletter .txt2{
        font-size: 4.6875VW;
        line-height: 6vw;
    }
    .footer-top-wording{
        margin-bottom: 9.11vw;
    }
    
    .footer-top-inscription-newsletter{
        margin-bottom: 2.6rem;
    }
    #footer-top{
        padding: 12.04vw 0;
    }
    .footer-top-social-container .txt2{
        margin-bottom: 4.17vw;
    }
    .footer-top-social{
        font-size: 6.51vw;
        padding-left: 0;
        padding-right: 0;
        width: calc(100% / 5);
        box-sizing: border-box;
        text-align: center;
    }
    .footer-menu li a{
        font-size: 1.4rem;
    }
    #footer-mention{
        font-size: 3.125VW;
    }
    .footer-menu li a{
        font-size: 3.65vw;
        padding: 2.60vw 0 2.60vw 7.421875VW;
    }
    #icon-transdev-footer{
        margin-bottom: 8.07vw;
    }
    
    /** Formulaires **/
    
    .wpcf7-form {
        padding: 3.91vw;
    }
    .wpcf7-form .contact-title-required-info {
        padding-left: 0;
    }
    .wpcf7-form .contact-title-number {
        margin-bottom: 2vw;
        font-size: 3.8vw;
    }
    .wpcf7-form h2 {
        margin-bottom: 2vw;
    }
    .wpcf7-form .contact-title {
        margin-bottom: 6vw;
    }
    .wpcf7-form .contact-title.contact-title-border{
        padding-bottom:0;
        border:none;
        margin-bottom: 0;
    }
    #cf7md-form .cf7md-item {
        margin-top: 0;
        margin-bottom: 0;
    }
    .wpcf7-form .contact-field-ville {
        width: 100%;
    }
    .wpcf7-form .contact-field-cp {
        width: 100%;
        padding-left: 0;
    }
    .wpcf7-form .contact-field-pays {
        width: 100%;
        padding-right: 0;
    }
    .wpcf7-form .contact-field-submit {
        text-align: center;
    }
    .wpcf7-form button[type="submit"] {       
        padding: 4vw 8vw;
        font-size: 5vw;
        margin-top: 5vw;
    }
    
    .wpcf7-form .contact-title-required-info{
        font-size:  2.8683181225554106VW;
    }
    
    .wpcf7-form-control-wrap.destinataire.mdc-form-field.cf,
    .wpcf7-form-control-wrap message.mdc-form-field cf{
        width: 100%;
    }
    
    #cf7md-form #group-address .contact-field-adressfields > div{
        width: 100%;
    }
    
    .wpcf7-form button[type="submit"]::after{
        padding-left: 1.8252933507170794VW;
        vertical-align: text-top;
        font-size: 5.475880052151238VW; 
    }
    .contact-field-captcha{
        text-align: center;
        overflow: hidden;
    }
    
    .wpcf7-form-control-wrap,
    .wpcf7-form-control.g-recaptcha.wpcf7-recaptcha{
        display: inline-block;
        width: auto;
    }
    
    /** FIN FORMULAIRES **/
    
    #page .elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated{
        padding-top:0;
        padding-bottom:0;
    }
    
    #page .elementor-widget-heading .elementor-heading-title{
        padding:0 3.9vw;
    }

    #page .elementor-element--wide .elementor-widget-heading .elementor-heading-title {
        padding: 0;
    }
        
    #page .elementor-text-editor,
    #page .elementor-widget-video
    {
        padding:0 3.9vw;
    }
    #page .elementor-text-editor ul{
       /* margin-bottom:0;*/
        padding-bottom:0;
    }
    
    /* Style de la sitemap */
    .page-template-tpl_sitemap .content-site{
        font-size: 0;
        padding: 4.954367666232073VW 3.911342894393742VW;
        
    }


    .page-template-tpl_sitemap .content-site h1{
        font-size: 3.650586701434159VW;
    }

    .sitemap-col{
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: inline-block;
        vertical-align: top;
    }

    .sitemap-col-content{
        font-size: 2.607561929595828VW;
    }
    /** FIN SITEMAP */
    
    
    article .elementor-370 .elementor-element.elementor-element-57d91a1b > .elementor-widget-container {
        padding: 0;
    }
    
    
    .result-breadcrumb{
        display:none;
    }
    .list-filters-row {
        padding: 2rem 0;
    }
    
    /* Cookie */
    
    #cookie_notice_transdev {
        padding: 0;
    }
    #cookie_notice_transdev_left {
        width: calc(100% - 3rem);
        font-size: 1rem;
        line-height: 1.3rem;
    }
    #cookie_notice_transdev_right {
        width: 3rem;
    }
    #header-logo a img {
        max-width: 70%;
        max-height: 100%;
        margin-right: 0;
        height: 100%;
        vertical-align: top;
    }
    #header-logo {
        text-align: center;
    }
    #header-logo a img{
        height: auto;
        display: inline-block;
        vertical-align: middle;
        margin: 0 auto;
    }
}
@media screen and (max-width: 700px) {
    .list-filters-title {
        display: block;
        margin-bottom:10px;
    }
    .list-filters-categories-list {
        padding-left: 0;
    }
    .list-filters-categories-themes,
    .list-filters-pays,
    .list-filters-region,
    .list-filters-order{
        float: none;
        margin-bottom:10px;
        margin-left:0;
        width: 100%;
    }
    #filter_theme_ll,
    #filter_theme,
    #filter_region,
    #filter_pays,
    #filter_order{
        width: calc(100% + 20px);
    }
}
