@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@1,500&family=Poppins:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,700;1,800&display=swap');
:root {
	--primary-color: #263043;
	--secondary-color: #4c00ff;
	--heading-color: #000000;
	--global-text-color: #313131;
	--global-background-color: #e1e1e1;
	--primary-font: "Lora", "Arial", sans-serif;
	--secondary-font: "Poppins", "Arial", sans-serif;
	--text-font: "Poppins", "Arial", sans-serif;
}

html {
	color: var(--global-text-color);
	font-family: var(--text-font);
	scroll-behavior: smooth;
}

header {
	min-height: 0;
}

.home.ovhid {
	overflow: visible;
}

.swiper {
	height: 85vh;
}

.reg_contentMenu {
	position: fixed;
	z-index: 1000;
	top: 0;
}

.logoTop img {
	width: 100%;
	max-width: 230px;
	height: auto;
	padding: 10px;
}

.miniBar .reg_contentMenu  {
	background-color: #fff;
}

.desktop_menu {
	padding-right: 25px;
}

.reg_contentMenu .menuCell a {
	color: #fff;
	font-weight: 500;
	display: block;
	position: relative;
}

.contentMenuTop .btnStd {
	display: none;
}

.miniBar .reg_contentMenu .menuCell a:not(.btnStd) {
	color: var(--primary-color);
}

.reg_contentMenu .menuCell a:not(.btnStd):after {
	content: '';
	bottom: -8px;
	position: absolute;
	display: block;
	height: 3px;
	background-color: var(--secondary-color);
	-webkit-animation: menuBorderBottomEffect 1s linear ease-in-out;
  	animation: menuBorderBottomEffect 1s linear ease-in-out;
}

.reg_contentMenu .menuCell a:not(.btnStd):hover:after,
.reg_contentMenu .menuCell a:not(.btnStd).sel:after {
	width: 30px;
	opacity: 1;
	-webkit-animation: menuBorderBottomEffect 1s linear ease-in-out;
  	animation: menuBorderBottomEffect 1s linear ease-in-out;
}

.miniBar .menuCell a:not(.btnStd) {
	padding: 0;
}

.slide-text h1 {
	font-family: var(--primary-font);
	font-size: 40px;
	line-height: 50px;
	text-transform: none;
	text-align: center;
	font-weight: 800;
}

.slide-text h1 strong {
	display: block;
	text-transform: uppercase;
	color: #fff;
	font-family: var(--secondary-font);
}

.swiper-slide .btnStd {
	bottom: 30%;
	right: 50%;
	transform: translateX(50%);
}

.global_section_title {
	text-transform: uppercase;
	font-weight: 300;
	font-size: 36px;
	line-height: 42px;
	color: var(--heading-color);
}

.global_section_title strong {
	font-weight: 800;
	color: var(--secondary-color);
	display: inline;
}

.global_section_title span {
	font-weight: 700;
}

h2 {
	margin: 0;
	color: var(--primary-color);
	font-weight: 500;
	font-family: var(--primary-font), cursive;
}

/* Présentation (modèle avocat inc) */
.modele_avocat_presentation h2 {
	color: var(--secondary-color);
}

.modele_avocat_presentation p {
	text-align: justify;
}

/*.modele_avocat_presentation img {
	max-width: 500px;
	margin: 0 auto;
	display: block;
}*/

/***/

.sport-quality {
	padding-bottom: 0;
	/*background-color: #1f2839;*/
	background-color: var(--secondary-color);
	margin: 50px 0;
}

.sport-quality .content_max_width {
	padding: 80px 0;
}

.sport-quality .global_section_title {
	display: none;
}

.sport-quality .pure-u-1 .pad50 {
	margin: 25px;
	padding: 25px;
	background-color: var(--primary-color);
}

.sport-quality h2 {
	font-weight: 500;
	font-family: var(--primary-font);
	color: #fff;
}

.sport-quality h3 {
	margin: 0;
	line-height: 140%;
	font-weight: 400;
	color: #fff;
	text-align: justify;
	min-height: 115px;
}

