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

body {font-family: 'Open Sans', serif; font-size: 12pt; line-height: 11pt; background: #FDFDFD; color: #555;}
img {display: block; width: 100%; height: auto;}
img {opacity: 1;}
p {margin-bottom: 1em; line-height: 1.2em;}
a {text-decoration: none; color: #FFF;}
h1 {margin: 0 0 1em 0; font-size: 2.4em; line-height: 1.4em;}
h2 {margin: 0 0 1em 0; font-size: 1.6em; line-height: 1.2em;}
h3 {margin: 0 0 1em 0; font-size: 1.4em; line-height: 1.2em;}
h4 {margin: 0 0 1em 0; font-size: 1.1em; line-height: 1.1em;}

button {border: none;}
ul {list-style-type: none;}

a.current, a:hover {color: #EFAC05;}
ul.nav-pagination {padding-top: 0; text-align: right;}
ul.nav-pagination li {display: inline-block; margin: 0 3px; padding: 5px;}
ul.nav-pagination li.active {background: #49616F;}
ul.nav-pagination li.active a {color: #FFF;}
ul.nav-pagination a {color: #555;}

p img {width: 100%; height: auto;}

.section-wrapper, #footer-container {max-width: 1200px; margin: 0 auto; box-sizing: border-box;}

input, label, select, textarea {display: block; width: 100%;}
input, select, textarea {padding: 0.7em; border: solid 1px #7463a6; border-radius: 5px; background: #FFF; color: #7463a6;}

button[type='submit'].btn {display: block; max-width: 140px; width: 100%; margin: 0 auto; padding: 0.6em;}

/* CLASES */

.form-brick {margin-bottom: 1.7em;}
.btn {border: none; cursor: pointer; color: #FFF; background: #A3C84A; border-radius: 5px; font-size: 1em;}
.btn:hover {background: #698f36;}

.clearfix:after {content: " ";visibility: hidden;display: block;height: 0;clear: both;}

#main-wrapper {
    width: 100%; 
    
}

header {
   
    width: 100%;
    margin: 0 auto;
    
}

#header-container {height: 102px;}

#navigation {
    position: fixed;
    max-width: none;
    width: 100%;
    min-height: 102px;
    margin: 0 auto;
    padding: 30px 2%;
    z-index: 1000;
    background: #49616F;
}

#navigation > div {position: relative; max-width: 1200px; width: 100%; margin: 0 auto;}

#logo {display: inline-block;}

#logo img {width: 170px;}

#menu {
    float: right;
    position: relative;
    text-align: right;
    line-height: 42px;
}
#menu li {
    display: inline-block;
    margin-left: 8px;
    padding: 0 10px;
    
}
#menu ul {

    position: absolute;
    padding-top: 30px;
    display: none;
    text-align: left;
    background: #49616F;
}
#menu ul li {position: relative; display: block; margin: 0 20px;}

#menu li:hover ul {display: block; position: absolute; margin-left: -30px;}


#wrapper {
    padding: 50px 2%;
    width: 100%;
    
}

#sidebar {margin-top: 80px;}

#prevision div {width: auto;}

footer {
    width: 100%;
    padding: 100px 2%;
    background: #4C4E4F;
}

#footer-container {
    display: flex;
    justify-content: space-between;   
    max-width: 1200px;
    margin: 0 auto;
}
div.f-div {
    /*max-width: 33%;*/
    
}
div.f-div span {
    display: inline-block;
    margin-bottom: 20px;
    padding: 0 10px 10px 0;
    font-size: 1.2em;
    color: #FFF;
    border-bottom: solid 1px #49616F;
    border-bottom: solid 1px #EFAC05;
}
div.f-div ul {list-style-type: circle; list-style-position: inside; color: #EFAC05;}

footer li {
    margin: 0 0 10px 0;
}

footer li a {display: inline-block; width: 80%; vertical-align: top; line-height: 1.3em;}

/* mensajes de error y de usuario */

.error {
    color: red;
}

span.error {
    position: absolute;
    font-size: 0.8em;
}

.msg-box {
    display: block; 
    max-width: 800px; 
    width: 100%; 
    margin: 40px auto 40px auto; 
    padding: 20px; 
    border-radius: 2px; 
    text-align: center; 
    font-size: 1em;
    line-height: 1.2em;
}
.msg-error {background: #F2DEDE; color: red;}
.msg-success {background: #DFF4D7; color: green;}
.msg-alert {background: #FCF6D6; color: #EAAB0D;}
.border-error {border: solid 1px red;}
.volver {display: block; margin-bottom: 20px; text-align: center;}
.volver a {padding: 8px 12px; border-radius: 3px; background: green; color: #FFF;}

.lnk-txt {color: #EFAC05;}
.lnk-txt:hover {color: #FF5800;}

#fb_fotoAnterior img {
    max-width: 200px;
}

/* Responsive */
@media all and (max-width: 1200px){

    #footer-container { flex-wrap: wrap; justify-content: space-evenly;}
    /* div.f-div {width: 50%; min-width: 400px; margin: 0 0 50px 0;} */
    div.f-div {min-width: 400px; margin: 0 0 50px 0;}


}

@media all and (max-width: 1024px){

    #wrapper {padding: 50px 4%;}
    footer {padding: 100px 4%;}
}

@media all and (max-width: 992px){

    #menu {clear: both; width: 100%; padding-top: 50px; line-height: 16px;}
    #navigation #menu.up {display: none;}
    
    #navigation #menu.down {display: block; position: static; } 
	#navigation #menu.down li {display: block; margin: 0 0 20px 0; text-align: center;}
    #navigation #menu.down li a {display: block; padding: 10px 0; }
    
    #navigation span.toggle-nav {float: right; display: block; margin-right: 20px;}
    #navigation span.toggle-nav-btn {display: block; width: 2.2em; height: auto; border: solid 1px yellow; border-radius: 3px; cursor: pointer;}
    span .s-line {display: block;width: 1.5em;height: 1px; margin: 6px auto;background: yellow;}
}

@media all and (max-width: 576px){

    div.f-div {min-width: auto; margin: 0 0 50px 0;}
    h1 {line-height: 1.2em;}ç
    h2, h3 {line-height: 1em;}
    #wrapper {padding: 50px 4%;}

    #footer-container {display: block;}
    #footer-container > div {width: 100%; margin-bottom: 50px;}
    
}
.section-wrapper {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
	grid-template-areas:
						"ti ti ti ti ti ti ti ti ti ti" 
						"enc enc enc enc enc enc enc dt dt dt"
						"enc enc enc enc enc enc enc dw dw dw"						
						"enc enc enc enc enc enc enc pv pv pv"
						"mapa mapa mapa mapa mapa mapa mapa pv pv pv"
						"mapa mapa mapa mapa mapa mapa mapa . . ."
						"tr tr tr tr tr tr tr . . .";

}

#titulo {
	grid-area: ti;
}
#encabezado-ruta {
	grid-area: enc;
	margin-right: 50px;
}
#img-principal-container {
	margin-bottom: 50px;
}
#datos-tecnicos {
	grid-area: dt;
	padding: 0 30px;
}
#downloads {
	grid-area: dw;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0 auto;
	padding-top: 50px;
}
#num_visitas_ruta {
	margin-bottom: 20px;
	text-align: center;
	font-weight: 600;
}
#descargasT {
	margin-top: -5px;
	font-size: 0.8em;
	text-align: center;
}
#descargar-track {
	width: 220px;
}
#descargar-track a {
	display: block;
	padding: 14px 20px;
}
#descargar-pdf {
	width: 220px;
}
#descargar-pdf a {
	display: block;
	padding: 14px 20px;
}
#btn-track {
	padding: 14px 20px;
	font-size: 1em;
	color: #FFF;
	background: #A3C84A;
	border-radius: 5px;
	cursor: pointer;
}
#prevision {
	grid-area: pv;
	margin-top: 70px;
	height: 300px;
}
#mapa-container {
	grid-area: mapa;
	margin-right: 50px;
}
#mapa-ruta {	
	height: 480px;
	margin: 50px 0 20px 0;
	z-index: 10;
}
#texto-ruta {
	grid-area: tr;
	margin-right: 50px;
}
#texto-ruta a {color: #A01323;}
#info-track {
	display: flex;
	align-content: space-between;
	margin: 40px 0 20px 0;
}

