/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

html {
  scroll-behavior: smooth;
  scroll-padding-top: 55px; /* height of sticky header */
}

:root{
	--rojo-fair-play: #FF0F00;
	--negro: #212429;
	--gris-fair-play: #58585A;
	--gris-medio: #ACB5BD;
	--gris-claro: #F0F0F0;
}

body{
	margin: 0;
	padding: 0;
	font-family: 'Roboto', sans-serif;
	background: #F0F0F0;
	color: var(--negro);
}

/*-------------------------------
Estilos del header y footer en
una hoja de estilos distinta:
header_footer.css
-------------------------------*/


/*-- Imagen con frase y botones --*/

/* The dots/bullets/indicators */
.dot {
  height: 10px;
  width: 10px;
  margin: 0 2px;
  background-color: rgba(255,255,255,0.3);
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active {
  background-color: rgba(255,255,255,0.8);;
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1s;
  animation-name: fade;
  animation-duration: 1s;
}

@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}


#fair_play_inicio{
	width: 100%;
	height: 320px;
	margin: -15px 0 0 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	font-size: 16px;
	font-weight: 700;
	color: white;
}

.contenedor_inicio{
	width: 100%;
	height: 100%;
	padding: 90px 15px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background-color: rgba(0,0,0,0.5);
}

#slide1{
	background: url("../img/fp_inicio01.jpg") no-repeat center / cover;
}


#slide2{
	background: url("../img/fp_inicio02.jpg") no-repeat center / cover;
}


#slide3{
	background: url("../img/fp_inicio03.jpg") no-repeat center / cover;
}

#fair_play_inicio h2{
	width: 0;
	height: 0;
	margin: 0;
	text-indent: -9999px;
}

#fair_play_inicio p{
	width: 100%;
	margin: 0 0 20px 0;
	font-size: 22px;
}
	
#slide1 p{
	margin-top: 27px;
}

#fp_inicio_botones{
	top: 235px;
	width: 100%;
	padding: 0 15px;
	position: absolute;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
			-ms-flex-flow: row wrap;
					flex-flow: row wrap;
	-webkit-box-pack: justify;
			-ms-flex-pack: justify;
					justify-content: space-between;
}

#slider_control{
	width: 100%;
	top: 325px;
	text-align: center;
	position: absolute;
}

#fair_play_inicio a{
	width: 48%;
	padding: 13px;
	cursor: pointer;
}


/*-- Estilo de secciones principales --*/

.seccion_principal{
	background-color: white;
	padding: 45px 15px 60px 15px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-ms-flex-pack: distribute;
	    justify-content: space-around;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.seccion_principal h2{
	width: 100%;
	margin: 0 0 15px 0;
	font-size: 25px;
	font-weight: 500;
}

.seccion_principal p{
	width: 100%;
	margin: 0 0 20px 0;
}

/*-- ¿Quiénes somos? --*/

#qs_parrafos{
	width: 100%;
}

#quienes_somos figure{
	width: 100%;
	margin: 0;
}

#quienes_somos img{
	max-width: 100%;
	border-radius: 3px;
}

#quienes_somos a{
	width: auto;
	margin: 0 0 20px auto;
}


/*-- Servicios --*/

#servicios{
	/*background-color: #EAEAEA;*/
	background: rgba(248, 248, 248, 0.8) url(../img/background/bg1.jpg) no-repeat fixed center top / cover;
}

#servicios h2{
	color: #6A6A6A;
}

.contenedor_servicio{
	width: 100%;
	height: 150px;
	margin-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	background-color: #F9F9F9;
	
	border-radius: 3px;
	-webkit-box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.16);
	        box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.16);
}

.contenedor_servicio img{
	max-width: 100%;
	width: 150px;
	height: auto;
	border-radius: 5px 0 0 0;
	margin: 0 0 0 20px;
}


/*-- Imágenes de cada servicio --*/

.contenedor_texto_servicio{
	width: 70%;
	margin: auto 0;
	padding: 0 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #6C6C6C;
}

.contenedor_servicio h3{
	/*width: 100%;
	margin: 0 0 5px 0;
	font-size: 16px;
	font-weight: 500;*/
	
	width: 0;
	height: 0;
	text-indent: -9999px;
}

.contenedor_servicio p{
	width: 100%;
	margin: 0;
	font-size: 12.5px;
}

.enlace_principal{
	margin: 20px 5px 0 auto;
	padding: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: inline-block;
	font-size: 12px;
	font-weight: 400;
	color: #C70B00;
	cursor: pointer;
	text-decoration: underline;
}

.enlace_principal:visited{
	color: #C70B00;
}

.enlace_principal:hover{
	color: #EF3C32;
}


/*-- Frase con imagen --*/

#frase_fair_play{
	padding: 0;
	height: 300px;
	color: white;
	background: url("../img/frase_fondo.png") no-repeat center / cover;
}

#frase_fair_play h2{
	width: 0px;
	height: 0px;
	text-indent: -9999px;
}

#frase_fair_play p{
	width: 100%;
	height: 100%;
	padding: 120px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size: 30px;
	font-weight: 700;
	text-align: center;
	background-color: rgba(0,0,0,0.5);
}