.sport-quality img {
	margin-bottom: 15px;
}

.btnStd {
	color: #fff;
	border-radius: 0;
}

.btnStd:hover {
	color: var(--secondary-color);
}

.informations h2 {
	color: var(--secondary-color);
}

.informations .pure-g {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

/*.informations img {
	max-width: 500px;
	margin: 0 auto;
	display: block;
}*/

.informations p {
	text-align: justify;
}

/* Animated number (inc : modele_avocat_animated_number) */
.modele_avocat_animated_number .animated_number {
	font-family: var(--primary-font);
	color: var(--primary-color);
	font-size: 34px;
	display: block;
	font-weight: 500;
	text-align: center;
}

.modele_avocat_animated_number .animated_number_texte {
	color: var(--secondary-color);
	font-size: 28px;
	font-weight: 600;
	font-synthesis: small-caps;
	display: block;
	text-align: center;
}

/* Tarifs & Réservation */
.tarifs-resa .tarif.design_2 h2 {
	font-family: var(--primary-font);
	background-color: var(--primary-color);
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	color: #fff;
	font-size: 1.2em;
	min-height: 80px;
}

.tarif.design_2 h2 span {
	font-weight: 400;
}

.tarifs-resa .tarif.design_2 {
	max-width: 100%;
}

/*.tarif.design_2 {
	width: 33.333333333%;
}*/

.home .contact form {
	max-width: 768px;
}

.contact form legend {
	border: none;
}

.home .contact form input,
.home .contact form textarea {
	border-radius: 0;
}

.contact form label {
	color: var(--primary-color);
	font-family: var(--text-font);
	font-weight: 300;
	font-size: 18px;
	padding: 0 0 5px 0;
}

.contact form label.required:after {
	color: var(--primary-color);
}

.contact-infos .title {
	font-family: var(--primary-font);
	font-size: 26px;
	font-weight: 300;
}

.contact-infos .method img {
	width: 32px;
	height: 32px;
	margin-right: 25px;
}

/* Footer */
.part3 {
	background-color: var(--secondary-color);
}

.part3 a, 
.part3 span {
	color: #fff;
}


@keyframes menuBorderBottomEffect {
  0% {
    opacity: 0;
    width: 0;
  }

  100% {
    opacity: 1;
    width: 30px;
  }
}


@media screen and (max-width: 1366px) {
	.sport-quality h3 {
		min-height: 150px;
	}
}

@media screen and (max-width: 960px) {
	.sport-quality .pure-u-1 .pad50 {
		margin: 10px;
		padding: 15px;
	}

	.informations .pure-u-1 {
		width: 100%;
	}

	.modele_avocat_presentation .btnStd,
	.informations .btnStd {
		margin: 25px auto 0 auto;
	}

	.tarifs-resa .tarif.design_2 h2 {
		font-size: 18px;
		line-height: 25px;
		min-height: auto;
	}
}

@media screen and (max-width: 768px) {
	.tarif.design_2 {
		width: 50%;
	}

	.sport-quality .pure-u-1 .pad50 {
		margin: 25px;
		padding: 25px;
	}

	.sport-quality h3 {
		font-size: 15px;
		max-width: 300px;
		margin: auto;
	}

	.slide-text h1 {
		font-size: 32px;
		line-height: 42px;
	}

	.sport-quality .content_max_width {
		padding: 0;
	}
}

/***********
 * MOBILE PAYSAGE
 */

@media screen and (max-width: 580px) {

	.tarif.design_2 {
		width: 100%;
	}

	.swiper {
		height: 60vh;
	}

	.global_section_title {
		font-size: 28px;
		line-height: 34px;
	}

	.slide-text h1 {
		font-size: 28px;
		line-height: 40px;
	}

	.tarifs-resa .tarif.design_2 img {
		max-height: 100%;
		width: 100%;
	}

	/* Contact */
	#contact {
		padding-top: 80px;
	}

	#contact .pure-u-1:first-child img {
		margin: 0 auto 15px auto;
		display: block;
	}

	.contact-infos .pad_spe {
		padding: 20px;
	}

}
