/* @group SHARED STRUCTURES AND STYLES
------------------------------------ */
body { overflow-x: hidden; }
#wrapper { width: 100%; }
a, button, .bttn { cursor: pointer;
    -webkit-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, -webkit-transform 0.3s linear;
    -moz-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, -moz-transform 0.3s linear;
    -ms-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, transform 0.3s linear;
    -o-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, transform 0.3s linear;
    transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, transform 0.3s linear;
}
img { display: block; }
.video-box,
.img-box { overflow: hidden; position: relative; }
.img-box > img { object-fit: cover; object-position: center center; height: 100%; width: 100%!important; }
.img-box video { object-fit: cover; object-position: center center; height: 100%; width: 100%!important; }
@supports(object-fit: cover) {
  .img-box > img { height: 100%!important; }
}
.outerAbsolute { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 3; }
.outerAbsolute .row { height: 100%; }
.outerAbsolute a,
.outerAbsolute .box { pointer-events: all; }
/* General Text
----------------------*/
h1 { font: 700 4.8em / 1em var(--body-font); padding-bottom: 2rem; text-transform: uppercase; position: relative;}
h2 { font: 700 4.8em / 1em var(--body-font); padding-bottom: 2rem; text-transform: uppercase; position: relative;}
h3 { font: 700 4.8em / 1em var(--body-font); padding-bottom: 2rem; text-transform: uppercase; position: relative;}
h4 { font: 700 3.2em / 1 var(--body-font); color: var(--secondary-dark-green); margin-bottom: 0.5em; }
h5 { font: 400 .95em / 1.2em var(--body-font); }
h1::before, h2::before, h3::before { content: ''; background-color: var(--nav-green); width: 100%; height: .1rem; position: absolute; bottom: 0; left: 0; }
p,
li { font: 400 2.4em / 1.5em var(--body-font); }
p strong { font-weight: 700 ; }
@media only screen
and (min-width : 0)
and (max-width : 960px) {
  h1, h2, h3 { font-size: 3.2em; line-height: 1em; padding-bottom: 1.5rem; }
}
/* Buttons */
.bttn {
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  font-size: 2em;
  line-height: normal;
  font-weight: 700;
  padding: 1.3rem 2rem;
  border: .2rem solid transparent;
  border-radius: 1rem;
}
.bttn.green { background-color: var(--light-green); border-color: var(--light-green); color: var(--main-white); }
.bttn.green:hover { background-color: var(--main-white); color: var(--light-green); }
/* Form
----------------------*/
.wpcf7-form-control-wrap { display: block; margin: 0 0 1.7rem; }
.wpcf7-form-control-wrap[data-name="comments"] { margin: 0 0 2.5rem; }
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="file"],
select,
textarea { color: rgba(45,42,38,1); font-size: 1.6em; line-height: 1em; height: 4rem; padding: 0 1.3rem; background: rgba(255,255,255,1); width: 100%; }
textarea { height: 10.9rem; padding: 1.1rem 1.3rem; }
::-webkit-input-placeholder { /* Chrome/Opera/Safari */ color: rgba(45,42,38,1); -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
::-moz-placeholder { /* Firefox 19+ */ color: rgba(45,42,38,1); -moz-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
:-ms-input-placeholder { /* IE 10+ */ color: rgba(45,42,38,1); transition: opacity 0.3s linear; -ms-transition: opacity 0.3s linear; }
:-moz-placeholder { /* Firefox 18- */ color: rgba(45,42,38,1); -moz-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
:focus::-webkit-input-placeholder { opacity: 0; }
:focus::-moz-placeholder { opacity: 0; }
:focus:-ms-input-placeholder { opacity: 0; }
:focus:-moz-placeholder { opacity: 0; }
.wpcf7-not-valid { background: rgba(220,50,50,.7)!important; }
.wpcf7-not-valid-tip { display: none!important; }
.wpcf7 form .wpcf7-response-output { font-size: 1.6em; line-height: 1.8em; }
.wpcf7 form.sent .wpcf7-response-output { border-color: rgba(198,107,66,1); }

/**
/* PASSWORD PROTECT FORM - built-in WordPress form, overwriting styles
*/
.post-password-form {
  margin: 200px 2rem 2rem;
}
.post-password-form input[type="password"] {
  border: 1px solid #707070;
  padding: 0.5em 1em;
  margin-right: 1em;
}
.post-password-form input[type="submit"] {
  background-color: #707070;
  color: #ffffff;
  padding: 0.5em 1em;
  cursor: pointer;
}

/* Animations
----------------------*/
@keyframes fade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadeReverse {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes fadeDown {
  0% { -webkit-transform: translate3d(0,-2rem,0); transform: translate3d(0,-2rem,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fadeUp {
  0% { -webkit-transform: translate3d(0,5rem,0); transform: translate3d(0,5rem,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fadeScale {
  0% { -webkit-transform: scale(.5); transform: scale(.5); opacity: 0; }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes fadeScaleReverse {
  0% { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes fadeScaleDown {
  0% { -webkit-transform: scale(1.2); transform: scale(1.2); opacity: 0; }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes ScaleDown {
  0% { -webkit-transform: scale(1.2); transform: scale(1.2); }
  100% { -webkit-transform: scale(1); transform: scale(1); }
}
@keyframes fadeLeft {
  0% { -webkit-transform: translate3d(-5rem,0,0); transform: translate3d(-5rem,0,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fadeRight {
  0% { -webkit-transform: translate3d(5rem,0,0); transform: translate3d(5rem,0,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes toLeft {
  0% { transform: translate3d(80%,0,0) rotate(-2.5deg); }
  100% { transform: translate3d(0,0,0) rotate(0deg); }
}
@keyframes toRight {
  0% { transform: translate3d(-80%,0,0) rotate(2.5deg); }
  100% { transform: translate3d(0,0,0) rotate(0deg); }
}
@keyframes menuDown {
 0% { -webkit-transform: translate3d(0,-7.5rem,0); transform: translate3d(0,-7.5rem,0); }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
}
@keyframes textUp {
 0% { -webkit-transform: translate3d(0,2rem,0); transform: translate3d(0,2rem,0); opacity: 0; }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes navDown {
 0% { -webkit-transform: translate3d(0,-20rem,0); transform: translate3d(0,-20rem,0); }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
}
@keyframes fullUp {
 0% { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0); }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
}
@keyframes fullUpOp {
 0% { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0); opacity: 0; }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fullLeft {
 0% { -webkit-transform: translate3d(-100%,0,0); transform: translate3d(-100%,0,0); opacity: 0; }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@-webkit-keyframes hvr-icon-hang {
  0% { -webkit-transform: translateY(6px); transform: translateY(6px); }
  50% { -webkit-transform: translateY(2px); transform: translateY(2px); }
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@keyframes hvr-icon-hang {
  0% { -webkit-transform: translateY(6px); transform: translateY(6px); }
  50% { -webkit-transform: translateY(2px); transform: translateY(2px); }
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@-webkit-keyframes hvr-icon-hang-sink {
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@keyframes hvr-icon-hang-sink {
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@keyframes toTopFromBottom {
	49% { transform: translate3d(0,-100%,0); }
	50% { opacity: 0; transform: translate3d(0,100%,0); }
	51% { opacity: 1; }
}
@keyframes toBottomFromTop {
	49% { transform: translate3d(0,100%,0) }
	50% { opacity: 0; transform: translate3d(0,-100%,0) }
	51% { opacity: 1; }
}
@keyframes toRightFromLeft {
	49% { transform: translate(100%); }
	50% { opacity: 0; transform: translate(-100%); }
	51% { opacity: 1; }
}
@keyframes toLeftFromRight {
	49% { transform: translate(-100%); }
	50% { opacity: 0; transform: translate(100%); }
	51% { opacity: 1; }
}
@keyframes openDraw {
  0% { max-height: 0; }
  100% { max-height: 999vh; }
}
@keyframes closeDraw {
  0% { max-height: 999vh; }
  100% { max-height: 0; }
}
@keyframes fadeRotate {
  0% { opacity: 0; }
  100% { opacity: 1; transform: rotate(720deg); }
}
@keyframes circleSVG {
  0% { transform: rotate(360deg) scale(1.12); }
  100% { transform: rotate(0deg) scale(1.12); }
}
@keyframes circleSVGnoScale {
  0% { transform: rotate(360deg); }
  100% { transform: rotate(0deg); }
}
@keyframes filltext {
  0% { background-size: 0% 100%; }
  100% { background-size: 100% 100%; }
}
@keyframes emptytext {
  0% { background-size: 100% 100%; }
  100% { background-size: 0% 100%; }
}
@keyframes bannerDown {
  0% { -webkit-transform: translate3d(0,-8rem, 0); transform: translate3d(0,-8rem, 0); }
  100% { -webkit-transform: translate3d(0,0, 0); transform: translate3d(0,0, 0); }
}
@keyframes upndown {
    0% { -webkit-transform:translateY(.5rem); transform:translateY(.5rem) }
    50% { -webkit-transform:translateY(0); transform:translateY(0) }
    100% { -webkit-transform:translateY(.5rem); transform:translateY(.5rem) }
}

.fadeRight,
.fadeLeft,
.fadeDown,
.fadeUp,
.fadeScale,
.fade { position: absolute; left: -999vw; opacity: 0; top: -999vw; }
.fade.slick-nav,
.fade.slick-carousel { position: absolute!important; }
/* Animations - Active
----------------------*/
.fade.active { animation: fade 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fade.slick-nav.active,
.fade.slick-carousel.active { position: relative!important; }
.fadeUp.active { animation: fadeUp 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeDown.active { animation: fadeDown 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeScale.active { animation: fadeScale 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeLeft.active { animation: fadeLeft 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeRight.active { animation: fadeRight 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
@media only screen
and (min-width : 961px) {
    .deskAbsolute { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 3; }
    .deskAbsolute .row { height: 100%; }
    .deskAbsolute a,
    .deskAbsolute .box { pointer-events: all; }
    /* Form
    ----------------------*/
    .wpcf7-form-control-wrap { display: block; margin: 0 0 3rem; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; padding: 0 1.7rem; }
    .wpcf7-form-control-wrap[data-name="comments"] { margin: 0 0 3rem; }
    .wpcf7-form-control-wrap[data-name="heard"],
    .wpcf7-form-control-wrap[data-name="comments"] { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
    .wpcf7-form { display: flex; flex-direction: row; flex-wrap: wrap; width: calc(100% + 3.4rem); margin-left: -1.7rem; }
    .wpcf7-form .bttn { margin-left: 1.7rem; }
    .wpcf7 form .wpcf7-response-output { position: absolute; bottom: -9rem; }
    /* Button
    ----------------------*/
    .Explorer .bttn:hover,
    .Mozilla.v11 .bttn:hover { background: var(--main-white) }
    .Explorer .bttn-light:hover,
    .Mozilla.v11 .bttn-light:hover { background: var(--main-white); }
    @media (hover: hover) {
        .bttn:hover { background: var(--main-white) }
        .bttn-light:hover { background: var(--main-white); }
    }
}
/* Slider
  ----------------------*/
.splide__arrow {
  content: '';
  width: 1.9rem;
  height: 3rem;
  position: absolute;
  top: 50%;
}
.splide__arrow--prev {
  left: 0;
}
.splide__arrow--next {
  right: 0;
}
.splide__arrow--prev.white {
  background: url('../imgs/layout/icons/arrow-left-white.svg');
}
.splide__arrow--next.white {
  background: url('../imgs/layout/icons/arrow-right-white.svg');
}
.splide__arrow--prev.green {
  background: url('../imgs/layout/icons/arrow-left-green.svg') no-repeat center;
}
.splide__arrow--next.green {
  background: url('../imgs/layout/icons/arrow-right-green.svg') no-repeat center;
}
.splide__sr {
  display: none;
}
/* Slider
  ----------------------*/
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
    
}

/* @end */

/* --- */

/* @group RESET GENERAL DE TAMAÑO
------------------------------------ */
.no-mobile {}

@media only screen
and (min-width : 961px) {
  .mobile { display: none!important; }
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
  .no-mobile { display: none!important; }
  /* html { font-size: 7px; } */
}
@media only screen
and (min-width : 0)
and (max-width : 600px) {
  /* html { font-size: 5px; } */
}
/* @end */

/* --- */
