
:root {
  --corporative: #95ae24;
  --corporative2: #432a19;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
  outline: 0;
}
ol, ul {
  list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: separate;
  border-spacing: 0;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
}
blockquote, q {
  quotes: "" "";
}

a {
  cursor:pointer;
}

a:link,a:visited {
  color:black;
  text-decoration:none;
  cursor:pointer;
}

a:hover,a:active {
  text-decoration:underline;
}

b,strong,.bold {
  font-weight:bold;
}

i,em,.italic {
  font-style:italic;
}

.uppercase {
  text-transform:uppercase;
}

.line-through {
  text-decoration:line-through;
}

.clear {
  clear:both;
}

.selected {
  font-weight:bold;
}

.margin0 {
  margin:0px !important;
}

.margin-vertical {
  margin-bottom:14px;
}

.background-none {
  background:none !important;
}

.background-corporative {
  background-color: #95ae24;
}

.background-faq {
  background-color: #d7c4b6;
}

.corporative {
  color: #95ae24;
}

.corporative2 {
  color: #432a19;
}

.background-corporative a {
  color: #ffffff;
}

.white {
  color: white;
}

.standard-text {
  color: black;
}

.position-relative {
  position:relative;
}

.height-100 {
  height:100%;
}

table tr td.numeric {
  white-space: nowrap;
  text-align:right;
}

table tr.transparent-background {
  background: transparent !important;
}

table tr.tr-bold, table tr.tr-bold td {
  font-weight:bold !important;
}

.text-link, .text-link a {
  color:#656565;
}

.field-error {
  display:none;
  color:#a94442;
  font-size:12px;
  text-align:left;
  margin-top:3px;
}

.input-error:focus {
  border-color:#ebccd1;
}

label.checkbox-label input[type=checkbox], label.checkbox-label input[type=radio], input.input-checkbox{
  position: relative;
  vertical-align: middle;
  margin-top:-2px;
}

html {
  width:100%;
  height:100%;
}

body {
  width:100%;
  min-height:100%;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #000000;
  background-color: #ffffff;
  line-height: 1em;
  text-align:center;
  padding-bottom: 220px;
  position:relative;
}

.all {
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}

.top {
  padding:10px;
}

.lg {
  float:right;
}

.lang {
  float:left;
  margin-right:10px;
}

.menu ul {
  list-style:none;
}

.menu ul li {
  float:left;
  margin-right:10px;
}

.middle {
  padding:10px;
}

.tail {
  width: 100%;
  height: 220px;
  padding-top:15px;
  padding-bottom: 50px;
  bottom: 0px;
  position: absolute;
}

@media (max-width: 1200px) {
  body {
    padding-bottom: 320px;
  }

  .tail {
    height: 320px;
  }
}

@media (max-width: 576px) {
  body {
    padding-bottom: 420px;
  }

  .tail {
    height: 420px;
  }
}

.tail a {
  color: #ffffff;
}

/* pager */
.total-items {
  clear:both;
  padding-top:20px;
}

.web-pager {
  clear:both;
  padding-top:20px;
}

.web-pager a {
  margin-right:5px;
}

.web-pager a.current-pag {
  font-weight:bold;
}

/* legal and cookies */
.cookies {
  width:100%;
  padding-top:10px;
  padding-bottom:10px;
  min-height:24px;
  background-color:rgba(255,255,255,0.8);
  color:black;
  text-align:center;
  line-height:21px;
  position:fixed;
  bottom:0px;
  border-top:solid 1px black;
  z-index:20;
}

.textcookies {
  display:inline-block;
}

.closecookies, .closecookies:hover, .closecookies:visited, .closecookies:active {
  display:inline-block;
  padding:5px;
  background-color:white;
  color:black;
  border:solid 1px black;
  margin-left:15px;
  margin-top:5px;
  text-decoration:none !important;
}

/* utilities */

.container-opacity {
  margin:auto;
  left: 0;
  right: 0;
  position:absolute;
  top:50px;
}

.content-opacity {
  position:relative;
  background-color: rgba(0,0,0,0.7);
  padding-left:75px;
  padding-right:75px;
  padding-top:30px;
  padding-bottom:30px;
  color:white;
}

.floating-alert {
  position: fixed;
  right: 0;
  left: 0;
  top:50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: tranlslateY(-50%);
  transform: translateY(-50%);
  width:50%;
  margin-right: auto;
  margin-left: auto;
  z-index: 5000;
}

/* bootstrap */

.text-xs-left { text-align: left; }
.text-xs-right { text-align: right; }
.text-xs-center { text-align: center; }
.text-xs-justify { text-align: justify; }

@media (min-width: 768px) {
  .text-sm-left { text-align: left; }
  .text-sm-right { text-align: right; }
  .text-sm-center { text-align: center; }
  .text-sm-justify { text-align: justify; }
}