#info-track span {
	display: inline-block;
	width: 33.33%;
	text-align: center;
}
#elevation-div {
	margin-bottom: 50px;
	height: 200px;
	z-index: 10;	
}

#resumen-ruta {
	text-align: justify; margin-bottom: 50px;
}
#descripcion-ruta a.img-lnk {display: block; max-width: 800px; margin: 0 auto;}

#descripcion-ruta img {height: auto;}

#descripcion-ruta p {text-align: justify;}

#punto-inicio p {text-align: justify;}
#aparcar p {text-align: justify;}
#sidebar {    
	grid-area: sidebar;
	background: #F2F2F2;

}
.entrada {
	margin-bottom: 10px;
	line-height: 1.2em;
}
.tipo {
	display: inline-block;
	min-width: 100px;
	vertical-align: top;
}

.dato {
	display: inline-block;
	max-width: calc(100% - 100px);
	line-height: 1.2em;
	font-weight: 600;
}
#aviso {
	/*position: absolute;*/
	max-width: 1200px;	
	margin: 0 auto;
	padding: 10px;
	border: solid 30px #F2F2F2;

}


@media all and (max-width: 1100px){

	.section-wrapper {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
							"ti ti" 
							"enc enc"
							"dt dt"
							"dw dw"
							"pv pv"
							"mapa mapa"
							"tr tr";

	}

	
	#encabezado-ruta {
		margin: 0;
	}
	#datos-localizacion {
		margin-bottom: 30px;
	}
	#datos-tecnicos {
		height: auto;
		padding: 0;
		margin-bottom: 50px;
	}

	#datos-tecnicos div {
		display: flex;
		flex-wrap: wrap;
		justify-content: left;
	}
	#num_visitas_ruta {
		margin-bottom: 30px;
		font-size: 2em;
	}
	#descargar-track, #descargar-pdf {
		margin: 0 auto;
	}
	#mapa-container {
		margin: 0;
	}
	#datos-tecnicos .entrada {
		display: inline-block;
		width: 300px;

	}
	#btn-download {
		flex-direction: row;
	}
	#texto-ruta {margin: 0;}

}

