.gallery-col1{
    width:100%;
}
.gallery-col1:after {
    display: block;
    content: "";
    padding-top: 76.66%;
}

.clear{
	clear:both;
}

*{
	outline: 0;
}

img{
	border:none;
	max-width: 100%;
	height: auto;
}

.nowrap{
    white-space: nowrap;
}

.hidden{
    visibility: hidden;
}

a{
    color:inherit;
}

.round {
    border-radius: 50%;
}

:root {
    --swiper-theme-color: #fff;
}

html{
	padding:0px;
	margin:0px;
	min-height:100%;
	height: 100%;
    text-rendering: auto;
	text-rendering: optimizeLegibility;
	text-rendering: geometricPrecision;
	font-smooth: always;
	
	font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


body{
	padding:0px;
	margin:0px;
	min-height:100%;
	width:100%;
    height: 100%;
    max-width: 100%;
	-ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-family: 'Barlow', sans-serif;
    font-size: 16px;
    color: #4A4A4A;
	font-weight:normal;
	background-color: #F7F8F9;
	background-image: url(../img/bg.svg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 1920px auto;
}

.inside {
    position: relative;
    width: calc(100% - 30px);
    max-width: 1170px;
    margin: auto;
}

.inside.small {
	max-width: 770px;
    width: calc(100% - 410px);
}

#header .inside{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#logo {
    display: inline-block;
    width: 279px;
    height: 45px;
	background-image: url(../img/logo.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 50px;
    margin-bottom: 50px;
}

#header .navcontainer{
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-transform: uppercase;
	color:#106CA5;
	font-size: 0.750em;
	font-weight: 600;
}

#header .navcontainer > div{
	border-left:1px solid #DCDCE9;
	line-height: 1.750em;
}

#header .navcontainer > div:first-child{
    border-left:none;
}


#header .main_menu ul{
    display: flex;
    width:100%;
    justify-content: space-between;
}

#header .main_menu li{
    position: relative;
}

#header .main_menu > ul > li{
	margin-left: 20px;
	margin-right: 20px;
}


#header .main_menu > ul > li  ul{
    display: block;
}
#header .main_menu > ul > li  ul > li{
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
}

#header .main_menu ul, #header .main_menu li{
    margin:0px;
    padding: 0px;
    list-style: none;
}

#header .main_menu li a{
    display: inline-block;
    text-decoration: none;
    transition: color .2s ease-out;
}

#header .main_menu li a:hover, #header .main_menu li a.active{
    color:#27272C;
}

.tooltipmenucontainer {
    position:absolute;
    bottom:0px;
    left:50%;
    transform: translate(-50%, calc(100%));
    padding-top: 20px;
    z-index: 200;
    display: none;
}

#header .main_menu li:hover .tooltipmenucontainer{
    /*display: block;*/
}

.tooltipmenu {
    width: 40rem;
    text-align: center;
    position: relative;
    max-width: 210px;
   
  }
  
  /* here's where the magic happens */
  
  .tooltipmenu--container {
    position: relative;
    z-index:0;

  }
  
  .tooltipmenu--text:before,
  .tooltipmenu--text:after{
    display: block;
    content: "";
    position: absolute;
    z-index: -100;
    width: 50%;
    top: 0;
    bottom: 0;
    box-shadow: 0 1px 18px 0 rgba(0,0,0,0.12);
    transition: transform 200ms ease-out;
  }
  
  .tooltipmenu--text:before {
    left: 0;
    border-top-right-radius: 1rem;
  }
  
  .tooltipmenu--text:after{
    right: 0;
    border-top-left-radius: 1rem;
  }
  
  .tooltipmenu--text {
    background: #fff;
    padding: 0.75rem 1rem;
    
  }
  
  .tooltipmenu--tip {
    position: absolute;
    z-index: -100;
    display: block;
    width: 1rem;
    height: 1rem;
    background: #fff;
    left: 50%;
    top: -0.5rem;
    transform: 
      translateX(-50%)
      rotate(45deg);
      box-shadow: 3px 1px 18px 0 rgba(0,0,0,0.12);
    transition: transform 200ms ease-out;
  }

  #footer{
    background-color: #106CA5;
    color:#fff;
    padding-top: 50px;
    margin-top: 50px;
    padding-bottom: 210px;

  }

  .footercontent{
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.750em;
      text-transform: uppercase;
      font-weight: 600;
  }

  .footercontent a{
      display: inline-block;
      text-decoration: none;
      
  }

  .footercontent .navmain a{
    margin-right: 60px;
  }
  
  .footercontent .copyright a:before{
    content: "—";
    margin-left:10px;
    margin-right: 10px;
  }
  


hr{
    background-color: #DCDCE9;
    width:100%;
    height:1px;
    margin: auto;
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    border:none;
}

.content p{
	letter-spacing: 0;
	line-height: 26px;
}

.content a{
    color: #106CA5;
    text-decoration: none;
}