@media (min-width: 992px) {
  .text-md-left { text-align: left; }
  .text-md-right { text-align: right; }
  .text-md-center { text-align: center; }
  .text-md-justify { text-align: justify; }
}

@media (min-width: 1200px) {
  .text-lg-left { text-align: left; }
  .text-lg-right { text-align: right; }
  .text-lg-center { text-align: center; }
  .text-lg-justify { text-align: justify; }
}


.padding0 {
  padding:0px !important;
}

.padding-left0 {
  padding-left:0px !important;
}

.padding-right0 {
  padding-right:0px !important;
}


@media (min-width: 992px) {
  .padding-left0-md {
    padding-left:0px !important;
  }

  .padding-right0-md {
    padding-right:0px !important;
  }
}

@media (max-width: 768px) {
  .padding-left0-xs {
    padding-left:0px !important;
  }

  .padding-right0-xs {
    padding-right:0px !important;
  }
}

@media (max-width: 992px) {
  .padding0sm {
    padding:0px !important;
  }
}

@media (max-width: 1170px) {
  .padding0lg {
    padding:0px !important;
  }
}

.border-radius0 {
  border-radius:0px !important;
}

.navbar-top {
  background-color:inherit;
  margin-bottom:0px;
  border:0px;
}

.navbar-top nav ul {
  margin-top:20px;
}

.navbar-header {
  height:100%;
  width:100%;
}

.navbar-brand {
  height:100%;
}

.navbar-brand img {
  max-height: 100%;
}

.navbar-menu {
  background-color:#2a84c0;
  margin-bottom:0px;
  border:0px;
}

ul.ul-menu li a {
  background-color:transparent !important;
  color:white !important;
}

ul.ul-menu li.active a, ul.ul-menu li a:hover {
  text-decoration:underline;
}

ul.ul-menu li.active a {
  font-weight:bold;
}

.instagram-header {
  z-index: 4;
  position: absolute;
  top: 15px;
  left: 15px;
  background: #ffffff;
  width: 35px;
  height: 35px;
  border-radius: 35px;
  color: #000000;
  font-size: 24px;
  padding-top: 5px;
}

.languages {
  z-index: 4;
  position: absolute;
  top: 15px;
  right: 15px;
  color: #ffffff;
}

.languages a {
  color: #ffffff;
}

.languages a:hover {
  text-decoration:none;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.nav-item {
  padding: 5px 23px;
  font-size: 24px;
}

a.nav-link {
  font-weight: 600;
  font-size: 30px;
}

.carousel {
  text-align:center;
}

.carousel-inner {
  height: 100%;
}

.fill {
  width:100%;
  height:430px;
  background-position: center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.carousel-control {
  z-index:2;
}

.carousel-control .glyphicon-chevron-left, .carousel-arrow-left  {
  left:25px !important;
}
.carousel-control .glyphicon-chevron-right, .carousel-arrow-right {
  right:25px !important;
}

.carousel-inner > .item > img {
  margin: 0 auto;
  max-width:none !important;
}

.btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus, .btn-primary[disabled] {
  background: #95ae24;
  border-color: #95ae24;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle {
  background: #95ae24;
  border-color: #95ae24;
  box-shadow: 0 0 0 .2rem rgba(149,175,36,.5);
}

.dropdown-menu {
  border-radius:0px;
  margin-top:-7px;
  left: auto;
  right: 0px;
}

.form-control {
  padding-left:4px !important;
  padding-right:4px !important;
}

.form-control[readonly] {
  cursor:pointer !important;
}

.pagination > .active > a, .pagination > li > a:hover, .pagination > li > a:active, .pagination > li > a:focus {
  background-color:#f2f2f2;
  border:solid 1px #dddddd;
}

#mapgooglemaps {
  width:100%;
  height:300px;
}

.central {
  line-height:18px;
}

.central img {
  max-width:100%;
}

.central ul, .text-legal ul {
  list-style: disc;
  padding-left:20px;
}

h1 {
  font-size: 35px;
  font-weight: 600;
}

h2 {
  font-size: 28px;
  font-weight: 700;
}

h3 {
  font-size: 22px;
  font-weight: 500;
}

h4 {
  font-size: 22px;
  font-weight: 400;
}

#carouselCap {
  height:400px;
  position: relative;
}

@media (max-width: 1200px) {
  #carouselCap {
    height:300px;
  }
}

@media (max-width: 992px) {
  #carouselCap {
    height: 250px;
  }
}

@media (max-width: 768px) {
  #carouselCap {
    height: 250px;
  }
  h1 {
    font-size: 22px;
  }

  h2 {
    font-size: 18px;
  }
}

@media (max-width: 576px) {
  #carouselCap {
    height: 180px;
  }

}

