/* ========== styleMain.css : commun aux deux thèmes ========== */

/* Fonts Google */
@import url(https://fonts.googleapis.com/css?family=Lato:400,300,700);
@import url(https://fonts.googleapis.com/css?family=Roboto);

/* Fonts locales */
@font-face {
  font-family: "Zebulon";
  src: url("/fonts/zebulon italic.otf");
}

@font-face {
  font-family: "Bahnschrift";
  src: url("/fonts/bahnschrift.ttf");
}

@font-face {
  font-family: "Zebulon Condensed";
  src: url("/fonts/zebulon condensed italic.otf");
}

@font-face {
  font-family: 'Open Sans Condensed';
  font-style: italic;
  font-weight: 300;
  src: url(https://fonts.gstatic.com/s/opensanscondensed/v23/z7NHdQDnbTkabZAIOl9il_O6KJj73e7Fd_-7suD8Rb2V.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 300;
  src: url(https://fonts.gstatic.com/s/opensanscondensed/v23/z7NFdQDnbTkabZAIOl9il_O6KJj73e7Ff1GhDuXMRw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObjz2VZyOOSr4dVJWUgsjZ0B4gaVI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------ reset / base ------ */

* {
	font-size: inherit;
	margin:0;
	padding:0;
	border:0;
}

a {
	color:#0095cb;
}

p { 
	margin:min(1.5vh,1.5vw) 0; 
	user-select: text;
}

select {
	box-sizing: content-box;
}

/* Typo / tableaux */
table{
	border-collapse: collapse;
}

td, tr{
	border: 1px solid #999;
    text-align: center;
    padding: 5px;
}

h1{
	margin-left:25px;
	color:#cc322d;	
	font-size:max(1.25em,min(3vw,3vh));
}

h2{
	font-size:max(1.25em,min(3vw,3vh));
}

h3{
	font-size:max(1.25em,min(2vh,2vw));
	color:#cc322d;
}

hr{
	border: none;
    border-top: 1px solid #999;
    margin: 10px 0px;
    width: 100%;
}

/* Input file invisible */
input[type="file"] {
	opacity:0;
}

/* Logo marques : base commune */
.logoMarque img{
	max-width: 80px;
	max-height: 50px;
	vertical-align:middle;
}

.logoMarque{
	width: 100px;
    display: inline-block;
    text-align: center;
    margin: 20px;
}

/* ------ structure principale ------ */

#slide{
	margin:auto;
}

#main{
	width: 100vw;
    top: 10vh;
    height: 88vh;
    position: fixed;
	z-index:11;
}

#top{
	width: 90vw;
    height: 4vh;
	z-index: 10;
}

#titre{
	position: fixed;
	left: 1vw;
    top: 1vh;
    z-index: 999;
}

#titre img{
	width: min(30vw,30vh);
}

/* Version mobile du titre */
.titreMobile{
    width: 27vw !important;
    height: 4vh !important;
    top: 0 !important;
    left: 0 !important;
    line-height: 4vh !important;
}

.titreMobile a{
	display: block;
    height: 4vh;
    vertical-align: -webkit-baseline-middle;
}

.titreMobile img{
	width: 26vw!important;
}

/* ------ messages / alertes ------ */

.alertBox{ 
	position: fixed;
    bottom: 20px;
    width: 291px;
    left: 20px;
    text-align: center;
    padding: 50px 10px;
	z-index: 10;
	border-radius: 3px;
    font-weight: bold;
    font-size: max(1px,min(2vh,2vw));
}

.closeMsg{
	display: block;
    position: absolute;
    top: 0px;
    font-family:monospace;
    right:7px;
	cursor:pointer;
}

.Err{
	color: #AA0000;
    background: #381111f0;
    border: 1px solid #ff00004f;
}

.Scs{
	color: #00a3dc;
    background: #0096cba6;
    border: 1px solid #0096cb; 
}

.profile{
    border-right: 1px solid #777;
    padding:0 10px;
}

.jeton{
    color: #fff !important;
}

/* ------ bandeau sloped et menu haut ------ */

.sloped a {
	cursor: pointer;
	position: relative;
	display: inline-block;
    text-decoration: none;
    font-size: max(1px,min(1.6vh,2vw));
	line-height : 4vh!important;
    color: #cc322d;
	padding: 0  min(1vw,1vh);
	font-family: Zebulon;
}

.slopedMobile a {
	padding: 0 min(2vw,3vh)!important;
}

/* dégradé texte (boutons/menu) */
.gradient-text {
  background-color: #0096cb;
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; 
  animation: rainbow-text-simple-animation-rev 0.75s ease forwards;
}

.gradient-text:hover{
    animation: rainbow-text-simple-animation 0.5s ease-in forwards;
}

