.ratio {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background-color: #1C649D;
	line-height: 1;
	display: flex;
	flex-direction: column;
}

.fimgcontainer {
	min-width: 0;
	min-height: 0;
	flex: 1 1 0%;
	position: relative;
}

.fimgcontainer>img {
	max-width: 96%;
	max-height: 96%;
	margin: auto;
	display: block;
	position: absolute;
	top:2%;
	bottom:2%;
	right:2%;
	left:2%;
}

.fpcenter {
	max-width: 720px;
	margin-left:auto;
	margin-right:auto;
    line-height: 0;
}

/* Frontpage Category*/
.fpcenter .category{
	margin-top: 18.46px;
	width:30.83333%;
	position: relative;
	font-size:2em;
	line-height:1;
    flex-shrink: 0;
    align-self: flex-start;
    order: 2;
}
.fpcenter .category.nchosen{
	animation-name: onchosecategory;
	animation-duration: 1s;
	animation-direction: reverse;
	order:2;
}
.fpcenter .category.chosen, .category:target {
	animation-name: onchosecategory;
	animation-duration: 1s;
	width:10%;
	font-size: 0;
	order:1;
}
.fpcenter .category:hover{ 
	cursor:pointer;
}
.fpcenter .category h3{
	color: white;
	text-align: center;
	overflow: hidden;
	margin: 0;
	font-size:inherit;
	line-height:inherit;
}
@keyframes onchosecategory{
	0% { 	width:30.83333%;
			font-size: 2em;
			order:2;}
	1% { 	width:30.83333%;
			font-size: 2em;
			order:1;}
	100% { 	width:10%;
			font-size: 0em; 
			order:1;}
}

/* Frontpage subcategory*/
.fpcenter .subcategory{
	display: inline-block;
	margin: 18.46px 2.5% 0 0;
	width: 0px;
	font-size: 0;
	vertical-align: top;
	order: 2;
	background: #1C649D;
}
.fpcenter .subcategory>li{
	display: inline-block;
	width: 31.5%;
	padding-left: 1.5%;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	line-height: 1.25;
	vertical-align: text-top;
}
.fpcenter .subcategory>li:nth-child(n+4){
	display: inline-block;
	width: 31.5%;
	padding-left: 1.5%;
	padding-top: 1.5%;
	vertical-align: text-top;
}
.fpcenter .subcategory>li>a{
	color: #f5f5f5 !important;
}
.fpcenter .subcategory>li>a:hover{
	color: #fff !important;
}
.fpcenter .subcategory.chosen, .category:target + .subcategory {
	animation-name: onchosesubcategory;
	animation-duration: 1s;
	width: 87.5%;
	order:1;
	font-size: 1em;
}
.fpcenter .subcategory.nchosen{
	animation-name: onchosesubcategory;
	animation-duration: 1s;
	animation-direction: reverse;
	order:2;
}
.fpcenter .subcategory .help img{
	max-width: 100%;
	max-height: 100%;	
	margin:0;
}
.fpcenter .subcategory div.link{
	display: inline-block;
	width:33%;
	height:100%;
	position: relative;
}
.fpcenter .subcategory a.link{
	display: block;
    padding-top: 100%;
    position: relative;
	background-color: #1C649D;
}
.fpcenter .subcategory .link img {
    position: absolute;
    top: 2%;
    bottom: 2%;
    right: 2%;
    left: 2%;
    margin: auto;
    max-width: 96%;
    max-height: 96%;
}

.fpcenter .subcategory .help{
	position: absolute;
	top:0;
	right:0;
	width: 30%;
	height: 30%;
}
@keyframes onchosesubcategory{
	0% {	order:2;
			width:0;
			font-size:0;}
	1% { 	width:0;
			order:1;
			font-size:0;}
	100% { 	width:87.5%;
			order:1;
			font-size:1em;}
}



.socialbox{
    flex: 1 0 0;
}

#page-header{
	text-align: center;
    display: flex;
    justify-content: space-between;
}
#logocontainer{
	width: auto;
	max-width:300px;
    flex: 1 0 0;
}
img.imgr{
	width: 100%;
}
.ctooltip {
	position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.ctooltip .ctooltiptext {
	visibility: hidden;
    background-color: #69a3df;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    width: 300px;
    top: 100%;
    left: 50%; 
    margin-left: -150px;
}

.ctooltip:hover .ctooltiptext {
	visibility:visible;
}
.ctooltip .ctooltiptext::after{
	content: " ";
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #69a3df transparent;
}
#popupshadow{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	background:black;
	opacity:0.6;
	z-index:1;
}
#popup{
	margin:auto;
	position:absolute;
	top:15vh;
	left:0;
	right:0;
	width:60vw;
	background:white;
	z-index:2;
	box-shadow: 4px 4px 6px black;
    border-radius: 5px;
    padding:1em;
}
#sitetitle, #sitetittle a, #sitetitle p{
    white-space: unset;
