@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Ubuntu+Condensed&display=swap');

* {
	margin: 0;
	padding: 0;
	box-sizing:border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-size: var(--main-size);
	line-height: 1.6;
	color: var(--main-grey);
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	background-color: var(--body-bg);
	font-family: 'Ubuntu', sans-serif;
	min-height: 100vh;
    display: flex;
    flex-direction: column;
}

table{
	border-collapse:collapse;
	border-spacing:0
}

sup{
	line-height: initial;
}

::selection {
	color: #fff;
	background: #222247;
}

::-moz-selection {
 color: #fff;
 background: #222247;;
}

a, a:link, a:visited, a:focus, a:active, a:hover{
	text-decoration:none;
	color: #222247;;
}

a:hover{
	text-decoration:none;
	color: #a94c00;
}

p{margin-bottom:10px;}

section{
	background-color: white;
}
.content section{
	overflow-x: hidden;
}
.min-height{
	min-height: calc(100vh - var(--page-titre-height) - var(--header-height) - 450px);
}
section.full-large{
	overflow-x: unset;
}

.section {
	padding:4em;
}
.section.min-padding{
	padding:2em;
}

.section.max-large{
	width:1000px;
}
.section:not(.page-content) b{
    font-weight: 500;
}

.max-large
{
	max-width:1376px;
	margin-left:auto; margin-right:auto;
}
.max-large-plus
{
	max-width:1476px;
	margin-left:auto; margin-right:auto;
}
.section-margin-top
{
	margin-top:100px;
}
.section-margin-bottom
{
	margin-bottom:70px;
}
.section-padding-bottom
{
	padding-bottom:70px;
}
.section-padding
{
	padding:var(--section-padding);
}

.flottant{
	text-align: center;
	margin-top: 3em;
	margin-bottom: 3em;
}

.hidden{
	display:none !important;
}

.center{
	text-align: center;
}

.justify{
	text-align: justify;
}

.nowrap{
	white-space: nowrap;
}

.bold{
	font-weight: 700;
}

.uppercase,
*.uppercase{
	text-transform: uppercase !important;
}

.fw-200{
	font-weight: 200 !important;
}

.o-30{
	opacity:.3 !important;
}

.erreur{
	color: red;
	font-weight: bold;
}

.disable,
.disable i{
	pointer-events: none;
	/*opacity: 0;*/
	color:rgba(0,0,0,.2) !important;
}

