
* {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;}
    
}#parques-naturales {position: relative;}

#parques-naturales div.img-wrapper {
	display: block;
	max-width: 800px;
	margin: 0 auto;

}
#parques-naturales div.img-wrapper {
	position: relative;

}
#espacios-naturales {
	
	padding: 0 2%;
	background: #FDFDFD;
}
#wrapper {padding: 0;}

div.section-title {
	margin: 0 auto;
	padding: 150px 0 80px 0;
	text-align: center;
	
}
div.section-title span {display: block; max-width: 900px; margin: 0 auto; font-size: 1.2em; line-height: 1.4em;}

#img-espacios-container {
	display: grid;
	grid-gap: 30px;
	grid-template-columns: auto auto auto;
	padding-bottom: 50px;
}

#img-espacios-container div.img-wrapper {
	position: relative;
	margin: 0 auto;
	border-radius: 3px
}

#img-espacios-container div.img-wrapper a {
	display: block;
	opacity: 0.7;
	transition: all 0.4s ease;
}
#img-espacios-container div.img-wrapper a:hover {
	opacity: 1;
	font-size: 1.4em;
}


#parques-naturales div.img-wrapper span.titulo {
	display: block;
	position: absolute;
	bottom: 30%;
}

#parques-naturales div.img-wrapper:hover span.titulo {
	color: #FFF;
	font-size: 2em;
	font-weight: 400;
	bottom: 40%;
	transition: all 0.6s ease-in-out;
}

div.img-wrapper span.titulo {
	display: block;
	position: absolute;
	bottom: 26%;
	width: 100%;
	line-height: 1em;
	font-size: 1.6em;
	font-weight: 400;
	color: #FFF;
	text-align: center;	
	transition: all 0.8s ease-in-out;
}

div.img-wrapper:hover span.titulo {
	bottom: 40%;
	color: #FFF;
	font-size: 1.6em;
	font-weight: 400;
	transition: all 0.6s ease-in-out;
}

#tipos_rutas {padding: 0 3%;}

#img-tipos-rutas-container {
	display: grid;
	grid-gap: 30px;
	grid-template-columns: auto auto auto;
	padding-bottom: 50px;
}

#img-tipos-rutas-container div.img-wrapper {
	position: relative;
	margin: 0 auto;
	border-radius: 3px;
}


.bg {
	background-image: url('/images/rutas-asturias-portada.jpg');
	height: 950px;
	/*min-height: 120px;*/
	width: auto;
	
	/* Center and scale the image nicely */
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

#nuevas-rutas, #rutas-populares {padding: 0 3%;}

#img-nuevas-rutas-container , #img-rutas-populares-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}



.resumen-ruta {
    display: flex;
    margin: 0 0 80px 0;
    background: #F2F2F2;
	display: block;
	width: 100%;
	max-width: 32%;
}

.resumen-ruta > a {
    display: block;
	position: relative;
}

.resumen-ruta img {
    width: 353px;
    height: 223px;
	width: 100%;
	height: auto;
}
.resumen-ruta span.numVisitas {display: block; position: absolute; top: 10px; left: 10px; color: #FFF;}

.datos-resumen-ruta {
    display: flex;
    flex-direction: column;
    width: 100%;
	padding: 30px 20px 20px 20px;
}

.nombre-ruta {
    height: 105px;
}


.nombre-ruta h2 {
    font-size: 1.2em;
    
}

.nombre-ruta h3 {
    font-size: 0.9em;
    line-height: 1em;
}

.nombre-ruta h4 {
    font-size: 1.0em;
    line-height: 1em;
    padding-top: 0.8em;
}

.ubicacion-ruta {
    font-size: 1em;
}

.nombre-ruta h2 a {
    color: #333;
}
.detalles-ruta {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 20px;
}
.entrada {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1 1 0px;
    text-align: center;
}
.entrada.recorrido-lineal span.tipo {
    background: url("/iconos/ruta/recorrido-lineal.svg") no-repeat;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px auto;
    background-size: 80%;
    background-position: center;
}

.entrada.recorrido-circular span.tipo {
    background: url("/iconos/ruta/recorrido-circular.svg") no-repeat;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px auto;
    background-size: 80%;
    background-position: center;
}
.entrada.recorrido-travesía span.tipo {
    background: url("/iconos/ruta/recorrido-travesia.svg") no-repeat;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px auto;
    background-size: 80%;
    background-position: center;
}

.entrada.distancia span.tipo {
    background: url("/iconos/ruta/caminante.svg") no-repeat;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px auto;
    background-size: 50%;
    background-position: center;
}

.entrada.dificultad span.tipo {
    background: url("/iconos/ruta/dificultad.svg") no-repeat;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px auto;
    background-size: 72%;
    background-position: center;
}


.entrada.ninos span.tipo {
    background: url("/iconos/ruta/ruta-ninos.svg") no-repeat;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px auto;
    background-size: 55%;
    background-position: center;
}

.entrada.cumbre span.tipo {
    background: url("/iconos/ruta/cumbre.svg") no-repeat;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px auto;
    background-size: 72%;
    background-position: center;
}


.tipo {
    margin: 0 0 10px 0;
    width: 28px;
    height: 28px;
    font-size: 0.9em;
    
}

.dato {
    font-size: 0.9em;
    font-weight: 600;
}






@media all and (max-width: 1100px){
	#img-espacios-container {
		grid-template-columns: auto auto;
		grid-gap: 60px 30px;
	}

	#img-espacios-container div.img-wrapper {max-width: 440px;}
}

@media all and (max-width: 1030px){
	#img-nuevas-rutas-container, #img-rutas-populares-container {display: block;}
	.resumen-ruta {display: flex; width: auto; max-width: none;}
	.resumen-ruta img {width: 353px; height: 223px;}
}

@media all and (max-width: 992px){
	#img-espacios-container {
		grid-template-columns: auto auto;
	}
	#img-tipos-rutas-container {grid-template-columns: auto auto; grid-gap: 60px 30px;}
}

@media all and (max-width: 768px) {
	#parques-naturales div.img-wrapper:hover span.titulo {font-size: 1.8em;}
	#img-espacios-container { grid-template-columns: auto;}
	#img-tipos-rutas-container {grid-template-columns: auto;}
	#img-tipos-rutas-container div.img-wrapper {max-width: 440px; width: 100%;}
	#img-tipos-rutas-container div.img-wrapper:hover span.titulo {font-size: 1.8em;}

	#img-nuevas-rutas-container, #img-rutas-populares-container {display: flex; justify-content: space-around;}
	.resumen-ruta {display: block; max-width: 408px; width: 100%;}
	.resumen-ruta img {width: 100%; height: auto; }
}

@media all and (max-width: 576px) {
	.bg {background-image: url('/images/rutas-asturias-portada-small.jpg');}
	#parques-naturales div.img-wrapper:hover span.titulo {font-size: 1.2em;}
	div.img-wrapper span.titulo {bottom: 40%; font-size: 1.6em; transition: none;}
	div.img-wrapper:hover span.titulo {transition: none; 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;}

  }