
* {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(7, 1fr);
    grid-template-areas: "content content content content content sidebar sidebar";

    grid-template-columns: repeat(12, 1fr);
    grid-template-areas: "content content content content content content content  content content sidebar sidebar sidebar";
}

#side-content {
    grid-area: content;
    margin-right: 50px;

}

#side-content div {
    position: relative;
}

#side-content #num_resultados {
    position: absolute;
    top: -30px;
    right: 0;
    text-align: right;
    color: #ec7f3e;

}

#rutas #listado {
 
    padding: 0;
}

#publi {
    display: none;
    width: 100%;
    height: 200px;
    background: #FAA43B;

}

.resumen-ruta {
    display: flex;
    margin: 0 0 80px 0;
    background: #F2F2F2;
}

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

.resumen-ruta img {
    width: 353px;
    height: 223px;
}

.datos-resumen-ruta {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 15px 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;
}

#sidebar {
    grid-area: sidebar;
    padding: 20px;
    /*background: #F2F2F2;*/
}
#search-trigger {display: none;}

#sidebar h2 {font-size: 1.4em; text-align: center;}

/* SLIDER RANGE */

.ui-slider-horizontal {height: 0.3em;}
.ui-slider-horizontal .ui-slider-handle {top: -0.5em;}
.ui-widget-header {background: #384B59;}
.ui-corner-all {border-radius: 9px;}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    border: 1px solid #49616F;
    background: #49616F;
}
#slider-search {padding: 0 10px;}
#amount_km {padding-left: 14px;}

/* FIN SLIDER RANGE */

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

    #side-content {
        margin-right: 30px;        
    }
    #sidebar {padding: 20px 10px;}
    .dato, .tipo {font-size: 0.8em;}
}



@media all and (max-width: 1024px){
 
    .section-wrapper {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-template-areas: 
        "sidebar sidebar sidebar sidebar sidebar"
        "content content content content content ";
    }

    #sidebar {margin: 0 0 50px 0;}
    #sidebar {margin: 0; padding: 0;}
    #search-trigger {
        display: block;
        position: relative;
        color: #ec7f3e;
        cursor: pointer;
        font-size: 0.8em;
        text-align: right;
    }
    #adv_search {margin-bottom: 50px;}
    #adv_search.hidden {display: none;}
    #side-search {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;    
    }
    #side-search div.form-brick {
        max-width: 45%;
        width: 45%;
    }
    #side-search button.btn {
        max-width: 45%;
        
    }
    
}

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


    #side-content {margin: 0;}
    #side-search {display: block; max-width: 600px; margin: 0 auto;}
    #side-search div.form-brick {max-width: none; width: 100%;}
    
    #rutas #listado {display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between;}
    .resumen-ruta {display: block; width: 47%;}
    .resumen-ruta img {width: 100%; height: auto;}
    .datos-resumen-ruta {padding: 30px 20px 20px 20px;}
    .detalles-ruta {margin-top: 30px;}
}

@media all and (max-width: 768px){ 
    #rutas #listado {flex-direction: column; justify-content: space-around;}
    .resumen-ruta {max-width: 408px; width: 100%; margin: 0 auto 80px auto;}
}

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

    #side-content {margin: 0;}
    #side-search div.form-brick {max-width: none; width: 100%;}
    #search-trigger { top: -12px;}
    #side-content #num_resultados {font-size: 0.8em;}
    .detalles-ruta {margin-top: 30px;}
    .resumen-ruta {display: block;}
    .resumen-ruta img {width: 100%; height: auto;}
    .datos-resumen-ruta {padding: 30px 20px 20px 20px;}
    

}/******* 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;}

  }