/*-- Formulario de contacto --*/

#contactanos h2{
	color: #000;
}

#contactanos form{
	width: 100%;
	max-width: 500px;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	font-weight: 300;
	color: #676767;
}

.input_container{
	width: 100%;
	height: 30px;
	margin-bottom: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	border-radius: 5px;
	-webkit-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
					box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
}

.input_container label{
	width: 7%;
	display: inline-block;
	background-color: #E1E1E1;
	border-radius: 5px 0 0 5px;
	text-indent: -9999px;
}


/*-- Íconos para cada campo del formulario --*/

.input_container:nth-child(3) label{
	background: #E1E1E1 url("../img/icons/user_drk.png") no-repeat center 53% / 50%;
}

.input_container:nth-child(4) label{
	background: #E1E1E1 url("../img/icons/company_drk.png") no-repeat center 53% / 50%;
}

.input_container:nth-child(5) label{
	background: #E1E1E1 url("../img/icons/mail_drk.png") no-repeat center 53% / 50%;
}

.input_container:nth-child(6) label{
	background: #E1E1E1 url("../img/icons/tel_drk.png") no-repeat center 53% / 50%;
}


.input_container input{
	width: 93%;
	padding: 5px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 0 5px 5px 0;
	border-style: none;
}

.input_container input::-webkit-input-placeholder{
	color: #CFCFCF;
}

.input_container input::-moz-placeholder{
	color: #CFCFCF;
}

.input_container input:-ms-input-placeholder{
	color: #CFCFCF;
}

.input_container input::-ms-input-placeholder{
	color: #CFCFCF;
}

.input_container input::placeholder{
	color: #CFCFCF;
}

#contactanos form label:nth-child(7){
	width: 23%;
	height: 30px;
	padding-top: 7px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-weight: 500;
}

#contactanos form select{
	width: 77%;
	height: 30px;
	margin-bottom: 10px;
	padding: 5px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #676767;
	border-radius: 5px;
	border-width: 1.5px;
	border-color: #ddd;
	-webkit-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
					box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
}

#message{
	width: 100%;
	height: 80px;
	margin-bottom: 15px;
	padding: 5px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font: inherit;
	border-radius: 5px;
	border-width: 1.5px;
	border-color: #ddd;
	-webkit-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
					box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
}

#message::placeholder{
	color: #CFCFCF;
}

#contactanos form input:nth-child(10){
	margin: auto 5px auto 0;
}

#contactanos a{
	font-weight: 400;
	color: #C70B00;
}

#contactanos a:visited{
	color: #C70B00;
}

#contactanos a:hover{
	color: #EF3C32;
}

#boton_enviar{
	width: 100%;
	height: 40px;
	margin-top: 20px;
	font: inherit;
	font-weight: 500;
	cursor: pointer;
	border: none;
	-webkit-box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.16);
					box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.16);
}


/*-----------------------------*/
/*-----------------------------*/
/*-----------------------------*/
/*-- Breakpoint Tablet 768px --*/

@media (min-width: 768px){
	
	#fair_play_inicio{
		height: 400px;
		font-size: 22px;
	}
	
	
	.contenedor_inicio{
		width: 100%;
		height: 100%;
		padding: 115px 30px;
		-webkit-box-sizing: border-box;
						box-sizing: border-box;
  -webkit-box-shadow: 0px 5px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 5px 6px rgba(0, 0, 0, 0.16);
		background-color: rgba(0,0,0,0.5);
	}
	
	#fair_play_inicio p{
		width: 60%;
		margin: 0 auto 20px 0;
		font-size: 32px;
	}
	
	#slide1 p{
		margin-top: 38px;
	}
	
	.boton{
		font-size: 15px;
	}
	
	#fp_inicio_botones{
		top: 295px;
		width: 60%;
		padding: 0 30px;
	}
	
	#slider_control{
		top: 390px;
	}
	
	#fair_play_inicio a{
		padding: 10px;
	}

	.seccion_principal{
		padding: 30px 30px 40px 30px;
	}
	
	.seccion_principal h2{
		font-size: 23px;
	}

	.seccion_principal p{
		font-size: 17px;
	}
	
	
	/*-- ¿Quiénes somos? --*/
	
	#qs_parrafos{
		width: 53%;
		margin-left: 2%;
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	#quienes_somos figure{
		width: 45%;
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	#quienes_somos a{
		width: auto;
		margin: 0 0 20px auto;
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}
	
	
	/*-- Servicios --*/
	
	.contenedor_texto_servicio{
		padding: 15px 20px;
	}
	
	.contenedor_servicio h3{
		font-size: 17px;
	}
	
	.contenedor_servicio p{
		font-size: 14px;
	}
}


/*-------------------------------*/
/*-------------------------------*/
/*-------------------------------*/
/*-- Breakpoint Desktop 1024px --*/