button:not(.select2-selection__choice__remove, .ce-inline-tool, .ck, #first-anchor),
a.button,
.content a.button,
.content a.button:link,
.content a.button:visited{
	font-size: 100%;
	background-color: #4274b4;
	color: #ffffff;
	padding: .8em 2em;
	border: none;
	border-radius: .4em;
	line-height: 1;
	cursor: pointer;
	text-transform:uppercase;
	letter-spacing: 1px;
	font-weight: 500;
	margin-top: .5em;
	margin-bottom: .5em;
}
a.button,
.content a.button,
.content a.button:link,
.content a.button:visited{
	font-size: 100%;
	background-color: #4274b4;
	padding: .5em .9em;
	font-weight: 400;
	margin: unset;
	margin:0 .2em;
	text-transform:unset;
}
button:not(.select2-selection__choice__remove, .ce-inline-tool, .ck):hover,
a.button:hover{
	color: #f7f0a9;
	background-image: linear-gradient(rgb(0 0 0/40%) 0 0);
}
button:not(.select2-selection__choice__remove, .ce-inline-tool, .ck) i,
a.button i{
	padding-right:.4em;
}

button.invert,
a.button.invert{
	background-color: transparent;
	color: #4274b4;
	border: 1px dashed;
}
button.invert:hover,
a.button.invert:hover{
	color: white;
	background-color: #4274b4;
	border: 1px solid #4274b4;
	background-image:none;
}
button.blocked{
    opacity:.4;
    pointer-events: none;
}

button.invertBlocked,
a.button.invertBlocked{
	background-color: transparent;
	color: #4274b4;
	border: 1px dashed #4273b47b;
	font-weight: 400;
	pointer-events: none;
	transition: all .3s;
}

a.a-button-big{
	font-size: 110%;
	padding: .8em 1.2em;
}

a.a-button-center{
	margin-right: auto;
	margin-left: auto;
    display: block;    
    width: fit-content;
}

.a-fonce,
.content .a-fonce
{
	background-color: rgba(255,255,255,.2);
	color: white !important;
	font-weight: 300;
	padding: 0.8em 1.4em;
}
.a-fonce:hover,
.content .a-fonce:hover
{
	background-color: rgba(0,0,0,.3);
	background-image:none;
	color: white !important;
	font-weight: 300;
}

.a-clair,
.content .a-clair
{
	background-color: var(--main-blue);
	color: white !important;
	font-weight: 300;
	padding: 0.8em 1.4em;
}
.a-clair:hover,
.content .a-clair:hover
{
	background-color: rgba(0,0,0,.5);
	color: white !important;
	background-image:none;
	font-weight: 300;
}

.a-center{
    margin: 0 auto !important;
    display: block;
    width: fit-content;
}

.a-download:before{
	content:"\f019";
	font-family: var(--font-awesome);
	padding-right: .5em;
}
.a-mail:before{
	content:"\f0e0";
	font-family: var(--font-awesome);
	padding-right: .5em;
}
.a-plus:before{
	content:"\f0fe";
	font-family: var(--font-awesome);
	padding-right: .5em;
}
.a-question:before{
	content:"\f059";
	font-family: var(--font-awesome);
	padding-right: .5em;
}

.bt-center,
.bt-right{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}
.bt-center button,
.bt-right button{
	margin: .5em;
}
.bt-right{
	justify-content: flex-end;
}
.bt-disable{
	pointer-events:none;
	opacity:.3;
}

.is-centered{
	display: block;
	margin:.5em auto;
	text-align: center;
}

.buttons-flex{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
	margin-bottom: 1em;
}
.buttons-flex button{
	margin:0 .7em;
}

.is-sticky{
	position: sticky;
	top: 4px;
	z-index: 2000;
}

.opacity0{
	opacity: 0;
}

button.g-agenda{
	color:gray !important;
	background-color:white !important;
	box-shadow: 0 1px 5px #b7b7b7 !important;
	
	transition: box-shadow .3s;
}
button.g-agenda:hover{
	background-color:white !important;
	background-image:none !important;
	box-shadow: 0 8px 20px #cccccc !important;
	color: var(--main-pink) !important;
}
button.g-agenda i{
	transform: scale(1.4);
	color: var(--main-pink);
}

.bt-back,
.bt-gray
{ background-color:#7e7e7e !important; }
button.bt-blue{ background-color:#0d90db !important; }
button.bt-green{ background-color:#4ab674 !important;}
button.bt-pink{ background-color:#f071d0 !important; }
button.bt-red{ background-color:#bc3607 !important; }
button.bt-saumon{ background-color:#ef5858 !important; }
button.bt-orange{ background-color:#da9d47 !important; }

.t-grey{ color:#a4a4a4; }
.t-yellow{ color:#5ecf32; }
.t-orange{ color:#e6a835; }
.t-green{ color:#07bc53; }
.t-red{ color:red; }
.t-pink{ color:#f071d0; }
.t-cyan{ color:#3b98bb; }

.border-grey{ border-color:#a4a4a4; }
.border-yellow{ border-color:#5ecf32; }
.border-green{ border-color:#07bc53; }
.border-red{ border-color:#bc3607; }
.border-pink{ border-color:#f071d0; }

input,
textarea,
select{
	background:#FAFAFA;
	border: 1px solid #c7c7c7;
    color: #666;
    padding: .6em .9em;
	border-radius: 6px;
	font-size:100%;
	font-family: 'Ubuntu', sans-serif;
}
input:hover,
textarea:hover,
select:hover,
input:focus,
textarea:focus,
select:focus{
	border-color: rgba(13, 27, 219, 0.8);
	outline: 0;
	outline: thin dotted \9;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(13, 27, 219, 0.3);
	-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(13, 27, 219,.3);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(13, 27, 219,.3);
}

::placeholder{
	color: #acacac;
	opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #838383;
}
  
::-ms-input-placeholder { /* Microsoft Edge */
	color: #838383;
}

hr{
	border-top: 1px dashed #9b9b9b;
	border-bottom: none;
	margin-bottom: 3em;
	margin-top: 3em;
	width: 100%;
}
.pipe{
	opacity: .3;
	margin-left: .5em;
	margin-right: .5em;
	font-weight: 200;
}

.texte_long{
	font-size: 90%;
}
.form .texte_long p,
.texte_long p{
	margin-bottom: 1em;
}
.texte_long h2{
	text-align: left;
	margin-bottom: 1.5em;
}
.texte_long a:not(.button){
	color: var(--main-blue) !important;
	font-weight: 700 !important;
}
.texte_long a:not(.button):hover{
	color: var(--main-pink) !important;
}
.texte_long ul{
	padding-left: 1.5em;
}
.texte_long ul li{
	list-style:disc;
}



/* SWITCH */
.switch,
.form label.switch {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 24px;
    padding-right: unset;
    line-height: unset;
    text-align: unset;
  }
  
  .switch input { 
	opacity: 0;
	width: 0 !important;
	height: 0 !important;
  }
  
  .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: .4s;
	transition: .4s;
  }
  
  .slider:before {
	position: absolute;
	content: "";
	height: 16px;
	width: 16px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
  }
  
  input:checked + .slider {
	background-color: #2196F3;
  }
  
  input:focus + .slider {
	box-shadow: 0 0 1px #2196F3;
  }
  
  input:checked + .slider:before {
	-webkit-transform: translateX(26px);
	-ms-transform: translateX(26px);
	transform: translateX(26px);
  }
  
  /* Rounded sliders */
  .slider.round {
	border-radius: 34px;
  }
  
  .slider.round:before {
	border-radius: 50%;
  }


.bottom-arrow:after {
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.92em;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 1em solid;
    border-left: 1.25em solid transparent;
    border-right: 1.25em solid transparent;
}

.ajax-loading{
	opacity: .5;
	background-color: #f1f1f1;
	/*position: relative;*/
	pointer-events: none;
}
.ajax-loading:before{
	content: "\f110";
	font-family: 'Font Awesome 6 Pro';
	font-size:5vh;
	width: 10vw;
	text-align: center;
	position: fixed;
	top: 45vh; 
	left: 45vw; 
	z-index: 10;
	-webkit-animation: fa-spin 2s infinite linear;
  	animation: fa-spin 2s infinite linear;
}

@media (min-width: 1080px) {
	.hideOnDesktop{
		display: none !important;
	}
}
@media (max-width: 1079px) {
	nav * {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-tap-highlight-color: transparent;
	}
	#popup_content{
		width: 90%;
		padding: 32px;
		padding-top: 44px;
		padding-right: 36px;
	}
	#popup #close{
		right: 0px;
		top: -2px;
	}
	.section.max-large{
		width:100%;
	}
	.section,
	.section.min-padding {
		padding:1em;
	}
	.hideOnMobile{
		display: none !important;;
	}

	button:not(.select2-selection__choice__remove, .ce-inline-tool, .ck, #first-anchor), a.button, .content a.button, .content a.button:link, .content a.button:visited {
		font-size: 95%;
		padding-left: 1em;
		padding-rigth: 1em;
		letter-spacing: 0px;
	}
}