h1:not(.surtitre){
	font-family: neacademia-display,sans-serif;
	font-weight: normal;
	font-size: 2.125em;
	color: #106CA5;
	letter-spacing: 0;
	line-height: 44px;
}

h1.surtitre{
	font-weight: 500;
	font-size: 1em;
	text-transform: uppercase;
}

h2{
	font-family: neacademia-display,sans-serif;
	font-weight: normal;
	font-size: 1.625em;
	color: #106CA5;
	letter-spacing: 0;
	line-height: 34px;
}

.infos{
	text-transform: uppercase;
	font-weight: 600;
	font-size: 0.750em;
	margin-right: 20px;
}

.infos.icondate{
	padding-left: 18px;
	background-image: url(../img/icone_date.svg);
	background-position: left center;
	background-repeat: no-repeat;
}

.infos.iconplace{
	padding-left: 14px;
	background-image: url(../img/icone_place.svg);
	background-position: left center;
	background-repeat: no-repeat;
}

.imagehabillage{
	clear:both;
	max-width: 430px;
}

.imagehero{
	color:#fff;
	background-color: #106CA5;
	padding-top:40px;
    padding-bottom: 60px;
    position: relative;
}

.imagehero .imageback{
    position: absolute;
    z-index: 1;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background-size: cover;
    opacity: .14;
}

.imagehero .inside{
    position: relative;
    z-index: 10;
}

.imagehero h1{
	color:#fff;
}

.campagneslist > a{
    text-decoration: none;
}

.fondationlist > div{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}

.domaineslist .col, .campagneslist .col, .fondationlist .col{
	margin-top: 45px;
}

.campagneslist .col-9{
	max-width: 570px;
}

.campagneslist.home .col-9{
    max-width:none;
}

.campagneslist.home .imagesround_imageronde{
    width:80%;
}

.teamitem{
    margin-top: 45px;
}

.teamitem .teamimage{
    width:170px;
    float: left;
    margin-bottom: 30px;
}

.teamitem .content{
    float: right;
    width:calc(100% - 200px);
    margin-bottom: 15px;
}

label, input, textarea{
	display: block;
	width: 100%;
	box-sizing: border-box;
}

label{
	font-weight: bold;
	color:#4A4A4A;
	margin-bottom: 10px;
}

input, textarea{
	background: #FFFFFF;
	border: 1px solid #E3E5E7;
	border-radius: 5px;
	font-size: 1em;
	padding: 1em;
	box-sizing: border-box;
	margin-bottom: 30px;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
}

.button, button[type=submit]{
	display: inline-block;
    background: transparent;
    font-family: 'Barlow', sans-serif;
	border:1px solid #106CA5; 
	color:#106CA5;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    padding-top: 10px;
    padding-bottom: 10px;
	padding-left: 20px;
    padding-right: 66px;
    position: relative;
    cursor: pointer;
    text-decoration: none;
}

.button:after, button[type=submit]:after{
    position: absolute;
    width:26px;
    height:10px;
    right:20px;
    top:50%;
    transform: translateY(-50%);
    background-image: url(../img/fleche.svg);
    background-repeat: no-repeat;
    background-size: 26px 10px;
    content:"";
}

.imagehero .button{
    color:#fff;
    border-color:#fff;
}

.imagehero .button:after{
    background-image: url(../img/fleche_white.svg);
}


input.error, textarea.error{
	margin-bottom: 0px;
	border-bottom-right-radius: 0px;
	border-bottom-left-radius: 0px;
	color:red;
	border-color:red;
}

label.error{
	margin-bottom:30px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
	background-color: red;
	color:#fff;
	padding: 5px;
	padding-left: 1em;
	font-weight: normal;
	font-size: .8em;
}

#headermobilespacer {
    height: 78px;
    display: none;
}

.headermobile{
	height:78px;
	background-color: #fff;
	box-sizing: border-box;
	width:100%;
	padding-left:15px;
	padding-right: 0px;
	position: fixed;
	top:0px;
	left:0px;
	justify-content: space-between;
	align-items: center;
    display: none;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.20);
}

#logo_mobile{
	display: block;
    width: calc(100% - 81px);
    max-width: 200px;
	height:78px;
	background-image: url(../img/logo.svg);
	background-position: left center;
    background-repeat: no-repeat;
	background-size: contain;
}

#mmenu:not( .mm-menu) {
    display: none;
}

#headermobilespacer {
    height: 78px;
    display: none;
}

.landingresourcecontainer{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap:20px;
    flex-direction: column;
    margin-bottom: 20px;
}

.ressourceitem{
    color: inherit;
    width:100%;
    border-bottom: 1px solid #e4e4e4;
    padding-bottom: 20px;
}
.ressourceitem a{
    color:inherit;
}

.ressourceitem h3{
    margin: 0px;
    color: #106CA5;
}

.ressourceitem p{
    margin-top:0px;
    margin-bottom:0.2em;
}