@media all and (max-width: 576px){

	#num_visitas_ruta {font-size: 1.6em;}
}/******* Legal y Cookies *******/
section#cookies p {margin: 0 0 1.5em 0;}

#cookies-table {width: 100%; margin: 0 0 50px 0; border-collapse: collapse;}
#cookies-table td, #cookies-table th {padding: 10px 8px; border: solid 1px #F2F2F2;}
#cookies-table th {background: #1A73E8; color: #FFF;}

/* Banner aviso cookies */

#banner-cookies {position: fixed; bottom: 0; width: 100%; padding: 50px 100px 0 100px; background: #EBEBEB; color: #333;}
#banner-cookies {display: none;}
#banner-cookies h3 {margin-bottom: 1em; color: #3C86E8;}
#banner-cookies p {line-height: 1.2em;}
#banner-cookies a {color: #3C86E8;}
#consent-btn-container {display: flex; flex-direction: row; justify-content: end; width: 100%; padding: 30px 0;}
#consent-btn-container button, #cookies-config-panel button, #btn-config-cookies {padding: 10px 20px; margin: 0 20px; border: none; background: #1A73E8; font-size: 1em; color: #FFF; cursor: pointer;}
#btn-config-cookies {display: block; margin: 80px auto; padding: 30px; border-radius: 60px; font-size: 1.2em;}
#consent-btn-container button:hover, #cookies-config-panel button:hover, #btn-config-cookies:hover {background: #3C86E8;}
#consent-btn-container button a {color: #FFF;}  


/* PopUp configuración de cookies */

#cookies-config-panel-container {position: fixed; top:0; left:0; display: none; align-items: center; height:100%; width: 100%; background: rgb(33,33,33,0.7); z-index: 20;}
#cookies-config-panel {position: relative; height: auto; max-width: 800px; margin: 0 auto; padding: 50px 30px; z-index: 21; background: #F2F2F2;}
#cookies-config-panel h1 {margin: 0 0 1.2em 0; text-align: center; font-size: 1.6em;}
#btn-close-cookies-config-panel {position: absolute; top: 20px; right: 24px; border: none; font-size: 1em; cursor: pointer;}

#cookies-config-panel #buttons-container-2 {display: flex; justify-content: end; padding: 30px;}

.btn-container-item {display: flex; align-items: end; padding: 10px 0;}
.btn-container-item > div {min-width: 200px;}
.btn-name {display: inline-block; padding: 9px 20px;}

/* Legal Links Container */

#legal-links-container {display: flex; flex-direction: row; width: 100%; max-width: 1200px; margin: 0 auto; padding: 50px 0 0 0;}
#legal-links-container .legal-link {display: flex; justify-content: center; width: 33%;}
#legal-links-container a {display: inline-block; text-align: center; color: #FFF;}


/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 30px;
  }
  
  /* Hide default HTML checkbox */
  .switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  /* The slider */
  .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: 22px;
    width: 22px;
    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%;
  }



  @media only screen and (max-width: 768px) {

    #consent-btn-container {flex-direction: column-reverse;}
    #consent-btn-container button {margin-bottom: 20px;}
    #banner-cookies { padding: 50px 5%;}

    #legal-links-container {flex-wrap: wrap;}
    #legal-links-container .legal-link {min-width: 160px; width: 45%; margin: 0 0 40px 0;}

  }