left:0px;
}

/**************************************************/

/*
/* Homepage January 2019 *****************
*/

#region-main .home-textpop{
  max-width:720px;
  margin:20px auto;
}

/* mise en page des dalles ****/
.fpcenter .category h3{
  font-size: 24px;
  padding-top: 10px;
}
.category .ratio{
  padding:15px;
}



.fpcenter .category.chosen h3{
  font-size:14px;
}
.fpcenter .category.chosen .ratio{
  padding:10px;
}

ul.subcategory.chosen{
  padding: 1.5%;
}

.fpcenter .subcategory{
  background: none;
}

ul.subcategory.chosen{
  background-color:#424242;
}

.fpcenter{
  margin-bottom:60px;
}
.home-textpop table td{
  vertical-align: top;
}
.home-textpop table td iframe{
  margin-top:10px;
  height:210px;
  width:97.5%;
  margin-left: 2.5% ;
}

.fpcenter .subcategory.chosen, .category:target + .subcategory {
    animation-name: onchosesubcategory;
    animation-duration: 1s;
    width: 77%;
    order: 1;
    font-size: 1em;
    margin-left:2.5%;
}

.fpcenter .category.chosen, .category:target {
    animation-name: onchosecategory;
    animation-duration: 1s;
    width: 15%;
    font-size: 24px;
    order: 1;
}

/* Animation et changements de taille */

@keyframes onchosecategory {
 0% {
  width:30.83333%;
  font-size:14px;
  order:2
 }
 1% {
  width:30.83333%;
  font-size:14px;
  order:1
 }
 100% {
  width:15%;
  font-size:24px;
  order:1
 }
}

@keyframes onchosesubcategory {
 0% {
  order:2;
  width:0;
  font-size:0;
  margin-left: 2.5%;
   opacity:0;
 }
 1% {
  width:0;
  order:1;
  font-size:0;
  margin-left: 2.5%;
   opacity:0;
 }
 100% {
  width: 77%;
  order:1;
  font-size:1em;
  margin-left: 2.5%; 
   opacity:1;
 }
}
  

/* Homepage alignment with the production layout. */

body#page-site-index #logo {
    max-width: 200px !important;
    max-height: 110px !important;
    width: auto !important;
    height: auto !important;
}

body#page-site-index #headertitle {
    display: flex;
    align-items: center;
}

body#page-site-index #headertitle h1,
body#page-site-index #sitetitle {
    font-size: 42px !important;
    line-height: 1.05 !important;
    color: #1C649D !important;
    font-weight: 400 !important;
    margin: 0;
}

body#page-site-index [data-target="theme_adaptable-drawers-sidepost"] {
    display: none !important;
}

body#page-site-index .fpcenter {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

body#page-site-index .fpcenter > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

body#page-site-index .fpcenter .category {
    flex: 0 0 30.83333% !important;
    width: 30.83333% !important;
    max-width: 30.83333% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

body#page-site-index .fpcenter img.imgr {
    width: 100% !important;
    height: auto !important;
    display: block;
}

body#page-site-index .fpcenter .subcategory:not(.chosen) {
    flex: 0 0 0px !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
}

body#page-site-index .fpcenter .subcategory.chosen {
    flex: 0 0 77% !important;
    width: 77% !important;
    max-width: 77% !important;
    height: auto !important;
    overflow: visible !important;
}

body#page-site-index .home-textpop {
    max-width: 720px;
    margin: 10px auto 20px;
}

body#page-site-index .home-textpop img {
    max-width: 100%;
    height: auto;
}

body#page-site-index .home-textpop table {
    width: 100%;
}

body#page-site-index #header1 > .container,
body#page-site-index #page-header.container,
body#page-site-index #maincontainer.container,
body#page-site-index #page-footer .blockplace1.container,
body#page-site-index #page-footer .info > .container {
    max-width: 1170px !important;
    width: 1170px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
body#page-site-index #header1 > .container {
    padding-right: 2px !important;
}
body#page-site-index #maincontainer.container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body#page-site-index #page-content.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: transparent !important;
}
body#page-site-index #region-main-box {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body#page-site-index #page-footer .info .col-md-4:has(.tool_dataprivacy) {
    margin-left: auto;
}

body#page-site-index #page-header .row {
    margin-left: 0;
    margin-right: 0;
}