@keyframes rainbow-text-simple-animation-rev {
    0% { background-size: 650%; }
    40% { background-size: 650%; }
    100% { background-size: 100%; }
}

@keyframes rainbow-text-simple-animation {
    0% { background-size: 100%; }
    80% { background-size: 650%; }
    100% { background-size: 650%; }
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(1turn); }
}

/* sloped container (partie commune ; z-index sera surchargé si besoin) */
.sloped::before {
	content: "";
    display: block;
    float: left;
    width: 3vh;
    background-color: #263948;
    height: 4vh;
    transform: skewX(25deg)translateX(-2vh);
}

.sloped{
	text-decoration:none;
	background-color: #263948;
    line-height: 4vh;
    height: 4vh;
    position: fixed;
    top: 0;
    right: 0;
	z-index: 10; /* White pourra surcharger à 12 */
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: center;
    align-items: center;
}

.slopedMobile{
	width:100vw;
	text-align:right;
}

/* ------ menu principal ------ */

#menu {
    height: 5vh;
    position: fixed;
    right: 3.5vw;
    top: 5vh;
    font-size: max(1.25em,min(3vw,3vh));
	z-index:10;
}

/* couleurs dans les thèmes ; ici le style commun */
#menu a{
	text-decoration:none;
	font-weight: bold;
	display:block;
	float:left;
	margin:0 min(1vw,1vh);
}

/* hover différent selon thème -> géré dans Base/White */

/* ------ footer ------ */

#footer{
	position: fixed;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 2vh;
    background-color: #263948;
    box-shadow: 0 -0.5vh 1.5vh 0px #00000078, inset 0 0 0.8vh 0px #00000022;
    padding: 0 2vw;
    text-shadow: 0 0 1px white;
    line-height: 2vh;
    font-size: max(1px,min(1.6vh,2vw));
	z-index:99999;
}

#footer a{
	color:#ddd;
}

/* ------ scrollbars ------ */

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-corner {
	display:none;
}

::-webkit-scrollbar-track {
  background: #65656500;
}

::-webkit-scrollbar-thumb {
  background: #333333aa;
  border-radius:20px;
}

::-webkit-scrollbar-thumb:hover {
  background: #000;
}

/* ------ contacts flottants ------ */

#contact{
	width: min(4vh,4vw);
    margin: auto;
    line-height: min(4vh,4vw);
    position: fixed;
    right: 0px;
    top: 10vh;
    padding: min(1vh,1vw);
    box-shadow: 0 0 min(2vh,2vw) 0px #0000008f;
    border-radius: min(0.5vh,0.5vw) 0 0 min(0.5vh,0.5vw);
    background-color: #3c3c3ca8;
    text-align: center;
	z-index: 12;
}

#linkAdm{
	width: min(4vh,4vw);
    margin: auto;
    line-height: min(4vh,4vw);
    position: fixed;
    right: 0px;
    top: 50vh;
    padding: min(1vh,1vw);
    box-shadow: 0 0 min(2vh,2vw) 0px #0000008f;
    border-radius: min(0.5vh,0.5vw) 0 0 min(0.5vh,0.5vw);
    background-color: #3c3c3ca8;
    text-align: center;
	z-index: 12;
}

.contact{
	display: block;
    width: min(4vh,4vw);
    height: min(4vh,4vw);
    float: left;
    border-bottom: 1px solid #000;
    padding: 1vh 0;
    background-repeat: no-repeat;
    background-position-y: 1vh;
	background-size:contain;
	z-index: 10;
}

.contact img{
	width: min(4vh,4vw);
	filter: blur(6px);
	z-index: -1;
	position: relative;
	opacity:0;
	transition : 0.3s;
}

.contact:hover img{
	opacity:1;
	transition:0.3s;
}

/* ------ menu latéral ------ */

#menuList{
	position: fixed;
	left:-130px;
	top:0;
	height:100%;
	width:175px;
	background-color:#246d92;
	overflow: visible;
	box-shadow: 0px 0px 20px 2px #000;
	font-Size:max(1px,min(1.6vh,2vw));
	z-index:10;
}

#mobilMenuList{
	width:100%;
	position: relative;
	background-color:#246d92;
	overflow: visible;
	font-Size:max(1px,min(1.6vh,2vw));
}

#menuList span, #mobilMenuList span{
	margin-top:15px;
	margin-bottom:15px;
	display: inline-block;
	width:100%;
	text-align:center;
	min-height:40px;
}

#menuList span:hover, #mobilMenuList span:hover{
	cursor:pointer;
}

#handler{
	position: absolute;
	width: 16px;
	height: 17px;
	top: 0;
	margin: auto;
	bottom: 0;
	right: -22px;
	background:url('/img/arrow.png');
	cursor: pointer;
}

.overMenu{
	background-color:#39a6dc;
}

