/* @group SHARED STRUCTURES AND STYLES
------------------------------------ */
body { overflow-x: hidden; }
#wrapper { width: 100%; }
a, button { 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;
}
.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; }
/* Margin
----------------------*/
.site-nav + .page-header,
.site-nav + .content-main { margin-top: 8rem; }
/* General Text
----------------------*/
h1,
h2 { font: 400 3em / 1.235em var(--pluto-font); }
h3 { font: 400 2.4em / 2.292em var(--pluto-font); }
li,
p { font-size: 1.6em; font-weight: 500; line-height: 1.625em; }
h3 > p,
h4 > p,
span > p, 
small > p { font-size: 1em; font-weight: inherit; line-height: 1em; }
.cmp-body p { font-size: inherit; line-height: inherit; }
/* Splide 
----------------------*/
.splide.is-focus-in .splide__slide:focus,
.splide__slide:focus-visible,
.splide__arrow:focus-visible { outline: none!important; }
.splide__arrow:disabled { opacity: 0!important; pointer-events: none; }
/* Bttns zooms 
----------------------*/
.control.map_zoom { 
  display: inline-flex; flex-direction: column; 
  border-radius: 2rem; overflow: hidden; 
  position:absolute; right: 2.1rem; top: 2.2rem;
}
.map-zoom { 
  background-color: var(--submenu-blue); 
  width: 4rem; height: 4rem; 
  display: inline-flex; justify-content: center; align-items: center;
}
.map-zoom:first-of-type { border-radius: 2rem 2rem 0 0; }
.map-zoom:last-of-type { border-radius: 0 0 2rem 2rem; }
.map-zoom i::before { font-size: 1.2em; color: var(--main-white); }
.map-zoom i.minus { height: .3rem; width: 1.6rem; background-color: var(--main-white); }
@media only screen
and (min-width : 961px) {
  .control.map_zoom { right: 4.2rem; top: 2.8rem; }
}
/* Bttns
----------------------*/
.bttn { background: var(--bttn-bg); border: .2rem solid var(--bttn-bg); color: var(--bttn-color); font-family: var(--gotham-medim); font-size: 1.4em; letter-spacing: 1px; line-height: 1.218em; padding: 1.6rem 3.2rem; display: inline-block; text-transform: uppercase; }
.bttn-dark { background: var(--bttn-bg-dark); border-color: var(--bttn-bg); }
.bttn-transparent { background: transparent; color: var(--bttn-transparent-color); }
/* 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 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) {
    /* General Text
    ----------------------*/
    h1 { font-size: 5.4em; line-height: 1.112em; }
    h2 { font-size: 4.4em; line-height: 1.364em; }
    h3 { font-size: 3.5em; line-height: 1.429em; }
    p { font-size: 1.8em; line-height: 1.778em; }
    /* Margin
    ----------------------*/
    .site-nav + .page-header,
    .site-nav + .content-main { margin-top: 13.6rem; }
    /* Menu Links has submenu FIX */
    .site-nav .has-submenu > a {
        pointer-events: none;
    }
    /* Bttns
  ----------------------*/
  @media (hover: hover) {
    .bttn:hover { background: var(--bttn-bg-dark); border-color: var(--bttn-bg-dark); color: var(--bttn-color); }
    .bttn-dark:hover { background: var(--bttn-bg); border-color: var(--bttn-bg); color: var(--bttn-color); }
  }
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
}

/* @end */

/* Loader */
.loader {
  width: 48px;
  height: 48px;
  border: 5px solid #FFF;
  border-bottom-color: var(--main-blue);
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

@keyframes rotation {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
} 

/* --- */

/* @group RESET GENERAL DE TAMAÑO
------------------------------------ */
@media only screen
and (min-width : 961px) {
  .mobile { display: none!important; }
}
@media only screen
and (min-width : 1441px) {
    html { /* font-size: calc(10px + (16 - 10) * ((100vw - 1441px) / (4280 - 1441))); */ }
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
    html { /* font-size: calc(6px + (10 - 6) * ((100vw - 961px) / (1440 - 961))); */ }
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
    .no-mobile { display: none !important; }
}
/* @end */

/* --- */