@media (min-width: 1024px){
	.seccion_principal{
		padding: 45px 120px 60px 120px;
		margin: 0 auto;
	}
	
	#fair_play_inicio{
		height: 470px;
	}
	
	#fair_play_inicio p{
		width: 67%;
		font-size: 40px;
	}
	
	#slide1 p{
		margin-top: 50px;
	}
	
	.contenedor_inicio{
		padding: 125px 120px;
	}
	
	#fp_inicio_botones{
		top: 345px;
		width: 60%;
		padding: 0 0 0 120px;
	}
	
	#slider_control{
		top: 460px;
	}
}


/*-------------------------------*/
/*-------------------------------*/
/*-------------------------------*/
/*-- Breakpoint Desktop 1280px --*/

@media (min-width: 1280px){
	
	.seccion_principal{
		padding: 45px 15% 60px 15%;
		margin: 0 auto;
	}
	
	#fair_play_inicio{
		height: 480px;
	}
	
	#fair_play_inicio p{
		font-size: 45px;
	}
	
	#slide1 p{
		margin-top: 55px;
	}
	
	.contenedor_inicio{
		padding: 120px 15% 0 15%;
	}
	
	#fp_inicio_botones{
		top: 355px;
		width: 60%;
		padding: 0 12% 0 15%;
	}
	
	#slider_control{
		top: 470px;
	}
}



/*--------------------------------------------------------------
# Modal
--------------------------------------------------------------*/


/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
	max-width: 550px;
  background-color: #e9e9e9;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 10px 20px;
  border: 1px solid #888;
  border-radius: 5px;
  width: 80%; /* Could be more or less, depending on screen size */
}

.modal-content h2{
	margin: 15px 0 10px 0;
	font-weight: 400;
}

#texto_newsletter{
	margin: 0 0 30px 0;
	font-size: 14px;
	font-weight: 300;
}

.modal-content input:nth-child(2){
	background-color: #FFF;
	margin-bottom: 15px;
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}



/*--------------------------------------------------------------
# Cookies
--------------------------------------------------------------*/

/*Cookie Consent Begin*/
#cookieConsent {
	display: none;
  background-color: #212429e0;
  min-height: 26px;
  color: #fff;
  padding: 2.2em 1em 1em 1em;
  font: inherit;
	font-size: 1rem;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}
#cookieConsent a {
  color: #ACB5BD;
}
#closeCookieConsent {
  float: right;
  display: inline-block;
  cursor: pointer;
  height: 1rem;
  width: 1.1rem;
	text-align: center;
  margin: -1.5rem 0 0 0;
	border: solid 1px #fff;
	border-radius: 2px;
	font-size: .8rem;
}
#closeCookieConsent:active {
  color: #FFF;
}
#cookieConsent a.cookieConsentOK {
	width: 100%;
	line-height: 2.5rem;
	margin-top: 1rem;
  padding: 0 1rem;
	text-align: center;
  background-color: var(--gris-medio);
	-webkit-transition: background 0.2s;
	-o-transition: background 0.2s;
	transition: background 0.2s;
  color: #FFF;
  display: inline-block;
		-webkit-box-sizing: border-box;
						box-sizing: border-box;
  border-radius: 5px;
  cursor: pointer;
  float: right;
}
#cookieConsent a.cookieConsentOK:active {
  background-color: var(--gris-claro);
	-webkit-transition: background 0.2s;
	-o-transition: background 0.2s;
	transition: background 0.2s;
}
/*Cookie  End*/



/*contact form response*/

#popup-success{
	width: 100%;
	height: 100%;
	display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
	z-index : 1;
	background: rgba(0, 0, 0, 0.5);
	top: 0;
	left: 0;
}

.popup_form_success_title{
	width: 100%;
	margin-bottom: 10px;
	display: inline-block;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	color: #07BC4C;
}

#popup-success>div>p:nth-child(2){
	height: 110px;
	margin-bottom: 50px;
	text-align: center;
	font-weight: 400;
	color: #07BC4C;
	background: url("../img/icons/check.png") no-repeat bottom center / 70px;
}

.popup_form_subtitle{
	margin-bottom: 10px;
	display: inline-block;
	font-size: 20px;
	color: #444;
	font-weight: 500;
}

#newsletter_successful_form{
	width: 100%;
	margin-bottom: 10px;
  -webkit-box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.16);
}

#ahora_no{
	width: auto;
	margin: 10px 2px 0 auto;
	font-weight: 400;
}

#popup-success>div>p:nth-child(4){
	font-weight: 300;
}

.popup_form_submit>div{
	max-width: 550px;
	width: 80%;
  background-color: #e9e9e9;
  margin: 50px auto;
  padding: 50px 30px;
		-webkit-box-sizing: border-box;
						box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
  border-radius: 5px;
	background-color: #fff;
}

#popup-error{
	width: 100%;
	height: 100%;
	display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
	z-index : 1;
	background: rgba(0, 0, 0, 0.5);
	top: 0;
	left: 0;
}

.popup_form_error_title{
	width: 100%;
	margin-bottom: 10px;
	display: inline-block;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	color: #FF5059;
}

#popup-error>div>p:nth-child(2){
	margin-bottom: 50px;
	text-align: center;
	font-weight: 400;
	color: #555;
}

#popup-error>div>p:nth-child(3){
	padding: 7px 0;
	font-weight: 400;
}