.activMenu{
	background-color:#39a6dc;
	color:#246d92;
}

/* ------ divers layout / textes ------ */

.banner{
	margin-left: -10px;
	margin-top: 20px;
}

.TitleLink{
	text-decoration:none;
}

.power{
	color:#c90000;
	font-size: inherit;
}

.torque{
	color:3399cc;
	font-size: inherit;
}

.WMap{
	border: 5px solid #F0F0F0;
	margin: 10px;
}
	
.curve{
	float: right;
	margin: 10px;
	border: 2px dashed #CCC;
	padding: 10px;
}
	
.blue{
	color:#0095cb;
}

.blue1{
	color:#39a6dc;
}

.capture{
	padding: 5px;
    border: 2px dashed #999;
    margin: 5px;
}

.key{
	font-family: 'Courier New';
    background-color: #EEE;
    padding: 2px;
    font-weight: bold;
    color: #169;
}

.file{
	width: 58px;
    display: inline-block;
    background: url(/Img/file.png);
    background-repeat: no-repeat;
    padding-top: 72px;
    margin: 26px 30px;
}

.backLink{
	text-decoration: none;
    font-weight: bold;
    font-size: max(1px,min(2vh,2vw));
	font-family:'Zebulon';
}

::-webkit-input-placeholder { 
  color: #ccc;
}

/* ------ formulaires : structure commune ------ */

.optionIco{ 
	margin: 0px 5px -10px 5px;
}

.form{
	position:relative;
}

.form .field{
	position: relative;
	margin:0;
}

/* i (icône) : partie position commune, bordures/couleurs par thème */
.form .field i {
	left: 0px;
	top: 0px;
	position: absolute;
	height: 3vh;
	width: 3vh;
	text-align: center;
	line-height: 3vh;
	transition: all 0.3s ease-out;
	pointer-events: none;
}

.form textarea{
	height: min(22vh,22vw)!important;
    width: min(58vh,60vw)!important;
}

/* tailles / font communes des inputs */
.form input[type=text],
.form input[type=number],
.form input[type=password],
.form textarea,
.form select {
	font-size: max(20px,min(2vh,2vw));
	font-weight: 400;
	font-family:"Bahnschrift";
	height: max(25px,min(2vh,2vw));
	width: max(325px, min(20vw,20vh));
	padding: 0.5vh 1.8vw 0.5vh 4vh;
	-webkit-appearance:none;
	border-radius: 3px;
	transition: color 0.3s ease-out;
}

/* marges communes */
.form input[type=text],
.form input[type=password],
.form select,
.form textarea {
	margin-bottom: 2vh;
}

/* hover/focus sur l’icône */
.form input[type=text]:hover ~ i,
.form input[type=password]:hover ~ i,
.form textarea:hover ~ i,
.form select:hover ~ i {
	color: #cc322d;
}

.form input[type=text]:focus ~ i,
.form input[type=password]:focus ~ i,
.form textarea:focus ~ i,
.form select:focus ~ i {
	color: #cc322d;
}

/* focus général */
.form input[type=text]:focus,
.form input[type=password]:focus,
.form button[type=submit]:focus,
.form textarea:focus,
.form select:focus {
	outline: none;
}

textarea{
	resize: none;
}

/* submit */
.form .submit {
    float: right;
}

/* bouton : structure commune (les couleurs sont dans les thèmes) */
.form button {
	cursor: pointer;
    background: none;
    font-family: 'Zebulon';
    display: flex;
    align-items: center;
	justify-content: center;
}

.form button i{
	margin-top: -3px;
    margin-left: 5px;
    display: inline-block;
    float: right;
}

.form button:hover {
	color:#cc322d;
}

/* titre du formulaire (sauf couleur) */
.form .title{
	margin-bottom:min(2.5vh,2.5vw);
	font-size:min(2.5vh,2.5vw);
	font-weight:bolder;
	letter-spacing: 2px;
    font-family: Zebulon condensed;
}

.form .error{
	color:cc322d;
    float: right;
	font-size:max(1px,min(2vh,2vw));
	margin-top: 7px;
}

/* suggestions communes */
.form .sugg{
	box-shadow: inset 0 0 5px rgba(0,0,0,0.2), inset 0 3px 2px rgba(0,0,0,0.2);
    border-radius: 3px;
    background: #3a3a3a;
	display: block;
    position: fixed;
    z-index: 10;
    width: 404px;
    padding: 10px;
    margin-top: -17px;
	display:none;
}

.sugg span{
	display:block;
	float:left;
	width:100%;
}

.sugg span:hover{
	background-color:#eee;
	color:#3a3a3a;
}

/* ------ checkbox custom commune ------ */

.styled-checkbox {
  position: absolute; 
  opacity: 0; 
}

