html {
  height: 100vh;
  box-sizing: border-box;
  margin:0px;
  /* overflow:hidden; */
}
*,
*:before,
*:after {
	box-sizing: inherit;
}
@font-face
{
	font-family: 'Allura';
	src: url('Resources/Polices/Allura-Regular.ttf');
}
@font-face
{
	font-family: 'semibold';
	src: url('Resources/Polices/SourceSansPro-Semibold.otf');
}
@font-face
{
	font-family: 'regular';
	src: url('Resources/Polices/SourceSansPro-Regular.otf');
}
@font-face
{
	font-family: 'bold';
	src: url('Resources/Polices/SourceSansPro-Bold.otf');
}
@font-face
{
	font-family: 'light';
	src: url('Resources/Polices/SourceSansPro-Light.otf');
}
body
{
	margin:0;
	font-family:regular;
	text-align: center;
	font-size:16px;
	min-height:98vh;
}
header
{
	text-align:left;
	margin:auto;
	font-size:2.8vw;
	font-family:regular;
	width:max-content;
}
footer
{
	display:block;
	position:fixed;
	bottom:-5px;
	left:50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
a
{
	text-decoration:none;
	color:black;
}
a:visited{
	text-decoration:none;
	color:black;
}
#viconline{
	position: fixed;
	z-index:1;
    width: 60px;
    right: 3vw;
    top: 40vh;
    border-radius: 100px;
    padding: 10px;
    background-color: #90dddb;
    box-shadow: black 1px 1px 5px;
	/* display:none; */
	animation: heartbeat 5s ease-in-out infinite;
	animation-delay: 5s;
  transform-origin: center;
}
@keyframes heartbeat {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  2% {
    transform: scale(1.2);
    opacity: 0.9;
  }
  4% {
    transform: scale(1);
    opacity: 1;
  }
  6% {
    transform: scale(1.15);
    opacity: 0.95;
  }
  15% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.a
{
	text-decoration:none;
	color:black;
	filter: drop-shadow(1px 1px 2px white);
}
.a:hover
{
	text-decoration:underline;
	color:black;
}
p{
	background-color:white;
	padding:1vw;
	line-height:3vh;
	border-radius:10px;
}
input, textarea{
	border: none;
    border-bottom: solid 1px grey;
    padding: 5px;
    margin: 5px;
    font-size: larger;
	background-color:transparent;
	font-family:regular;
}
input:focus, textarea:focus{
	border: none;
    border-bottom: solid 1px grey;
}
input:hover, textarea:hover{
	border: none;
    border-bottom: solid 1px grey;
	cursor:pointer;
}
h1, h2, h3, h4{
	font-family:bold;
	letter-spacing:2px;
	font-size-adjust:0.5;
	text-transform: uppercase;
}
#tool{
	position:fixed;
	width:80vw;
	top:0px;
	left:50%;
	transform:translate(-50%,0px);
	z-index:999;
}
#barreInput{
	display:inline-block;
	border-radius: 80px;
    background-color: white;
    box-shadow: grey 2px 2px 10px;
    padding: 14px;
    padding-top: 14px;
    padding-bottom: 10px;
}
#btnscd{
	background:transparent;
	margin-right:50%;
	float: inline-end;
	border: solid 2px #90dddb;
	box-shadow:none;
	color:white;
	position:absolute;
	bottom:10px;
	left:50%;
	font-size:45px;
	width:76px;
	text-shadow: 0 0 5px black;
}
.hashtag {
	opacity: 0;
	animation: apparitionTuile 1s ease-out forwards;
}
.top15{
	padding-top:15vh;
}
.largesmart{
	width:100%;
}
.left{
	text-align:left;
}
.right{
	text-align:right;
}
.center{
	text-align:center;
}
.marge{
	padding-left:10vw;
	padding-right:10vw;
}
.tuile{
	width:auto;
	text-align:left;
	vertical-align:top;
	padding:10px;
	border-radius:25px;
	box-shadow: black 1px 1px 5px;
	opacity: 0;
	animation: apparitionTuile 1s ease-out forwards;
}
@keyframes apparitionTuile {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.large{
	width:-webkit-fill-available;
	width:-moz-fill-available;
	width:-moz-available;
}
.button{
	/* border:solid 1px #da3722; */
	border-radius:100px;
	padding:10px;
	color:#2c388f;
	font-weight:bold;
	background-color:white;
	font-size:14px;
	white-space:nowrap;
	text-align:center;
	box-shadow: black 1px 1px 5px;
	margin:2px;
}
.button:hover{
	color:white;
	background-color:#2c388f;
	cursor:pointer;
}
.placeholderblanc::-ms-input-placeholder{
	color:white;
}
.placeholderblanc{
	color:white;
}
.placeholderblanc::placeholder {
	color:white;
	opacity:1;
}
.immiddle{
	display:inline;
	vertical-align:middle;
}
.immiddlesmart{
	display:inline;
	vertical-align:middle;
}
.immiddlenosmart :not(smart){
	display:inline;
	vertical-align:middle;
}
.sou_bot{
	border-bottom: solid 4px;
}
.nosou_bot:hover{
	background-color:cornsilk;
	border-radius:25px 25px 25px 25px;
	animation-name:sou_bot;
	animation-duration:0.5s;
}
@keyframes sou_bot{
	0%   {background-color:initial}
	50%   {background-color:cornsilk}
	100%   {background-color:cornsilk}
}
.souligne{
	text-decoration-line:underline;
	text-decoration-color:#a9efb5;
	text-decoration-thickness:4px;
	text-underline-offset: 10px;
}
.nosouligne:hover{
	text-decoration-line:underline;
	text-decoration-color:#a9efb5;
	text-decoration-thickness:4px;
	text-underline-offset: 10px;
	animation-name:souligne;
	animation-duration:0.5s;
}
@keyframes souligne{
	0%   {text-decoration-thickness:0px;}
	50%   {text-decoration-thickness:4px;}
	100%   {text-decoration-thickness:4px;}
}
.shadow{
	text-shadow: 1px 1px 10px black;
}
.top{
	vertical-align:top;
}
.border{
	border:solid 1px grey;
}
.avant-apres {
	position: relative;
	/* width: 100%; */
	/* max-width: 800px; */
	/* margin: 20px auto; */
	overflow: hidden;
}
.avant-apres > img {
	display: block;
	/* width: 100%; */
	height: auto;
}
.avant-apres .apres {
	position: absolute;
	top: 0;
	left: 0;
	/* width: 100%; */
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .3s ease;
}
/* ========================= SWITCH ========================= */
.avant-apres .switch {
	position: absolute;
	left: 50%;
	top: 15px;
	transform:translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 12px;
	background: rgba(0,0,0,.65);
	border-radius: 30px;
	color: white;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: bold;
	white-space: nowrap;
	z-index: 10;
}
.avant-apres .switch label {
	position: relative; 
	width: 42px; 
	height: 22px; 
	display: block; 
	cursor: pointer; 
}
.avant-apres .switch input { display: none; }
.avant-apres .slider {
	position: absolute;
	inset: 0;
	background: #777;
	border-radius: 20px;
	transition: .3s;
}
.avant-apres .slider::before {
	content: ""; 
	position: absolute; 
	width: 18px; 
	height: 18px; 
	left: 2px; 
	top: 2px; 
	background: white; 
	border-radius: 50%; 
	transition: .3s;
}
.avant-apres .switch input:checked + .slider {
	background: #4caf50;
}
.avant-apres .switch input:checked + .slider::before {
	transform: translateX(20px);
}