/* main css */

/*
font-family: 'Passion One', cursive;
font-family: 'Poiret One', cursive;
font-family: 'Monoton', cursive;
font-family: 'Open Sans', sans-serif;
font-family: 'Open Sans Condensed', sans-serif;

*/

html,body{
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	background: #fff;
	color: #333;
	/*font-family: 'Open Sans', sans-serif, tahoma,calibri,arial,"Trebuchet MS";*/
    height: 100%;
    width: 100%;
}

::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #403f3e;
  font-weight: 300;
}

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #403f3e;
  opacity: 1;
  font-weight: 300;
}

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #403f3e;
  opacity: 1;
  font-weight: 300;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #403f3e;
  font-weight: 300;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #403f3e;
  font-weight: 300;
}

*{
	-webkit-transition: all 0.3s cubic-bezier(0.76, 0.09, 0.45, 0.3);
	-moz-transition: all 0.3s cubic-bezier(0.76, 0.09, 0.45, 0.3);
	-o-transition: all 0.3s cubic-bezier(0.76, 0.09, 0.45, 0.3);
	transition: all 0.3s cubic-bezier(0.76, 0.09, 0.45, 0.3);
}

img{
	width: 100%;
}

a{
	color: inherit;
	text-decoration: none;
}

hr {
    width: 40%;
    margin: 20px 0;
    border: none;
    background: #1b1464;
    height: 2px;
}

ol, ul {
  margin: 0;
}

select {
  display: block;
}

figure {
  margin: 0;
}

frame {
  border: 0;
}

td, th {
  border-radius: 0px;
}


b, i, sup, sub, u, del {
  color: #77d5f7;
}

th,td{
	vertical-align: bottom;
	padding: 6px;
	border-collapse: collapse;
	border: 1px solid #fcfcfc;
}

tr:nth-child(even){
	background: #fbf9fc;
}

input[type="image"]{
	width: 30px;
	display: inline-block;
	margin: auto 10px;
}

input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="file"],input[type="tel"],textarea,input[type="date"], select{
	outline: none;
	display: block;
	width: 70%;
	margin: 10px 0%;
	padding: 5px;
	/* padding-left: 30px; */
	border: 1px solid #20a3eb;
	background: none;
	color: #0072bc;
}
textarea{
	resize: unset;
	height: 70px;
	outline: none;
	border-radius: 2px;
}


h1,h2,h3,h4,h5,h6, p{
	margin: 20px 0;
	padding: 0;
}

em{
	font-style: normal;
}

main{
	margin: 0;
	padding: 0;
	
}

.btn, input[type="submit"], input[type="button"], button {
	position: relative;
	line-height: 20px;
	border: 1px solid;
	background: #1b1464;
	padding: 15px 30px;
	display: inline-block;
	width: fit-content;
	max-width: 300px;
	color: #fff;
	font-weight: normal;
	cursor: pointer;
	outline: none;
	overflow: hidden;
	z-index: 1;
}

.btn:hover,  input[type="submit"]:hover, input[type="button"]:hover, button:hover{
	background: #ed1f27;
}

.a-btn {
    color: #1b1464;
    font-weight: 800;
	cursor: pointer;
}
.a-btn:hover{
	color: #d00;
}

.main-header {
    position: relative;
}

.top-barre {
    display: flex;
    justify-content: space-between;
    align-items: center;
	padding: 0 10%;
	z-index: 9;
}

.logo-wrapper {
    width: 140px;
}

.icones {
    width: 20px;
    vertical-align: middle;
    margin: 0 10px;
    margin-left: 0;
}