.styled-checkbox + label {
    position: relative;
    cursor: pointer;
    padding: 0;
}

.styled-checkbox + label:before {
    content: '';
    margin-right: 10px;
    display: inline-block;
    vertical-align: text-top;
    width: 20px;
    height: 20px;
    background: #eee;
}

.styled-checkbox:hover + label:before {
    background: #aaa;
}
  
.styled-checkbox:hover + label:after,
.styled-checkbox:checked + label:after {
    content: '';
    position: absolute;
    left: 5px;
    top: 9px;
    background: white;
    width: 2px;
    height: 2px;
    box-shadow: 
      2px 0 0 white,
      4px 0 0 white,
      4px -2px 0 white,
      4px -4px 0 white,
      4px -6px 0 white,
      4px -8px 0 white;
    transform: rotate(45deg);
}
  
.styled-checkbox:checked + label:before {
    background: #0095cb;
}

.checkboxContainer{
	display:block;
	margin-top:10px;
}

/* ------ divers mise en page résultats / listes ------ */

.price{
	display: inline-flex;
    float: right;
}

.modeleContainer{
	text-align: center;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
    gap: 2vw;
    max-width: 1045px;
    margin: auto;
}

.resultTabs{
	display: flex;
    flex-direction: row;
    align-content: space-around;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
    max-width: 1045px;
}

.resultTab{
	border-collapse:separate;
	width:720px;
}

#tabs{
	padding:30px;
}

.selectedTab{
	border: 1px solid #999;
    border-top: none;
    border-bottom: none;
    box-shadow: 0px -5px 0px 0px #fff;
    color: #cc322d;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255,255,255,0) 100%);
}

.resultTab .head{
	font-weight:bold;
}

.resultTab{
	border-collapse: collapse;
    border-spacing: 10px;
}

.resultTab thead tr{
	height:40px;
}

.resultTab td,
.resultTab th{
	border:none;
}

/* images voitures */
.selectCar img{
	max-width:170px;
	margin-top:20px;
}

/* fil d’Ariane */
.ariane{
	color:#0095cb;
	letter-spacing: 2px;
	margin:0;
}

.ariane a{
	text-decoration:none;
	color:#0095cb;
	background-image:url('DAS/img/arrow.png');
	background-repeat:no-repeat;
	background-position:right;
	padding-right:30px;
	margin-right:5px;
}

.options{
	width: 80%;
    padding: 0 10%;
}

.reseller{
	width: 100%;
    text-align: center;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.button{
	width: 270px; 
	height: 50px; 
	border: none; 
	margin: auto; 
	background-color:#0096cba6; 
	cursor:pointer;
}

.imgList p{
	margin: 5px;
    width: 360px;
	height:280px;
    float: left;
}

.imgList img{
	max-width:160px;
	max-height:120px;
}

/* articles */
.article,
.article-min{
	margin: 35px 20px;
    padding: 20px;
    background-color: #3131316b;
    border-radius: 5px;
    border: 1px solid #545454ab;
    box-shadow: inset -5px -4px 20px 9px #17171740;
	overflow:hidden;
	position: relative;
}

.article-min{
	max-height:600px;
}

.readNext{
	display: block;
    position: absolute;
    width: 100%;
    height: 18px;
    left: 0;
    bottom: 0;
    padding: 94px 0 5px;
    z-index: 10;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.42) 0%, rgba(255,255,255,0) 100%);
    text-align: center;
}

.readNext a{
	color: #cc332d;
    font-weight: bold;
}

/* container SVG */
.svg-container{
	border-radius: 5px;
	box-shadow: 1px 1px 5px 2px inset #00000038;
}

/* tooltips */
.ui-tooltip, .arrow:after {
	background: black;
	border: 2px solid white;
	z-index:99999999;
	white-space: pre-line;
}

.ui-tooltip {
	position:fixed;
	padding: 10px 20px;
	color: white;
	border-radius: 20px;
	font: bold 14px "Helvetica Neue", Sans-Serif;
	text-transform: uppercase;
	width:fit-content;
	box-shadow: 0 0 7px black;
	z-index:99999999;
}

.arrow {
	width: 70px;
	height: 16px;
	overflow: hidden;
	position: absolute;
	left: 50%;
	margin-left: -35px;
	bottom: -16px;
}

.arrow.top {
	top: -16px;
	bottom: auto;
}

.arrow.left {
	left: 20%;
}

.arrow:after {
	content: "";
	position: absolute;
	left: 20px;
	top: -20px;
	width: 25px;
	height: 25px;
	box-shadow: 6px 5px 9px -9px black;
	transform: rotate(45deg);
}

.arrow.top:after {
	bottom: -20px;
	top: auto;
}

.ui-helper-hidden-accessible{display:none;}