.sobre-carousel {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  height: 60%;
  width: 100%;
  background-image: linear-gradient(to bottom, rgba(255,255,255,0.4), rgba(255,255,255,0));
}

.logo {
  height: 70%;
  display: inline-block;
  margin-top: 15px;
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  .sobre-carousel {
    left: 0px;
    transform: none;
    height: 80%;
    width: 100%;
  }

  .logo {
    position: relative;
    left: 50px;
  }

  .logo img {
    margin: 5px;
  }
}


.logo-parc {
  height: 40%;
}

.logo img, .logo-parc img {
  max-height: 100%;
}

.padding20 {
  padding: 20px;
}

.container-text {
  line-height: 1.4em;
}

.background-black {
  background-color: #000000;
}

.background-grey {
  background-color: #cccccc;
}

.background-dark-grey {
  background-color: #333333;
}

.text-shadow {
  text-shadow: 2px 2px 2px rgba(0,0,0,0.75);
}

.text-shadow-white {
  text-shadow: 2px 2px 2px rgba(255,255,255,0.75);
}

.calendar {
  display: flex;
  flex-flow: column;
}
.calendar .header .month-year {
  font-size: 20px;
  font-weight: bold;
  color: #000000;
  padding: 20px 0;
}
.calendar .days {
  display: flex;
  flex-flow: wrap;
}
.calendar .days .day_name {
  width: calc(100% / 7);
  border-right: 1px solid #ffffff;
  padding: 20px;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
}

@media (max-width: 1200px) {
  .calendar .days .day_name {
    padding: 5px;
    font-size: 12px;
  }
}

@media (max-width: 992px) {
  .calendar .days .day_name {
    padding: 5px;
    font-size: 8px;
  }
}

.calendar .days .day_name:nth-child(7) {
  border: none;
}
.calendar .days .day_num {
  display: flex;
  flex-flow: column;
  width: calc(100% / 7);
  border-right: 1px solid #e6e9ea;
  border-bottom: 1px solid #e6e9ea;
  padding: 15px;
  font-weight: bold;
  color: #333333;
  background-color: #ffffff;
  min-height: 50px;
  align-items: center;
}

@media (max-width: 992px) {
  .calendar .days .day_name {
    padding: 5px;
  }
  .calendar .days .day_num {
    min-height: 50px;
  }
}

.calendar .days .day_num span {
  text-align: center;
  width: 30px;
  font-size: 14px;
}
.calendar .days .day_num .event {
  margin-top: 10px;
  font-weight: 500;
  font-size: 14px;
  padding: 3px 6px;
  border-radius: 4px;
  background-color: #f7c30d;
  color: #fff;
  word-wrap: break-word;
}
.calendar .days .day_num:nth-child(7n+1) {
  border-left: 1px solid #e6e9ea;
}
.calendar .days .day_num.ignore {
  background-color: #fdfdfd;
  color: #ced2d4;
  cursor: inherit;
}

.calendar .days .day_num.available, .calendar .days .day_num.available-1, .calendar .days .day_num.available-2 {
  color: #ffffff;
  cursor: pointer;
}
.calendar .days .day_num.not-available {
  color: #ffffff;
}

.llegenda {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px;
}

.free {
  background-color: #ffffff !important;
  color: #333333;
}
.available {
  background-color: #009c73 !important;
  color: #ffffff;
}
.available-1 {
  background-color: #95ae24 !important;
  color: #ffffff !important;
}
.available-2 {
  background-color: #432a19 !important;
  color: #ffffff !important;
}
.available-3 {
  background-color: #95ae24 !important;
  color: #ffffff !important;
}
.not-available {
  background-color: #cc9999 !important;
  color: #ffffff;
}

.llegenda.free {
  border: solid 1px #cccccc;
}

.text-small {
  font-size: 12px;
}

.color-not-available {
  color: #cc9999;
}

.horari {
  font-size: 15px;
  margin-top: 5px;
  font-weight: 500;
}

.fes-reserva-subtitol {
  font-size: 18px;
  font-weight: 600;
}

@media (min-width: 768px) {
  .fes-reserva {
    padding-top: 60px;
  }
}

.text-legal {
  text-align: left;
  font-size: 12px;
  line-height: 1.2em;
}

.text-legal p {
  margin-bottom: 14px;
}

.text-legal table {
  width: 100%;
  border: solid 1px #000000;
  border-collapse: collapse;
}

.text-legal table tr th {
  font-weight: bold;
  border: solid 1px #000000;
  padding: 5px;
}

.text-legal table tr td {
  border: solid 1px #000000;
  padding: 5px;
}

.track {
  border: solid 1px #d4d4d4;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 10px 0px #D4D4D4;
  box-shadow: 0px 0px 10px 0px #D4D4D4;
}