.menu-wrapper {
    margin: 0 10%;
	width: 80%;
	position: absolute;
	z-index: 9;
    background: #fff;
    display: flex;
	justify-content: space-between;
}
	.menu {
		z-index: 9;
		display: flex;
		box-sizing: border-box;
		justify-content: center;
		position: relative;
		place-items: center;
		place-content: center;
	}
	
	.menu > a, .menu > span{
		z-index: 9;
		box-sizing: border-box;
		padding: 20px 40px;
		min-width: 100px;
		width: auto;
		position: relative;
		cursor: pointer;
		color: #1b1464;
		transition: 0.4s ease-in-out;
	}
	
	.menu > a:hover, .menu > span:hover, .menu > a.actif, .menu > span.actif{
		background: #1b1464;
		color: #fff;
	}
	
	.submenu {
		position: absolute;
		min-width: 300px;
		width: auto;
		background: #1b1464;
		color: #fff;
		box-sizing: border-box;
		padding: 10px 20px;
		top: 60px;
		left: 0;
		z-index: 2;
		transform: scaleY(0);
		transform-origin: top;
		overflow: hidden;
		transition: 0.4s ease-in-out;
	}
	
	.menu > span:hover .submenu{
		transform: scaleY(1);
	}
	
	.submenu > a{
		display: block;
		padding: 5px 0;
	}

	.submenu > a:hover{
		background: #fff;
		color: #1b1464;
		padding: 10px 20px;
	}
	
	.quick-contact {
		width: 30%;
		place-self: baseline;
		text-align: center;
		background: #1b1464;
		box-sizing: border-box;
		padding: 20px 40px;
		clip-path: polygon(10% 0%, 100% 0, 100% 0%, 100% 100%, 0% 100%);
		color: #fff;
	}
	
	.quick-contact:hover{
		background: linear-gradient(45deg, #1b1464, #ed1f27);
	}
	
	
	.quick-links {
		position: absolute;
		z-index: 99;
		margin: 0 20%;
		width: 60%;
		background: #1b1464;/*linear-gradient(45deg, #1b1464, #ed1f27);/*#1b1464;*/
		color: #fff;
		top: 96vh;
		display: flex;
		place-content: center;
		place-items: center;
		/* transform: translate(0px, -50px); */
	}
	
	.quick-links a{
		width: 100%;
		padding: 20px 40px;
		display: block;
		text-align: center;
		position: relative;
	}
	
	.links:not(:last-child):after{
		content: "";
		position: absolute;
		height: 40px;
		width: 4px;
		background: #fff;
		right: -4px;
		top: 10px;
		z-index: 9;
		transition: 0.4s ease-in-out;
	}
	
	.links:hover{
		font-weight: bold;
		background: #d00;
	}
	.links:hover::after{
		right: 0px;
		height: 10px;
		top: 25px;
	}
	
	
.main-wrapper {
    padding: 50px 10%;
}


.text-decoration{
	/*text-decoration: underline;*/
	position: relative;
	margin: 10px auto;
}

.text-underline{
	border-bottom: 1px solid #fff;
}

.text-decoration:hover{
	font-weight: 600;
}

.text-important{
	font-size: 1.7em;
}
p.text-important{
	margin: 0 0 20px;
}

.text-center{
	text-align: center;
}

.text-decoration:after{
	content: "";
	height: 2px;
	width: 60%;
	transform: scaleX(0);
	transform-origin: left;
	background: #d00000;
	position: absolute;
	bottom: -0.3em;
	right: 0;
	left: 0;
	-webkit-transition: all 0.4s cubic-bezier(0.17,.67,.83,.67);
	-moz-transition: all 0.4s cubic-bezier(0.17,.67,.83,.67);
	-o-transition: all 0.4s cubic-bezier(0.17,.67,.83,.67);
	transition: all 0.4s cubic-bezier(0.17,.67,.83,.67);
}

.text-decoration:hover:after,.text-decoration.actif:after{
	transform: scaleX(1);
}

.text-decoration.actif{
	color: #d00000;
}


.background-image .important{
	color: #d00000;
	word-spacing: 1.2em;
    letter-spacing: 0.12em;
}
.light{
	color: #1b1464;
	border-color: #fff;
}

.middle{
	color: #1b1b19;
	border-color: #1b1b19;
}

.bg-color{
	background: #d00000;
}

.bg-color-light{
	background-color: rgba(255,255,255,0.9);
	padding: 10%;
    letter-spacing: unset;
    color: #000;
}

.text-color{
	color: #d00000;
}

.important{
	/*font-family: 'Lobster Regular', fantasy;*/
}

a.actif {
    color: #6d0303;
    font-weight: 600;
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}

.inline-flex {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.flex-grow {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -moz-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.flex-wrap {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
}

.flex-middle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}

.flex-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  justify-content: flex-end;
}

.flex-top {
  -webkit-align-self: flex-start;
  -moz-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.flex-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}

.flex-bottom {
  -webkit-align-self: flex-end;
  -moz-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.space-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}

.space-around {
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  justify-content: space-around;
}

.flex-column {
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.flex-cell {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -moz-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.display-none{
	display: none;
}

.display-grid, .grid {
  display: grid;
  min-height: 10vh;
  padding: 10px;
}

.grid-2-column-auto {
	grid-template-columns: auto auto;
}

.grid-2-column-egal {
	grid-template-columns: 1fr 1fr;
}

.grid-2-column-1big {
	grid-template-columns: 2fr 1fr;
}
.grid-2-column-2big {
	grid-template-columns: 1fr 2fr;
}

.grid-2-column-2big > div:first-child{
	background-color: #9E9E9E;
	
	background-image: url(../bg/video-t1.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	
}
.grid-2-column-2big > div:nth-child(2){
	background-color: #f7f7f7;
	
	/*background-image: url(../bg/texts-t.png);*/
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
	
	padding: 10px;
}

.grid-3-column-auto {
	grid-template-columns: auto auto auto;
}

.grid-3-column-egal {
	grid-template-columns: 1fr 1fr 1fr;
}

.grid-4-column-auto {
	grid-template-columns: auto auto auto auto;
}

.grid-4-column-egal {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.grid-2-column-panel{
	grid-template-columns: 1fr 3fr;
}
.grid-2-column-lpanel{
	grid-template-columns: 3fr 1fr;
}

.grid-2-column-panel-content{
	grid-template-columns: 1fr 2fr;
}

.grid-3-column-panel-content{
	grid-template-columns: 1fr 2fr 1fr;
}

.single{
    grid-column: 1 / 4; 
    display: grid; 
    grid-template-columns: 1fr 2fr; 
    align-items: self-start; 
    gap: 20px;
}

.input-container .btn{
	height: 50px;
	margin: -11px;
    width: auto;
    border-radius: 0;
}

.input-container,.textarea-container {
    display: flex;
	height: 30px;
	border: 1px solid #d7d0d0;
	padding: 10px 6px;
	border-radius: 5px;
	background: #fff;
	margin: 10px auto;
}

.textarea-container{
	height: 60px;
	box-sizing: border-box;
}

.input-container > input, .input-container > select {
    flex: 1;
	border: none;	
	outline: none;
	width: 100%;
}

.textarea-container > textarea{
	flex: 1;
	border: none;	
	outline: none;
	height: 100%;
	width: 100%;
	resize: none;
}


input[type="image"] {
    width: 30px;
    display: inline-block;
    margin: 0 10px;
    flex: unset;
}

label.location {
	background: url(../icones/placeholder.png);
}
label.pays {
	background: url(../icones/worldwide.png);
}
label.search {
	background: url(../icones/icons8-rechercher-plus-100.png);
}
label.tel {
	background: url(../icones/icons8-téléphone-100.png);
}
label.mail {
	background: url(../icones/icons8-gmail-100.png);
}
label.hotel {
	background: url(../icones/icons8-société-100.png);
}
label.voiture {
	background: url(../icones/icons8-voiture-100.png);
}
label.password {
	background: url(../icones/icons8-mot-de-passe-100.png);
}
label.user {
	background: url(../icones/icons8-utilisateur-masculin-100.png);
}
label.date {
	background: url(../icones/icons8-heures-supplémentaires-100.png);
}
label.text {
	background: url(../icones/icons8-clavier-100.png);
}
label.number {
	background: url(../icones/icons8-comptabilité-100.png);
}
label.selection {
	background: url(../icones/more.png);
}

.input-container > label, .textarea-container > label{
    width: 30px;
	padding-left: 30px;
	box-sizing: border-box;
	overflow: hidden;
		background-position-x: 0%;
		background-position-y: 0%;
		background-repeat: repeat;
		background-size: auto;
	background-position: left;
	background-repeat: no-repeat;
	background-size: contain;
}

.wrapper {
    padding: 40px 0;
}

.content {
    padding: 10px 20px;
}

#welcome{
    background: #f9c83f;
	display: flex;
    flex-direction: column;
    place-content: center;
}

.signature {
    align-self: flex-end;
}

#part img {
    margin: 10px 20px;
    width: 140px;
}


.menu-grid{
	margin: auto;
	display: grid;
	grid-template-columns:1fr 1fr 1fr 1fr;
	
}
	.menu-grid a{
		transition: all 0.4s cubic-bezier(0.17,.67,.83,.67);
	}
	
	.menu-grid .a{
		background: url(../img/bg/about.jpeg);
	}
	.menu-grid .b{
		background: url(../img/bg/enfant-parents.jpg);
	}
	.menu-grid .d{
		background: url(../img/bg/job.jpg);
	}
	.menu-grid .e{
		background: url(../img/bg/events.jpeg);
	}
	.menu-grid .g{
		background: url(../img/bg/classe2.jpg);
	}
	
	.menu-grid .c{
		grid-row: 1/1;
		grid-column: 3/5;
		background: url(../img/bg/staff.png);
	}
	
	.menu-grid .h{
		grid-row: 2/3;
		grid-column: 2/4;
		background: url(../img/bg/colors4.jpg);
	}	
	
	.menu-grid .f{
		grid-row: 3/3;
		grid-column: 1/3;
		background: url(../img/bg/contacts.jpeg);
	}	


.menu-grid{
	
}	
	
.menu-grid .item{
	position: relative;
	margin: 5px;
	min-height: 150px;
	color: #fff;
    text-shadow: 1px 1px 4px rgba(51, 47, 47, 0.7);
	font-size: 1em;
	text-align: center;
	background-size: 100%;
	background-position: center;
	box-shadow: 0px 0px 2px rgba(0,0,0,0.4);
	cursor: pointer;
	overflow: hidden;
	transition: all background-size 0.4s cubic-bezier(0.17,.67,.83,.67);
}
.menu-grid .item:nth-child(odd){
	background-color: rgba(255,255,65, 0.99);
}
.menu-grid .item:nth-child(even){
	background-color: rgba(22, 140, 202, 0.99);
}

.menu-grid .item > div{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 140px;
	padding: 10px;
	background: rgba(255,255,255,0);
}

.menu-grid .item > div:hover{
	background: rgba(255,0,0,0.6);
}
.menu-grid .item:hover{
	background-size: 150%;
	box-shadow: 0px 0px 4px rgba(0,0,0,0.6);  
}

.item h3 {
    position: absolute;
    bottom: 20px;
	z-index: 6;
}

.blue {
    background: #1b1464;
}

.news {
    grid-gap: 20px;
}

.connectivity-wrapper {
    display: flex;
    flex-direction: column;
}


.footer-wrapper {
    /*
    background: linear-gradient(60deg, #1b1464, #ed1f27, #1b1464 100%);
    color: ghostwhite;*/
    color: #515151;
    background: rgba(0,0,0,0.03);
}

.footer-bottom {
    padding: 10px;
    text-align: center;
}


.menu-btn{
z-index: 3;
width: 30px;
height: auto;
margin-right: 20px;
cursor: pointer;
display: none;
}

.menu-btn span{
width: 100%;
height: 3px;
background: #1b1b1b;
display: block;
margin: 3px 0;
}

.menu-btn-actif span{
background: #fff;
}

.link-btn{
	background: #ed1f27;
	color: #fff!important;
	
	animation-name: slide; /* nom de l’animation */
	animation-duration: 20s; /* durée totale */
	animation-iteration-count: infinite; /* nombre d’itérations */
	animation-timing-function: ease-in-out;
	animation-delay: 5s; /* durée totale */
}

.link-btn:hover{
	animation-play-state: paused;
}

span.traduction {
    width: auto;
    display: flex;
}

.footer-wrapper ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-wrapper ul li{
    padding: 0;
    margin: 5px 0;
}

#about {
    padding: 40px 10%;
}

@-webkit-keyframes slide {
	0% {transform: translate(0%, 0%); background: #f44336;} /* opacité complète */
	50% {transform: translate(5%, 0%); background: #00bcd4;} /* opacité nulle à la moitié de l’animation */
	80% {transform: translate(10%, 0%); background: #fcee21;} /* opacité nulle à la moitié de l’animation */
	100% {transform: translate(0%, 0%); background: #ed1f27;} /* retour à l’état initial */
}

/* For smartphones */
@media screen and (max-width: 800px) {
	.menu-btn {
		z-index: 99;
		position: absolute;
		left: 10px;
		bottom: unset;
		width: 30px;
		height: auto;
		cursor: pointer;
		display: block;
	}
	
	.menu-btn-actif span{
		background: #1b1b1b;
	}
	
	.menu-wrapper{
		left: -200vw;
		display: block;
	}
	
	.menu{
		display: block;
	}
	
	.menu > a, .menu > span{
		display: block;
	}
	
	.quick-contact {
		width: unset;
		place-self: baseline;
		text-align: center;
		background: #1b1464;
		box-sizing: border-box;
		padding: 10px 30px;
		clip-path: unset;
		color: #fff;
	}
	
	.submenu{
		position: relative;
		transform: unset;
		overflow: hidden;
		min-width: unset;
		top: 0;
		left: 0;
		display: none;
	}
	
	.menu > span:hover > .submenu{
		display: block;
	}
	
	.menu-grid{
		margin: auto;
		display: grid;
		grid-template-columns:1fr 1fr;
		
	}
	
	.menu-grid .c{
		grid-row: 1/1;
		grid-column: 2/3;
	}
	
	.menu-grid .h{
		grid-row: 2/4;
		grid-column: 1/2;
		background-attachment: fixed;
		background-size: cover;
		background-repeat: no-repeat;
	}	
	
	.menu-grid .f{
		grid-row: 4/5;
		grid-column: 1/3;
	}
	
	input[type="image"] {
		flex: inherit;
	}
	
	.traduction {
		
	}

	.important {
		
	}
	
	.float{
		bottom: unset;
		top: 0;
		box-shadow: 0px 2px 4px rgba(0,0,0,0.4);
	}
	
	.flex, .display-grid, .display-flex, .grid, .single{
		display: block;
	}
	
	.display-grid{
		padding: 0px;
		display: block;
	}
	
	.display-grid div {
		/*margin: 20px auto;*/
	}
	
	.quick-links {
		display: block;
		top: 80%;
		margin: 0 5%;
        width: 90%;
	}
	.quick-links a {
		width: unset;
	}
	
	.links:not(:last-child):after {
		content: "";
		position: absolute;
		height: 4px;
		width: 40px;
		background: #fff;
		right: 40%;
		top: unset;
		bottom: -4px;
		z-index: 9;
		transition: 0.4s ease-in-out;
	}
	
	.links:hover::after{
		width: 100%;
		top: unset;
		bottom: 0px;
		right: 0;
	}
	
	#about {
        padding: 40px 20px;
    }
    
    .main-wrapper {
        padding: 50px 5%;
    }
    
    .menu-wrapper {
        margin: 0%;
        width: 100%;
    }
    
    .menu > a, .menu > span{
        padding: 20px;
    }
    
    .logo-wrapper {
    	width: 100px;
    	margin: 0 auto;
    }
    
    .top-barre {
    	padding: 0 5%;
    }
}