.instalink{
    background-image: url(../img/instagram.svg);
    display: inline-block;
    width:16px;
    height:16px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.image_habillage{
    width:370px;
    margin:20px;
    margin-top:0px;
    margin-left:-185px;
    float:left;
}

.image_habillage.right{
    float:right;
    margin-left:20px;
    margin-right:-185px;
}

.image_habillage .legende{
    font-size:0.750em;
    margin-top: 10px;
}

.gallerynews .col img{
    width:100%;
}

form #website{
    display: none;
}

.resourcelisting{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap:40px;
    margin-top: 40px;
}


.resourcelisting .categorycolumn{
    width:calc((100% - 80px)/3);
}

.resourcelisting.withfilter .categorycolumn{
    width:100%;
    display: flex;
    gap:40px;
}



.categoryback{
    background-color: #106CA5;
    position: relative;
    width: 100%;
    max-width: 300px;
    min-width:100px;
    margin-bottom: 20px;
}
.categoryback > div{
    opacity:.4;
    position: relative;
}
.categoryback  h2{
    color:#fff;
    position: absolute;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
    margin:0px;
    text-transform: uppercase;
    font-weight: bold;
    text-shadow: 0px 0px 6px rgba(0,0,0,0.7);
    font-family: 'Barlow', sans-serif;
    width:100%;
    text-align: center;
}

.resourcelisting.withfilter .categorycolumn .categoryback{
    width:300px;
}

.filterlist a{
    display: inline-block;
    background:#106CA5;
    padding:10px;
    border-radius: 4px;
    text-decoration: none;
    margin-right: 10px;
    margin-bottom: 10px;
}

.backbtn{
    text-align: left;
    font-weight: bold;
    margin-bottom: 20px;
}

.backbtn a{
    text-decoration: none;
    color:#27272C;
    opacity: 1;
}



@media (max-width:1090px){
    #header{
        display: none;
    }

    #headermobilespacer{
        display: block;
    }

    .headermobile{
        display: flex;
    }
}
@media (max-width:1023px){
    .footercontent{
        flex-direction: column;
        align-items: flex-start;
    }

    .copyright{
        margin-top: 20px;
    }

    .inside.small {
        width: calc(100% - 240px);
    }

    .image_habillage{
        width: 200px;
        margin-left: -100px;
    }

    .image_habillage.right{
        margin-right: -100px
    }
}

@media (max-width:960px){
    .fondationlist > div{
        flex-direction: column !important;
    }
}

@media (max-width:767px){

    .gallerynews .col{
        width: calc(((100% - (12 * 30px))/12)*3 + (2 * 30px));
    }

    .footercontent .navmain a{
        display: block;
        margin-bottom: 10px;
    }
    .imagehero .col-5.right{
        float: none;
    }

    .col-5.right{
        float: none;
        width: calc(((100% - (12 * 30px))/12)*6 + (5 * 30px));
    }
    .imagehero .col-7, .contact .col-7{
        float: none;
        width: calc(((100% - (12 * 30px))/12)*12 + (11 * 30px));
    }

    h1:not(.surtitre){
        font-size: 1.8em;
    }

    .contenuleft{
        width: calc(((100% - (12 * 30px))/12)*12 + (11 * 30px));
    }

    .domaineslist .col, .campagneslist .col{
        clear: both;
        float:none;
        text-decoration: none;
    }

    .domaineslist .col, .campagneslist .col-3{
        width: calc(((100% - (12 * 30px))/12)*6 + (5 * 30px));
    }

    .domaineslist .col, .campagneslist .col-9{
        width: calc(((100% - (12 * 30px))/12)*12 + (11 * 30px));
    }

    .resourcelisting{
        flex-direction: column;
        align-items: center;
    }
    .resourcelisting .categorycolumn {
        width:100%;
    }

    .resourcelisting.withfilter .categorycolumn{
        flex-direction: column;
        align-items: center;
    }
    .categoryback{
        margin-left: auto;
        margin-right: auto;
    }

}

@media (max-width:600px){
    .domaineslist .col-3{
        width: calc(((100% - (12 * 30px))/12)*5 + (4 * 30px));
    }

    .domaineslist .col-9{
        width: calc(((100% - (12 * 30px))/12)*12 + (11 * 30px));
        margin-top: 0px;
    }

    .inside.small {
        width: calc(100% - 30px);
    }

    .image_habillage{
        width: 200px;
        margin-left: 0px;
    }

    .image_habillage.right{
        margin-right: 0px
    }

    
}

@media (max-width:500px){
    .gallerynews .col{
        width: calc(((100% - (12 * 30px))/12)*4 + (3 * 30px));
    }
    
    .domaineslist .col-3{
        width: calc(((100% - (12 * 30px))/12)*6 + (5  * 30px));
    }

    .teamitem .teamimage{
        float: none;
    }
    .teamitem .content{
        float: none;
        width:100%;
    }
}

@media (max-width:370px){
    .gallerynews .col{
        width: calc(((100% - (12 * 30px))/12)*6 + (5 * 30px));
    }
    .domaineslist .col-3{
        width: calc(((100% - (12 * 30px))/12)*8 + (7  * 30px));
    }
}