.track a, .icones-track a {
  color: #009c73;
}

.icones-track {
  border-top: solid 1px #333333;
  padding-top: 10px;
}

.icona-track {
  width: 50px;
  margin-right: 15px;
}

.icona-track img {
  width: 100%;
}

.icona-track-text {
  line-height: 25px;
}

.icona-track-text-track {
  line-height: 50px;
  font-weight: 600;
}

.icona-track-titol {
  font-weight: 600;
}

.tracks-track {
  padding-top: 11px;
}

.track-foto {
  margin: -15px;
  overflow: hidden;
  position: relative;
  height: calc(100% + 30px);
}

.track-foto img, .track-foto-detall img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin-bottom: -5px;
}

.track-foto-detall {
  overflow: hidden;
  position: relative;
}

.imatge-mapa img{
  width: 100%;
}

.text-mapa-cedit {
  font-size: 12px;
}

a.mes-rutes {
  font-weight: 600;
  color: #009c73;
  font-size: 18px;
}

.semibold {
  font-weight: 600;
}

.banner-peu {
  display: flex;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.banner-peu img {
  object-fit: cover;
  width: 100%;
  margin-bottom: -5px;
}

.banner-peu-proposem {
  font-size: 30px;
  font-weight: 500;
  width: 100%;
  color: #ffffff;
  position: absolute;
  bottom: 20%;
  text-align: center;
}

.banner-peu-veure {
  font-size: 30px;
  font-weight: 600;
  width: 100%;
  color: #ffffff;
  position: absolute;
  bottom: 10%;
  text-align: center;
}

@media (max-width: 1200px) {
  .banner-peu-proposem {
    font-size: 20px;
  }

  .banner-peu-veure {
    font-size: 20px;
  }
}

@media (max-width: 576px) {
  .banner-peu-proposem {
    font-size: 14px;
  }

  .banner-peu-veure {
    font-size: 14px;
  }
}

.logos-peu img {
  max-height: 100px;
  vertical-align:middle;
}

.image100 img {
  max-width: 100%
}

.preu-dia {
  font-weight: 700;
  font-size: 16px;
  margin-top: 5px;
  margin-bottom: 5px;
}

.menu-collapse {
  background-color: #95ae24;
  position: fixed;
  top: 0px;
  left: 0px;
  min-height: 100vh;
  width: 100%;
  font-size: 16px;
  line-height: 1.3em;
  color: #ffffff;
  z-index: 20;
  overflow-y:scroll;
  overflow-x:hidden;
}

.menu-collapse a {
  color: white;
}

.top-menu {
  position: absolute;
  top: 15px;
  right: 0px;
}

.navbar-toggler {
  border: 0px;
  border-radius: 0px;
  color: #ffffff;
  border-color: #ffffff;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-toggler span.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  font-size: 50px;
  width: 50px;
}

.navbar-toggler span.navbar-toggler-icon-x {
  font-size: 80px;
  color: #ffffff;
  width: 80px;
  font-weight: 600;
}

.navbar-toggler[aria-expanded=true] span.navbar-toggler-icon {
  display: none;
}
.navbar-toggler[aria-expanded=false] span.navbar-toggler-icon-x {
  display: none;
}

.collapsing {
  -webkit-transition: none;
  transition: none;
  display: none;
}

.menu-contacte {
  padding-left: 23px;
}

.banner-peu-text-canal-freser {
  font-size: 30px;
  line-height: 1.2em;
  font-weight: 400;
  width: 100%;
  color: #ffffff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 1200px) {
  .banner-peu-text-canal-freser {
    font-size: 20px;
  }
}

@media (max-width: 992px) {
  .banner-peu-text-canal-freser {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  .banner-peu-text-canal-freser {
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  .banner-canal-freser {
    min-height: 200px;
  }
  .banner-peu-text-canal-freser {
    font-size: 14px;
  }
}

.banner-recomanacions-senderisme {
  border: solid 1px #d4d4d4;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 10px 0px #D4D4D4;
  box-shadow: 0px 0px 10px 0px #D4D4D4;
  margin-bottom: 30px;
}

.banner-recomanacions-senderisme a {
  color: #432a19;
}

.font-size-16 {
  font-size: 16px;
}

a.regulacio-box {
  background-color: var(--corporative);
  color: white;
  font-size: 20px;
  line-height: 1.3em;
  font-weight: 700;
  text-transform: uppercase;
  min-height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
}

.banner-regulacio {
  background-image: url('../img/banner-regulacio.jpg');
  background-position: center center;
  background-size: cover;
  color: white;
  font-size: 20px;
  line-height: 1.4em;
  text-align: left;
  font-weight: 700;
}

.banner-regulacio a {
  color: white;
}

.text-temps-maxim {
  padding: 0px 15px 15px 15px;
}
