@charset "utf-8";
/*------------------------------------------------------------------

[Master Stylesheet]
Proyecto: MarSenses Corporate

/*------------------------------------------------------------------


/* ==============================
   Icon fonts
   ============================== */

@import url("icons.css");
@import url("icomoon.css");
@import url("font-awesome-brands.css");


/* ==============================
   Variables
   ============================== */

:root{
    --font-global: 'DM Sans', sans-serif;
    --font-alt: 'DM Sans', sans-serif;
    --font-serif: Georgia, 'Times New Roman', Times, serif;
    --full-wrapper-margin-x: 30px;
    --container-width: 1350px;
    --section-padding-y: 120px;
    --menu-bar-height: 85px;
    --menu-bar-height-scrolled: 65px;
    --color-focus: red;
    --color-dark-1: #010101;
    --color-primary-1: #4567ed;
    --color-primary-1-a: #375ae3;
    --color-primary-light-1: #e3effe;
    --color-primary-light-1-a: #bcd1f1;
    --gradient-primary-1: linear-gradient( 90deg, var(--color-primary-4) 0%, var(--color-primary-3) 33%, var(--color-primary-2) 67%, var(--color-primary-1) 100%);
    --gradient-gray-light-1: linear-gradient(0deg, #f5f5f5 0%, #fff 100%);
    --gradient-gray-light-2: linear-gradient(0deg, #fff 0%, #f5f5f5 100%);
    --gradient-primary-alpha-1: linear-gradient( 90deg, var(--color-primary-1) 50%, transparent 87%);
    --gradient-primary-alpha-2: linear-gradient( 90deg, transparent 13%, var(--color-primary-1) 60%);
    --border-radius-default: 4px;
    --border-radius-large: 30px;
    --box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.05),0px 1px 1px 0px rgba(0, 0, 0, 0.03),0px 3px 5px 0px rgba(0, 0, 0, 0.03);
    --box-shadow-strong: 0px 5px 10px 0px rgba(0, 0, 0, 0.08),0px 1px 1px 0px rgba(0, 0, 0, 0.06),0px 3px 5px 0px rgba(0, 0, 0, 0.06);
    --box-shadow-block: 0px 3px 50px 0px rgba(0, 0, 0, 0.05);
    --transition-default: all 0.27s cubic-bezier(0, 0, 0.58, 1);
    --ease-default: cubic-bezier(0, 0, 0.58, 1);
    --ease-out-long: cubic-bezier(0,.5,0,1);
    --ease-out-medium: cubic-bezier(0,.57,.55,1);
    --ease-out-short: cubic-bezier(.15,.7,.78,1);
    --ease-elastic-1: cubic-bezier(0.68,-0.55,0.27,1.55);
    --ease-elastic-2: cubic-bezier(0.68,-3,0.27,5);
}


/* ==============================
   Common styles
   ============================== */

:root{
    scroll-behavior: auto;
}
html{
    -ms-overflow-style: scrollbar;
}
body{
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
main{
    overflow: clip;
}
iframe{
    border: none;
}
a, b, div, ul, li{
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent;
    -moz-outline-: none;
}
/* Eliminar outline por defecto excepto si es con teclado (class .focus-visible) */
a:focus:not(.focus-visible),
a:active,
section:focus,
button:focus,
div:active,
div:focus,
.mobile-nav:focus,
a:focus {
    outline: none;
}

a:focus:not(.focus-visible),
button:focus:not(.focus-visible),
input:focus:not(.focus-visible),
select:focus:not(.focus-visible),
textarea:focus:not(.focus-visible),
div:focus:not(.focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
.focus-visible {
  outline: 6px dotted var(--color-primary-1) !important;
  outline-offset: 10px !important;
}
/* Sólo mostrar outline cuando es foco visible (por teclado) */
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
.mobile-nav:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

button:focus-visible,
a:focus-visible,
.mobile-nav:focus-visible {
  outline: 6px dotted var(--color-primary-1) !important;
  outline-offset: 10px !important;
}
/* Solo mostrar outline si tiene la clase focus-visible */
button.focus-visible,
a.focus-visible,
div.focus-visible,
input.focus-visible,
select.focus-visible,
textarea.focus-visible,
.mobile-nav.focus-visible {
  outline: 6px dotted var(--color-primary-1) !important;
  outline-offset: 10px !important;
}

/* Ajuste específico para foco en botones del menú móvil */
.mobile-on .desktop-nav ul li button:focus {
  outline-offset: -6px !important;
}
img:not([draggable]), embed, object, video{
    max-width: 100%;
    height: auto;
}

.align-center{ text-align:center !important; }
.left{ float:left !important; }
.right{ float:right !important; }
.hidden{ display:none !important;}
.relative{ position: relative !important;}
.z-index-1{ z-index: 1 !important;}
.no-hover{ cursor: default !important;}
.wch-unset{ will-change: unset !important; }
.white{ color: #fff !important; }
.black{ color: var(--color-dakr-1) !important; }
.color-primary-1{ color: var(--color-primary-1) !important; }
.color-secondary-1{ color: var(--color-secondary-1) !important; }
.opacity-003{ opacity: .03 !important; }
.opacity-004{ opacity: .04 !important; }
.opacity-005{ opacity: .05 !important; }
.opacity-006{ opacity: .06 !important; }
.opacity-007{ opacity: .07 !important; }
.opacity-008{ opacity: .08 !important; }
.opacity-009{ opacity: .09 !important; }
.opacity-01{ opacity: .1 !important; }
.opacity-015{ opacity: .15 !important; }
.opacity-02{ opacity: .2 !important; }
.opacity-025{ opacity: .25 !important; }
.opacity-03{ opacity: .3 !important; }
.opacity-035{ opacity: .35 !important; }
.opacity-04{ opacity: .4 !important; }
.opacity-045{ opacity: .45 !important; }
.opacity-05{ opacity: .5 !important; }
.opacity-055{ opacity: .55 !important; }
.opacity-06{ opacity: .6 !important; }
.opacity-065{ opacity: .65 !important; }
.opacity-07{ opacity: .7 !important; }
.opacity-075{ opacity: .75 !important; }
.opacity-08{ opacity: .8 !important; }
.opacity-085{ opacity: .85 !important; }
.opacity-09{ opacity: .9 !important; }
.opacity-095{ opacity: .95 !important; }
.opacity-1{ opacity: 1 !important; }
.size-13 { font-size: 13.5px !important; }
.size-14{ font-size: 14px !important; }
.size-15{ font-size: 15px !important; }
.size-16{ font-size: 16px !important; }
.size-17{ font-size: 17px !important; }
.size-18{ font-size: 18.5px !important; }
.size-20{ font-size: 20px !important; }
.size-22{ font-size: 22px !important; }
.size-24{ font-size: 24px !important; }
.box-shadow{ box-shadow: var(--box-shadow-block) !important;}
.box-shadow-strong{ box-shadow: var(--box-shadow-block-strong) !important;}
.border-color-primary-1{
    border: 1px solid var(--color-primary-1);
}
.border-color-primary-2{
    border: 1px solid var(--color-primary-2);
}
.border-color-primary-3{
    border: 1px solid var(--color-primary-3);
}
.border-color-primary-4{
    border: 1px solid var(--color-primary-4);
}
.border-dark{
    border: 1px solid var(--color-dark-mode-gray-2) !important;
}
.bg-border-dark{
    background: var(--color-dark-3) !important;
    border: 1px solid var(--color-dark-mode-gray-2) !important;
}
.stick-fixed{
    position: fixed !important;
    top: 0;
    left: 0;
}
.block-sticky{
    position: sticky;
    top: calc(var(--menu-bar-height-scrolled) + 40px);
    left: 0;
}
.round{
    border-radius: var(--border-radius-default) !important;
}
.round-large{
    border-radius: var(--border-radius-large) !important;
}
.circle{
    border-radius: 100px !important;
}
.circle-large{
    border-radius: 700px !important;
}
.round.overflow-hidden,
.round-large.overflow-hidden,
.circle.overflow-hidden,
.circle-large.overflow-hidden{
    isolation: isolate;
    transform: translateZ(0);
}
::selection{
    color: #fff;
    background: var(--color-primary-1);
}
.light-content ::selection{
    color: #fff;
    background: var(--color-primary-1);
}
.animate, .animate *{
    transition: var(--transition-default);
}
.parallax-mousemove{
   transition: var(--transition-default);
   -moz-transition: none !important;
   will-change: transform;
}
.parallax-mousemove-follow{
    -moz-transition: none !important;
    transition: none !important;
}

[data-rellax-x]{
    transition: transform 0.25s var(--ease-out-short);
    transition-delay: 0.0025s;
    will-change: transform;
}
[data-rellax-y]{
    transition: transform 0.25s cubic-bezier(0, 0, 0.58, 1);
    transition-delay: 0.0025s;
    will-change: transform;
}
.no-animate{
    -webkit-transition-property: none !important;
    -moz-transition-property: none !important;
    -o-transition-property: none !important;
    transition-property: none !important;
}
.clearlist, .clearlist li{
    list-style: none;
    padding: 0;
    margin: 0;
    background: none;
}
.clearlinks a{

    color: unset;
}
.clearlinks a:hover{
    color: unset !important;
}
.full-wrapper{
    margin: 0 var(--full-wrapper-margin-x);
}
.container{
    max-width: var(--container-width);
    padding: 0 30px;
}
.row:not(
.g-0, .g-1, .g-2, .g-3, .g-4, .g-5,
.gx-0, .gx-1, .gx-2, .gx-3, .gx-4, .gx-5,
.gy-0, .gy-1, .gy-2, .gy-3, .gy-4, .gy-5){
    --bs-gutter-x: 30px;
}
.row.gx-huge{
    --bs-gutter-x: 276px;
}
.icon-ellipse{
    position: relative;
    top: -0.085em;
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
    background: currentColor;
    border-radius: 50%;
}
.text-outline-cont{
    position: relative;
    display: inline-block;
}
.text-outline{
    position: relative;
}
.text-outline-1{
    position: absolute;
    top: -0.36em;
    left: 0;
    color: #fff;
    -webkit-text-stroke: 1px var(--color-dark-1);
    opacity: .2;
    pointer-events: none;
}
.text-outline-2{
    position: absolute;
    top: -0.72em;
    left: 0;
    color: #fff;
    -webkit-text-stroke: 1px var(--color-dark-1);
    opacity: .1;
    pointer-events: none;
}
.light-content .text-outline-1{
    color: transparent;
    -webkit-text-stroke: 1px #fff;
    opacity: .17;
}
.light-content .text-outline-2{
    color: transparent;
    -webkit-text-stroke: 1px #fff;
    opacity: .07;
}


/* ==============================
   Page loader
   ============================== */

.page-loader{
    display:block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #fefefe;
    z-index: 100000;
}
.loader{
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -25px 0 0 -25px;
    font-size: 10px;
    text-indent: -12345px;
    border-top: 1px solid rgba(0,0,0, 0.15);
    border-right: 1px solid rgba(0,0,0, 0.15);
    border-bottom: 1px solid rgba(0,0,0, 0.15);
    border-left: 1px solid rgba(0,0,0, .55);
    border-radius: 50%;
    animation: spinner 700ms infinite linear;
    will-change: transform;
    z-index: 100001;
}

.page-loader.dark{
    background: var(--color-dark-1);
}
.page-loader.dark .loader{
    border-top: 1px solid rgba(255,255,255, 0.15);
    border-right: 1px solid rgba(255,255,255, 0.15);
    border-bottom: 1px solid rgba(255,255,255, 0.15);
    border-left: 1px solid rgba(255,255,255, .5);
}

.page-loader.gradient .loader{
    border-color: transparent;
    background:	linear-gradient(to right, white, white), var(--gradient-primary-1);
	-webkit-background-clip: padding-box, border-box;
    background-clip:padding-box, border-box;
	background-origin: padding-box, border-box;
}
.page-loader.gradient.dark .loader{
    border-color: transparent !important;
    background:	linear-gradient(to right, var(--color-dark-1), var(--color-dark-1)), var(--gradient-primary-1);
    -webkit-background-clip: padding-box, border-box;
    background-clip:padding-box, border-box;
	background-origin: padding-box, border-box;
}

.page-loader.color .loader{
    border-color: var(--color-primary-light-1-a);
    border-left-color: var(--color-primary-1);
}

@keyframes spinner {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/* ==============================
   Typography
   ============================== */

body{
    color: var(--color-dark-1);
    font-family: var(--font-global);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.67;
}
a{
    color: var(--color-dark-1);
    text-decoration: underline;
    transition: color 0.1s var(--ease-default);
}
a:hover{
    color: var(--color-dark-4);
    text-decoration: underline;
}
b, strong{
    font-weight: 500;
}
mark{
    position: relative;
    padding: 0;
    color: inherit;
    background-color: transparent;
    background-image: linear-gradient(90deg,rgba(17,17,17,.1) 0,rgba(17,17,17,.1) 100%);
    background-repeat: no-repeat;
    background-size: 100% .3em;
    background-position: 0 110%;
}
.light-content mark{
    background-image: linear-gradient(90deg,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%);
}
.mark-decoration-1{
    position: relative;
    display: inline-block;
}
.mark-decoration-1:before{
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.4em;
    width: 100%;
    height: 0.5357em;
    background-image: url(../images/mark-decoration-1.svg);
    background-repeat: no-repeat;
    background-size: auto 0.55357em;
    background-position: 0 0;
    pointer-events: none;
}
.light-content .mark-decoration-1:before{
    background-image: url(../images/mark-decoration-1-white.svg);
}
.mark-decoration-2{
    position: relative;
    display: inline-block;
}
.mark-decoration-2:before{
    content:"";
    position: absolute;
    top: -0.09em;
    left: -0.2em;
    bottom: -0.09em;
    right: -0.2em;
    display: block;
    border: 1px solid var(--color-dark-1);
    border-radius: 50%;
    opacity: 0.7;
    transform: rotate(-7deg);
    pointer-events: none;
}
.mark-decoration-3-wrap{
    position: relative;
    display: inline-block;
    isolation: isolate;
}
.mark-decoration-3{
    position: absolute;
    left: 0;
    bottom: 0.12em;
    display: block;
    width: 100%;
    height: 0.2em;
    z-index: -1;
}
.mark-decoration-3:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-secondary-1);
}
.light-content .mark-decoration-3:before{
    opacity: .37;
}
.mark-decoration-4{
    position: relative;
    display: inline-block;
}
.mark-decoration-4:before{
    content:"";
    position: absolute;
    bottom: 0.12em;
    left: 0;
    display: block;
    width: 100%;
    height: 7px;
    opacity: 0.2;
    background: var(--gradient-primary-1);
    pointer-events: none;
    z-index: -1;
}
.light-content .mark-decoration-4:before{
    opacity: 0.375;
}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6{
    margin-bottom: 1em;
    font-weight: 500;
    line-height: 1.2;
}

h1, .h1{
    margin-bottom: 0.5em;
    font-size: 42px;
    letter-spacing: -0.04em;
}
h2, .h2{
    margin-bottom: 0.5em;
    font-size: 36px;
    letter-spacing: -0.03em;
}
h3, .h3{
    margin-bottom: 0.7em;
    font-size: 28px;
    letter-spacing: -0.03em;
}
h4, .h4{
    font-size: 24px;
}
h5, .h5{
    font-size: 20px;
}
h6, .h6{
    font-size: 16px;
    font-weight: 700;
}
p{
    margin: 0 0 1.5em 0;
}
ul, ol{
    margin: 0 0 1.5em 0;
}

.testimonial{
    position: relative;
    margin: 0 0 1.5em 0;
    padding-left: 1.9778em;
    border: none;
    background: none;
    font-size: 46px;
    border: none;
}

dl dt{
    margin-bottom: .5em;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.0039em;
}
dl dd{
    margin-bottom: 1.9em;
    color: var(--color-gray-1);
}
.light-content dl dd{
    color: var(--color-dark-mode-gray-1);
}
pre{
    background-color: #f9f9f9;
    border-color: #ddd;
}
hr{
    background-color: #000;
    opacity: .1;
}
hr.white{
    background-color: #fff;
    opacity: 1;
}
.dark-mode hr.white{
    background-color: #fff;
    opacity: .15;
}
hr.black{
    background-color: var(--color-dark-1);
    opacity: 1;
}
hr.thick{
    height: 2px;
}

.uppercase{
    text-transform: uppercase;
    letter-spacing: 0.025em;
}
.serif{
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: normal;
}
.font-alt{
   font-family: var(--font-alt);
}
.normal{
    font-weight: normal;
}
.strong{
    font-weight: 700 !important;
}
.lead{
    margin: 0 0 1em 0;
    font-size: 140%;
    font-weight: 400;
    letter-spacing: -0.012em;
    line-height: 1.5;
}
.lead-alt{
    font-size: 46px;
    font-weight: 500;
    line-height: 1.196;
    letter-spacing: -0.04em;
}
.dropcap{
    float: left;
    font-size: 3em;
    line-height: 1;
    padding: 2px 8px 2px 0;
}

.highlight pre{
    border: 1px solid var(--color-gray-light-3);
    background: var(--color-gray-light-2);
    color: var(--color-dark-4);
    border-radius: var(--border-radius-default);
}
.light-content .highlight pre{
    border-color: transparent;
    background-color: var(--color-dark-3a);
    color: var(--color-gray-light-6);
}

/*
 * Headings styles
 */

.hs-wrap{
    position: relative;
    margin: 0 auto;
    padding: 50px 40px;
    overflow: hidden;
    text-align: center;
    border: 1px solid rgba(255,255,255, .05);
    border-radius: var(--border-radius-default);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    isolation: isolate;
    transform: translateZ(0);
}
.hs-wrap:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    opacity: 0.17;
}
.hs-line{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3%;
    height: 160%;
    mix-blend-mode: difference;
    pointer-events: none;
}
.hs-line:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: translate(-50%, -50%) rotate(30deg);
}
.hs-icon{
    display: inline-block;
    width: 50px;
    height: 50px;
    font-size: 50px;
}
.hs-icon svg{
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
@media only screen and (min-width: 992px) {
    .hs-title-overlap{
        width: 137% !important;
        margin-right: -37%;
    }
}
.hs-title-1{
    margin-top: 0;
    font-size: 70px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-2{
    margin-top: 0;
    font-size: 120px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.025em;
}
.hs-title-2a{
    margin-top: 0;
    font-size: 112px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.025em;
}
.hs-title-3{
    margin-top: 0;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}
.hs-title-3a{
    margin-top: 0;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.012em;
}
.hs-title-4{
    margin-top: 0;
    font-size: 100px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
}
.hs-title-4a{
    margin-top: 0;
    font-size: 100px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
}
.hs-title-5{
    margin-top: 0;
    font-size: 150px;
    font-weight: 500;
    line-height: 0.92;
    letter-spacing: normal;
    text-transform: uppercase;
}
.hs-title-6{
    margin-top: 0;
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.hs-title-7{
    margin-top: 0;
    font-size: 160px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}
.hs-title-8{
    margin-top: 0;
    font-size: 60px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-9{
    margin-top: 0;
    font-size: 65px;
    font-weight: 500;
    line-height: 1.1176;
    letter-spacing: -0.037em;
}
.hs-title-10{
    margin-top: 0;
    font-size: 56px;
    font-weight: 500;
    line-height: 1.1785;
    letter-spacing: -0.037em;
}
.hs-title-11{
    margin-top: 0;
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.hs-title-12{
    margin-top: 0;
    font-size: 86px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-13{
    margin-top: 0;
    font-size: 82px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-13a{
    margin-top: 0;
    font-size: 82px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-line-14{
    font-size: 120px;
    font-weight: 500;
    letter-spacing: -0.03em;
}
.hs-image-1{
    max-width: 0.85em;
    max-height: 0.85em;
    margin-top: -0.2em;
    vertical-align: middle;
}
.hs-image-1{
    width: 0.85em;
    height: 0.85em;
    margin-top: -0.2em;
    vertical-align: middle;
}
.hs-image-2{
    width: 0.75em;
    height: 0.75em;
    margin-top: -0.2em;
    vertical-align: middle;
    border-radius: 50%;
}
.hs-image-3{
    height: 0.75em !important;
    margin-top: -0.2em;
    vertical-align: middle;
    border-radius: 100px;
}
.hs-paragraph-1{
    position: absolute;
    top: 158px;
    left: 0;
    max-width: 256px;
    font-size: 16px;
    line-height: 1.5;
}
.hs-paragraph-2{
    position: absolute;
    top: 160px;
    right: 50px;
    max-width: 350px;
    font-size: 14px;
    text-transform: uppercase;
    text-indent: 4em;
    line-height: 1.5;
    letter-spacing: 0;
}
.hs-descr{
    font-size: 28px;
    font-weight: 400;
    line-height: 1.353;
    letter-spacing: -0.0075em;
}


/* ==============================
   Links
   ============================== */

.link-hover-anim{
    position: relative;
    display: inline-block;
    padding: 6px 0;
    overflow: hidden;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1;
    text-decoration: none;
    vertical-align: middle;
    color: currentColor;
    background: none;
    border: none;
    cursor: pointer;
}
.link-hover-anim:hover{
    text-decoration: none !important;
}
.main-nav .link-hover-anim{
    top: 1px;
}
.link-strong{
    position: relative;
    display: inline-block;
    overflow: hidden;
    padding: 7px 0;
    transition: transform 0.5s var(--ease-elastic-1), opacity 0.5s var(--ease-elastic-1), color 0.2s var(--ease-default);
}
.underline .link-strong{
    border-bottom: 2px solid currentColor;
}
.underline .link-strong i{
    position: relative;
    top: 0.075em;
}
.link-hover-anim:not(.underline) .link-strong i:not([class^="icon-"]){
    position: relative;
    top: -0.05em;
    vertical-align: middle;
}
.link-strong svg{
    position: relative;
    top: -0.1em;
    margin-right: 0.2em;
}
.link-strong-hovered{
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    opacity: 0;
    transform: translateY(150%) translateZ(0.001px) skewY(10deg);
}
.link-hover-anim:hover{
    color: inherit;
}
.link-strong-unhovered{
    display: block;
}
.link-hover-anim:hover .link-strong-unhovered{
    opacity: 0;
    transform: translateY(-150%) translateZ(0.001px) skewY(-10deg);
}

.link-hover-anim:hover .link-strong-hovered{
    opacity: 1;
    transform: translateY(0) translateZ(0.001px) skewY(0);
}
.light-content .link-strong,
.light-content .link-hover-anim{
    color: #fff;
}

.link-hover-anim.link-gradient .link-strong{
    background: var(--gradient-primary-1-a);
    -webkit-background-clip: text;
    background-clip:text;
    -webkit-text-fill-color: transparent;
}
.link-hover-anim.link-gradient .link-strong i{
    -webkit-text-fill-color: var(--color-primary-1);
}

.link-circle{
    padding-right: 22px;
}
.link-circle:before{
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 7px;
    transform: translate3d(0, -50%, 0.001px);
    display: block;
    width: 51px;
    height: 51px;
    border: 1px solid currentColor;
    border-radius: 50%;
    transition: all .5s var(--ease-elastic-2);
}
.link-circle:hover:before{
    transform: translate3d(0, -50%, 0.001px) scale(1.1);
}
.link-circle .link-strong{
    padding: 20px 0;
}

.link-circle-1{
    margin-left: -7px;
    padding-left: 27px;
}
.link-circle-1:before{
    content: "";
    position: absolute;
    top: calc(50%);
    left: 7px;
    transform: translate3d(0, -50%, 0.001px);
    display: block;
    width: 60px;
    height: 60px;
    border: 2px solid var(--color-dark-1);
    border-radius: 50%;
    opacity: .15;
    transition: all .5s var(--ease-elastic-2);
}
.link-circle-1 .link-strong-hovered{
    left: 27px;
}
.light-content .link-circle-1:before{
    border-color: #fff;
    opacity: .25;
}
.link-circle-1:hover:before{
    transform: translate3d(0, -50%, 0.001px) scale(0.88);
}
.link-circle-1 .link-strong{
    padding: 24px 0;
}


/* ==============================
   Botones
   ============================== */

.btn-mod,
a.btn-mod{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3px 13px;
    color: #fff;
    background: var(--color-dark-1);
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: .065em;
    border-radius: 0;
    box-shadow: none;
    transition: var(--transition-default);
    cursor: pointer;
}
.btn-mod:hover,
.btn-mod:focus,
a.btn-mod:hover,
a.btn-mod:focus{
    color: #fff;
    text-decoration: none;
    outline: none;
    border-color: transparent;
    box-shadow: none;
}
.btn-mod.btn-large:hover {
    background: transparent;
}
.btn-mod:active{
    cursor: pointer !important;
    outline: none !important;
}

.btn-mod i.align-center:before{
    display: block;
    margin: -0.275em 0;
    transform: translateY(0.14em);
}

.btn-mod.btn-small{
    height: auto;
    padding: 6px 15px;
    font-size: 13px;
    letter-spacing: 0.05em;
}
.btn-mod.btn-medium{
    height: auto;
    padding: 13px 20px 12px;
    font-size: 13px;
    letter-spacing: 0.085em;
}
.btn-mod.btn-large{
    height: auto;
    padding: 16px 32px 15px;
    font-size: 13px;
    letter-spacing: 0.085em;
}

.btn-mod.btn-w{
    color: var(--color-dark-1);
    background: #fff;
}
.btn-mod.btn-w:hover,
.btn-mod.btn-w:focus{
    color: var(--color-dark-1);
    background: rgba(255,255,255, 1);
}

.btn-mod.btn-w-c{
    color: var(--color-primary-1);
    background: #fff;
}
.btn-mod.btn-w-c:hover,
.btn-mod.btn-w-c:focus{
    color: var(--color-primary-1);
    background: #fff;
}

.btn-mod.btn-border{
    color: var(--color-dark-1);
    border: 1px solid var(--color-dark-1);
    background: transparent;
}
.btn-mod.btn-border:hover,
.btn-mod.btn-border:focus{
    color: var(--color-dark-1);
    border-color: var(--color-dark-1);
}

.btn-mod.btn-border-c{
    color: var(--color-primary-1);
    border: 1px solid var(--color-primary-1);
    background: transparent;
}
.btn-mod.btn-border-c:hover,
.btn-mod.btn-border-c:focus{
    color: #fff;
    border-color: transparent;
    background: var(--color-primary-1);
}

.btn-mod.btn-border-w{
    color: #fff;
    border: 1px solid #fff;
    background: transparent;
}
.btn-mod.btn-border-w:hover,
.btn-mod.btn-border-w:focus{
    border-color: #fff;
}

.btn-mod.btn-border-w-light{
    color: rgba(255,255,255, .8);
    border: 1px solid rgba(255,255,255, .5);
    background: transparent;
}
.btn-mod.btn-border-w-light:hover,
.btn-mod.btn-border-w-light:focus{
    color: #fff;
    border-color: rgba(255,255,255, .8);
}

.btn-mod.btn-gray{
    color: var(--color-dark-4);
    background: var(--color-gray-light-3);
}
.btn-mod.btn-gray:hover,
.btn-mod.btn-gray:focus{
    color: var(--color-dark-3);
    background: var(--color-gray-light-4);
}

.btn-mod.btn-color{
    color: #fff;
    background: var(--color-primary-1);
}
.btn-mod.btn-color-light{
    color: var(--color-primary-1);
    background: var(--color-primary-light-1);
}

.btn-mod.btn-dark,
.btn-mod.btn-dark:hover,
.btn-mod.btn-dark:focus{
    background: var(--color-dark-3) !important;
    border: 1px solid var(--color-dark-mode-gray-2) !important;
    box-shadow: none !important;
}

.btn-mod.btn-circle{
    border-radius: 30px;
}
.btn-circle-alt{
    border-radius: 50%;
}
.btn-circle-alt:hover{
    border-radius: 10px;
}
.btn-mod.btn-round{
    border-radius: var(--border-radius-default);
}
.btn-full{
    width: 100%;
}

.btn-mod.btn-with-icon{
    display: inline-flex;
    align-items: center;
    height: 42px;
    padding: 0 17px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: normal;
    border: none;
    box-shadow: var(--box-shadow-block);
}
.btn-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    margin-left: -10px;
    margin-right: 8px;
    font-size: 16px;
    border-radius: 50%;
}
.btn-icon.color-1{
    color: #fff;
    background: var(--color-primary-1);
}
.btn-icon.color-2{
    color: #fff;
    background: var(--color-primary-2);
}
.btn-icon.color-3{
    color: #fff;
    background: var(--color-primary-3);
}
.btn-icon.color-4{
    color: #fff;
    background: var(--color-primary-4);
}
.btn-mod.btn-with-icon:hover{
    background: #fff;
    box-shadow: var(--box-shadow-block-strong);
}
.btn-mod.btn-with-icon i:not(.btn-icon i){
    position: relative;
    top: 0.05em;
    font-size: 20px;
}

.btn-mod.btn-hover-anim{
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transform: translateZ(0);
}
.btn-mod.btn-hover-anim > span{
    position: relative;
}
.btn-mod.btn-hover-anim:before{
    content: "";
    display: block;
    width: 100%;
    height: 200%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(.7) translateY(55%);
    background: var(--color-dark-3a);
    border-radius: 100%;
    transition: all 0.25s cubic-bezier(0,0,.31,.99);
}
.btn-mod.btn-hover-anim:hover{
   opacity: 1;
   border-color: var(--color-dark-3a);
}
.btn-mod.btn-hover-anim:hover:before{
   transform: scaleX(2) scaleY(1) translateY(-15%);
}
.btn-mod.btn-w.btn-hover-anim:before{
    background: #ddd;
}
.btn-mod.btn-w.btn-hover-anim:hover{
   border-color: #ddd;
}
.btn-mod.btn-w-c.btn-hover-anim:before{
    background: var(--color-primary-light-1);
}
.btn-mod.btn-w-c.btn-hover-anim:hover{
   border-color: var(--color-primary-light-1);
}
.btn-mod.btn-color.btn-hover-anim:before{
    background: var(--color-primary-1-a);
}
.btn-mod.btn-color.btn-hover-anim:hover{
    border-color: var(--color-primary-1-a);
}

.btn-mod.btn-ellipse,
.btn-mod.btn-ellipse:focus{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 170px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.22;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    background: none;
    transform: rotate(-15deg);
}
.btn-mod.btn-ellipse:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    border-radius: 50%;
    opacity: 97%;
    transition: all .37s var(--ease-out-short);
}
.btn-mod.btn-ellipse > *{
    z-index: 1;
}
.btn-mod.btn-ellipse:hover{
    background: none;
    opacity: 1;
}
.btn-mod.btn-ellipse:hover:before{
    transform: scale(1.1);
}
.btn-mod.btn-ellipse.btn-w:before{
    background: #fff;
}

.btn-mod.btn-ellipse-inner{
    position: relative;
}
.btn-ellipse-inner{
    position: relative;
    overflow: hidden;
}
.btn-ellipse-unhovered{
    display: block;
    padding: 10px;
    transition: all .37s var(--ease-out-short);
}
.btn-ellipse-hovered{
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    padding: 10px;
    opacity: 0;
    transition: all .37s var(--ease-out-short);
}
.btn-mod.btn-ellipse:hover .btn-ellipse-unhovered{
    opacity: 0;
    transform: translate(0,-100%);
}
.btn-mod.btn-ellipse:hover .btn-ellipse-hovered{
    opacity: 1;
    transform: translate(0,-100%);
}

.btn-animate-y{
    position: relative;
    display: block;
    overflow: hidden;
}
.btn-animate-y-1{
    display: block;
    transition: all .37s var(--ease-out-short), opacity .37s linear;
}
.btn-animate-y-2{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translate(0,100%);
    transition: all .37s var(--ease-out-short), opacity .37s linear;
}
.btn-mod:hover .btn-animate-y-1,
a:not(.no-hover):hover .btn-animate-y-1{
    opacity: 0;
    transform: translate(0,-100%);
}
.btn-mod:hover .btn-animate-y-2,
a:not(.no-hover):hover .btn-animate-y-2{
    opacity: 1;
    transform: translate(0,0);
}

.big-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
    font-size: 30px;
    color: var(--color-dark-1);
    background: #fff;
    border-radius: 50%;
    transition: var(--transition-default);
}
.big-icon i{
    position: relative;
    left: 0.1em;
}
.big-icon-gradient{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    margin: 0 auto 12px;
    overflow: hidden;
    font-size: 30px;
    color: var(--color-dark-1);
    background: #fff;
    border-radius: 50%;
    box-shadow: 0px 0px 100px 0px rgba(185, 71, 217, 0.5);
    transition: transform .2s var(--ease-default);
    isolation: isolate;
    transform: translateZ(0);
}
.big-icon-gradient:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-primary-1-b);
    opacity: .225;
    transition: opacity .1s var(--ease-default);
}
.big-icon-gradient:hover:before{
    opacity: .15;
}
.big-icon-gradient i{
    position: relative;
    left: 0.1em;
}
.big-icon-gradient i:before{
    background: var(--gradient-primary-1-b);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.big-icon-border{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
    border: 3px solid var(--color-dark-1);
    text-align: center;
    font-size: 30px;
    color: var(--color-dark-1);
    border-radius: 50%;
    transition: var(--transition-default);
}
.big-icon-border i{
    position: relative;
    left: 0.1em;
}
.big-icon-link{
    display: inline-block;
    font-size: 48px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    letter-spacing: -0.02em;
}
.big-icon-link:hover{
    text-decoration: none;
}
.light-content .big-icon-link{
    color: #fff;
}
.big-icon-link-gradient{
    display: inline-block;
    font-size: 48px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    letter-spacing: -0.02em;
}
.big-icon-link-gradient:hover{
    text-decoration: none;
}
.light-content .big-icon-link-gradient{
    background: var(--gradient-primary-1);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: rgba(255,255,255, .8);
}
.light-content .big-icon-link-gradient:hover{
    -webkit-text-fill-color: rgba(255,255,255, .9);
}
.light-content .big-icon-border{
    color: #fff;
    border-color: #fff;
}

.btn-mod.btn-grad{
    color: #fff !important;
    background-image: var(--gradient-primary-1);
    background-repeat: no-repeat;
    border: none;
}
.btn-mod.btn-border-grad{
	border: 1px solid transparent;
	background:	linear-gradient(to right, white, white), var(--gradient-primary-1-b);
	-webkit-background-clip: padding-box, border-box;
    background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
    color: var(--color-primary-1);
}
.btn-mod.btn-border-grad > span{
    position: relative;
    display: block;
	background: var(--gradient-primary-1);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.btn-mod.btn-border-grad > span i{
    -webkit-text-fill-color: var(--color-primary-1);
}
.btn-mod.btn-border-grad .btn-animate-y-1,
.btn-mod.btn-border-grad .btn-animate-y-2{
    background: var(--gradient-primary-1);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.main-nav.dark .btn-border-grad{
    background:	linear-gradient(to right, var(--color-dark-1), var(--color-dark-1)), var(--gradient-primary-1-b);
	-webkit-background-clip: padding-box, border-box;
    background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
}

/*
 * Corrección del botón del menú móvil
 */

.mobile-on .link-hover-anim{
    top: 0;
}
.mobile-on .btn-border,
.mobile-on .btn-border:hover{
    color: #fff !important;
    border-color: #fff !important;
}


/* ==============================
   Campos de formularios
   ============================== */

.form input[type="text"],
.form input[type="email"],
.form input[type="number"],
.form input[type="url"],
.form input[type="search"],
.form input[type="tel"],
.form input[type="password"],
.form input[type="date"],
.form input[type="color"],
.form select{
    display: inline-block;
    height: 27px;
    vertical-align: middle;
    font-size: 13px;
    font-weight: 400;
    color: var(--color-dark-1);
    border: 1px solid rgba(0,0,0, .183);
    padding-top: 0;
    padding-bottom: 2px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 0;
    box-shadow: none;
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.form select:not([multiple]){
    padding-right: 24px !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="9px" height="5px"><path fill-rule="evenodd" fill="rgb(17, 17, 17)" d="M8.886,0.631 L8.336,0.117 C8.263,0.049 8.178,0.015 8.083,0.015 C7.988,0.015 7.903,0.049 7.830,0.117 L4.506,3.155 L1.183,0.117 C1.109,0.049 1.025,0.015 0.930,0.015 C0.834,0.015 0.750,0.049 0.677,0.117 L0.127,0.631 C0.053,0.699 0.017,0.778 0.017,0.867 C0.017,0.956 0.053,1.035 0.127,1.103 L4.253,4.892 C4.327,4.960 4.411,4.994 4.506,4.994 C4.602,4.994 4.686,4.960 4.759,4.892 L8.886,1.103 C8.959,1.035 8.996,0.956 8.996,0.867 C8.996,0.778 8.959,0.699 8.886,0.631 L8.886,0.631 Z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 9px 5px;
}
.form select[multiple]{
    height: auto;
}
.form input[type="text"]::placeholder,
.form input[type="email"]::placeholder,
.form input[type="number"]::placeholder,
.form input[type="url"]::placeholder,
.form input[type="search"]::placeholder,
.form input[type="tel"]::placeholder,
.form input[type="password"]::placeholder,
.form input[type="date"]::placeholder,
.form input[type="color"]::placeholder,
.form select::placeholder{
    color: var(--color-gray-2);
    transition: var(--transition-default), font-size 0s;
}
.form input[type="text"]:hover::placeholder,
.form input[type="email"]:hover::placeholder,
.form input[type="number"]:hover::placeholder,
.form input[type="url"]:hover::placeholder,
.form input[type="search"]:hover::placeholder,
.form input[type="tel"]:hover::placeholder,
.form input[type="password"]:hover::placeholder,
.form input[type="date"]:hover::placeholder,
.form input[type="color"]:hover::placeholder,
.form select::placeholder{
    color: var(--color-gray-1);
}
.form input[type="text"]:hover,
.form input[type="email"]:hover,
.form input[type="number"]:hover,
.form input[type="url"]:hover,
.form input[type="search"]:hover,
.form input[type="tel"]:hover,
.form input[type="password"]:hover,
.form input[type="date"]:hover,
.form input[type="color"]:hover,
.form select:hover{
    border-color: rgba(0,0,0, .38);
}
.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form input[type="number"]:focus,
.form input[type="url"]:focus,
.form input[type="search"]:focus,
.form input[type="tel"]:focus,
.form input[type="password"]:focus,
.form input[type="date"]:focus,
.form input[type="color"]:focus,
.form select:focus{
    color: var(--color-dark-1);
    border-color: rgba(0,0,0, .7);
    box-shadow: 0 0 3px rgba(0,0,0, .3);
    outline: none;
}
input[type="text"]:-webkit-autofill,
input[type="email"]:-webkit-autofill,
input[type="number"]:-webkit-autofill,
input[type="url"]:-webkit-autofill,
input[type="search"]:-webkit-autofill,
input[type="tel"]:-webkit-autofill,
input[type="password"]:-webkit-autofill,
input[type="date"]:-webkit-autofill,
input[type="color"]:-webkit-autofill,
textarea:-webkit-autofill,
input[type="text"]:-webkit-autofill:hover,
input[type="email"]:-webkit-autofill:hover,
input[type="number"]:-webkit-autofill:hover,
input[type="url"]:-webkit-autofill:hover,
input[type="search"]:-webkit-autofill:hover,
input[type="tel"]:-webkit-autofill:hover,
input[type="password"]:-webkit-autofill:hover,
input[type="date"]:-webkit-autofill:hover,
input[type="color"]:-webkit-autofill:hover,
textarea:-webkit-autofill:hover,
input[type="text"]:-webkit-autofill:focus,
input[type="email"]:-webkit-autofill:focus,
input[type="number"]:-webkit-autofill:focus,
input[type="url"]:-webkit-autofill:focus,
input[type="search"]:-webkit-autofill:focus,
input[type="tel"]:-webkit-autofill:focus,
input[type="password"]:-webkit-autofill:focus,
input[type="date"]:-webkit-autofill:focus,
input[type="color"]:-webkit-autofill:focus,
textarea:-webkit-autofill:focus{
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000), background-color 1s 900000s ease;
    -webkit-text-fill-color: var(--color-dark-1);
}
.light-content input[type="text"],
.light-content input[type="email"],
.light-content input[type="number"],
.light-content input[type="url"],
.light-content input[type="search"],
.light-content input[type="tel"],
.light-content input[type="password"],
.light-content input[type="date"],
.light-content input[type="color"],
.light-content select{
    color: #fff;
    background: none;
    border-color: rgba(255,255,255, .35);
}
.light-content input[type="text"]:hover,
.light-content input[type="email"]:hover,
.light-content input[type="number"]:hover,
.light-content input[type="url"]:hover,
.light-content input[type="search"]:hover,
.light-content input[type="tel"]:hover,
.light-content input[type="password"]:hover,
.light-content input[type="date"]:hover,
.light-content input[type="color"]:hover,
.light-content select:hover{
    border-color: rgba(255,255,255, .5);
}
.light-content input[type="text"]:focus,
.light-content input[type="email"]:focus,
.light-content input[type="number"]:focus,
.light-content input[type="url"]:focus,
.light-content input[type="search"]:focus,
.light-content input[type="tel"]:focus,
.light-content input[type="password"]:focus,
.light-content input[type="date"]:focus,
.light-content input[type="color"]:focus,
.light-content select:focus{
    color: #fff;
    border-color: rgba(255,255,255, .75);
    background-color: transparent !important;
}
.light-content .form select:not([multiple]){
    background-color: transparent !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="9px" height="5px"><path fill-rule="evenodd" fill="rgb(255, 255, 255)" d="M8.886,0.631 L8.336,0.117 C8.263,0.049 8.178,0.015 8.083,0.015 C7.988,0.015 7.903,0.049 7.830,0.117 L4.506,3.155 L1.183,0.117 C1.109,0.049 1.025,0.015 0.930,0.015 C0.834,0.015 0.750,0.049 0.677,0.117 L0.127,0.631 C0.053,0.699 0.017,0.778 0.017,0.867 C0.017,0.956 0.053,1.035 0.127,1.103 L4.253,4.892 C4.327,4.960 4.411,4.994 4.506,4.994 C4.602,4.994 4.686,4.960 4.759,4.892 L8.886,1.103 C8.959,1.035 8.996,0.956 8.996,0.867 C8.996,0.778 8.959,0.699 8.886,0.631 L8.886,0.631 Z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 9px 5px;
}
.light-content .form select option{
    background: var(--color-dark-1);
}
.light-content .form input[type="text"]::placeholder,
.light-content .form input[type="email"]::placeholder,
.light-content .form input[type="number"]::placeholder,
.light-content .form input[type="url"]::placeholder,
.light-content .form input[type="search"]::placeholder,
.light-content .form input[type="tel"]::placeholder,
.light-content .form input[type="password"]::placeholder,
.light-content .form input[type="date"]::placeholder,
.light-content .form input[type="color"]::placeholder,
.light-content .form select::placeholder{
    color: rgba(255,255,255, .6);
}
.light-content .form input[type="text"]:hover::placeholder,
.light-content .form input[type="email"]:hover::placeholder,
.light-content .form input[type="number"]:hover::placeholder,
.light-content .form input[type="url"]:hover::placeholder,
.light-content .form input[type="search"]:hover::placeholder,
.light-content .form input[type="tel"]:hover::placeholder,
.light-content .form input[type="password"]:hover::placeholder,
.light-content .form input[type="date"]:hover::placeholder,
.light-content .form input[type="color"]:hover::placeholder,
.light-content .form select::placeholder{
    color: rgba(255,255,255, .75);
}
.light-content input[type="text"]:-webkit-autofill,
.light-content input[type="email"]:-webkit-autofill,
.light-content input[type="number"]:-webkit-autofill,
.light-content input[type="url"]:-webkit-autofill,
.light-content input[type="search"]:-webkit-autofill,
.light-content input[type="tel"]:-webkit-autofill,
.light-content input[type="password"]:-webkit-autofill,
.light-content input[type="date"]:-webkit-autofill,
.light-content input[type="color"]:-webkit-autofill,
.light-content textarea:-webkit-autofill,
.light-content input[type="text"]:-webkit-autofill:hover,
.light-content input[type="email"]:-webkit-autofill:hover,
.light-content input[type="number"]:-webkit-autofill:hover,
.light-content input[type="url"]:-webkit-autofill:hover,
.light-content input[type="search"]:-webkit-autofill:hover,
.light-content input[type="tel"]:-webkit-autofill:hover,
.light-content input[type="password"]:-webkit-autofill:hover,
.light-content input[type="date"]:-webkit-autofill:hover,
.light-content input[type="color"]:-webkit-autofill:hover,
.light-content textarea:-webkit-autofill:hover,
.light-content input[type="text"]:-webkit-autofill:focus,
.light-content input[type="email"]:-webkit-autofill:focus,
.light-content input[type="number"]:-webkit-autofill:focus,
.light-content input[type="url"]:-webkit-autofill:focus,
.light-content input[type="search"]:-webkit-autofill:focus,
.light-content input[type="tel"]:-webkit-autofill:focus,
.light-content input[type="password"]:-webkit-autofill:focus,
.light-content input[type="date"]:-webkit-autofill:focus,
.light-content input[type="color"]:-webkit-autofill:focus,
.light-content textarea:-webkit-autofill:focus{
    -webkit-text-fill-color: #fff;
}
.form input[type="text"].input-lg,
.form input[type="email"].input-lg,
.form input[type="number"].input-lg,
.form input[type="url"].input-lg,
.form input[type="search"].input-lg,
.form input[type="tel"].input-lg,
.form input[type="password"].input-lg,
.form input[type="date"].input-lg,
.form input[type="color"].input-lg,
.form select.input-lg{
    height: 52.5px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 16px;
}
.form input[type="text"].input-md,
.form input[type="email"].input-md,
.form input[type="number"].input-md,
.form input[type="url"].input-md,
.form input[type="search"].input-md,
.form input[type="tel"].input-md,
.form input[type="password"].input-md,
.form input[type="date"].input-md,
.form input[type="color"].input-md,
.form select.input-md{
    height: 46px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 15px;
}
.form input[type="text"].input-sm,
.form input[type="email"].input-sm,
.form input[type="number"].input-sm,
.form input[type="url"].input-sm,
.form input[type="search"].input-sm,
.form input[type="tel"].input-sm,
.form input[type="password"].input-sm,
.form input[type="date"].input-sm,
.form input[type="color"].input-sm,
.form select.input-sm{
    height: 37px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
}
.form input[type=color]{
    padding: 3px !important;
}
.form input.form-check-input{
    border: 1px solid var(--color-gray-1);
}
.form .form-check-label{
    font-weight: 400;
}
.form textarea{
    font-size: 13px;
    font-weight: 400;
    color: var(--color-dark-1);
    border-color: rgba(0,0,0, .183);
    padding: 0 7px;
    outline: none;

    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}
.form textarea::placeholder{
    color: var(--color-gray-2);
    transition: var(--transition-default);
}
.form textarea:hover::placeholder{
    color: var(--color-gray-1);
}
.form textarea:hover{
    border-color: rgba(0,0,0, .38);
}
.form textarea:focus{
    color: var(--color-dark-1);
    border-color: rgba(0,0,0, .7);
    box-shadow: 0 0 3px rgba(0,0,0, .3);
}
.light-content textarea{
    color: #fff;
    background: none;
    border-color: rgba(255,255,255, .35);
}
.light-content textarea:hover{
    background: none;
    border-color: rgba(255,255,255, .5);
}
.light-content textarea:focus{
    color: #fff;
    background: none;
    border-color: rgba(255,255,255, .75);
}
.light-content .form textarea::placeholder{
    color: rgba(255,255,255, .6);
}
.light-content .form textarea:hover::placeholder{
    color: rgba(255,255,255, .75);
}
.form textarea.input-lg{
    padding: 12px 20px;
    font-size: 16px;
}
.form textarea.input-md{
    padding: 8px 15px;
    font-size: 15px;

}
.form textarea.input-sm{
    padding: 5px 10px;
    font-size: 14px;
}
.form input.input-circle,
.form select.input-circle,
.form textarea.input-circle{
    border-radius: 27px;
}
.form label{
    display: inline-block;
    margin-bottom: 7px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
}
.form .form-group{
    margin-bottom: 21px;
}

.form div.error{
    margin-top: 20px;
    padding: 13px 20px;
    text-align: center;
    background: var(--bs-danger);
    color: #fff;
    border-radius: var(--border-radius-default);
}
.form div.error a,
.form div.error a:hover{
    color: #fff;
}
.form div.error label,
.form div.success label{
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    text-transform: none;
}
.form div.success{
    margin-top: 20px;
    padding: 13px 20px;
    text-align: center;
    background: rgba(50,178,95, .75);
    color: #fff;
    border-radius: var(--border-radius-default);
}

.form-tip,
.form-tip a{
    font-size: 14px;
    line-height: 1.43;
    color: var(--color-gray-1);
}
.form-tip a:hover{
    color: var(--color-dark-1);
}
.form-tip .fa{
    font-size: 12px;
}
.light-content .form-tip,
.light-content .form-tip a{
    color: var(--color-dark-mode-gray-1);
}

.form-control{
    border-radius: 0;
}

/*
 * Subrayado de entrada
 */

.form input[type="text"].underline,
.form input[type="email"].underline,
.form input[type="number"].underline,
.form input[type="url"].underline,
.form input[type="search"].underline,
.form input[type="tel"].underline,
.form input[type="password"].underline,
.form input[type="date"].underline,
.form input[type="color"].underline,
.form textarea.underline,
.form select.underline{
    border-top: none;
    border-left: none;
    border-right: none;
    padding-left: 0;
    border-width: 2px;
    border-color: var(--color-dark-1);
    border-radius: 0;
}
.form input[type="text"].underline,
.form input[type="email"].underline,
.form input[type="number"].underline,
.form input[type="url"].underline,
.form input[type="search"].underline,
.form input[type="tel"].underline,
.form input[type="password"].underline,
.form input[type="date"].underline,
.form input[type="color"].underline,
.form textarea.underline{
    padding-right: 0;
}
.form input[type="text"].underline:focus,
.form input[type="email"].underline:focus,
.form input[type="number"].underline:focus,
.form input[type="url"].underline:focus,
.form input[type="search"].underline:focus,
.form input[type="tel"].underline:focus,
.form input[type="password"].underline:focus,
.form input[type="date"].underline:focus,
.form input[type="color"].underline:focus,
.form textarea.underline:focus,
.form select.underline:focus{
    box-shadow: none;
}
.light-content .form input[type="text"].underline,
.light-content .form input[type="email"].underline,
.light-content .form input[type="number"].underline,
.light-content .form input[type="url"].underline,
.light-content .form input[type="search"].underline,
.light-content .form input[type="tel"].underline,
.light-content .form input[type="password"].underline,
.light-content .form input[type="date"].underline,
.light-content .form input[type="color"].underline,
.light-content .form textarea.underline,
.light-content .form select.underline{
    border-color: #fff;
}

/*
 * Input Gradient
 */

.input-grad-wrap{
    border: 1px solid transparent;
	background:	linear-gradient(to right, white, white), var(--gradient-primary-1-b);
	-webkit-background-clip: padding-box, border-box;
    background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
}
.form input[type="text"].input-grad,
.form input[type="email"].input-grad,
.form input[type="number"].input-grad,
.form input[type="url"].input-grad,
.form input[type="search"].input-grad,
.form input[type="tel"].input-grad,
.form input[type="password"].input-grad,
.form input[type="date"].input-grad,
.form input[type="color"].input-grad,
.form textarea.input-grad,
.form select.input-grad{
    border: none;
}
.form input[type="text"].input-grad:focus,
.form input[type="email"].input-grad:focus,
.form input[type="number"].input-grad:focus,
.form input[type="url"].input-grad:focus,
.form input[type="search"].input-grad:focus,
.form input[type="tel"].input-grad:focus,
.form input[type="password"].input-grad:focus,
.form input[type="date"].input-grad:focus,
.form input[type="color"].input-grad:focus,
.form textarea.input-grad:focus,
.form select.input-grad:focus{
    border: none;
    box-shadow: none;
}
.light-content .input-grad-wrap{
	background:	linear-gradient(to right, var(--color-dark-1), var(--color-dark-1)), var(--gradient-primary-1-b);
	-webkit-background-clip: padding-box, border-box;
    background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
}


/* ==============================
   Home sections
   ============================== */

/*
 * Header
 */

.home-section{
    width: 100%;
    display: block;
    position: relative;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.home-content{
    width: 100%;
    position: relative;
    text-align: center;
}

/* ==============================
   Custom appear animation
   ============================== */


.appear-animate .charsAnimIn .char{
    opacity: 0;
    transform: translateY(.5em) rotate(7deg);
    transform-origin: 0 50%;
    transition: transform .62s var(--ease-out-short), opacity .62s var(--ease-default);
    transition-delay: calc( 0.027s * var(--char-index) );
}
html:not(.mobile) .appear-animate .charsAnimIn .char{
    will-change: opacity, transform;
}
@media print{
    .appear-animate .charsAnimIn .char{
        opacity: 1 !important;
        transform: none !important;
    }
}
.charsAnimIn.animated .char,
.mobile .charsAnimIn .char{
    opacity: 1;
    transform: none;
}

/*
 * Splitting JS chars animation 1
 */

.appear-animate .charsAnimIn-1 .char{
    opacity: 0;
    transform: translateX(.01em) translateY(.27em) translateZ(0) rotate(0.0003deg);
    transition: transform 1s var(--ease-out-short), opacity 1s var(--ease-default);
    transition-delay: calc( 0.037s * var(--char-index) );
}
html:not(.mobile) .appear-animate .charsAnimIn-1 .char{
    will-change: opacity, transform;
}
@media print{
    .appear-animate .charsAnimIn-1 .char{
        opacity: 1 !important;
        transform: none !important;
    }
}
.charsAnimIn-1.animated .char,
.mobile .charsAnimIn-1 .char{
    opacity: 1;
    transform: none;
}

/*
 * Splitting JS chars animation 2
 */

.appear-animate .charsAnimIn-2 .char{
    opacity: 0;
    transform: translateY(0.2em) translateZ(0) rotate(5deg);
    transition: transform 0.5s var(--ease-out-short), opacity 1s var(--ease-default);
    transition-delay: calc( 0.0427s * var(--char-index) );
}
html:not(.mobile) .appear-animate .charsAnimIn-2 .char{
    will-change: opacity, transform;
}
@media print{
    .appear-animate .charsAnimIn-2 .char{
        opacity: 1 !important;
        transform: none !important;
    }
}
.charsAnimIn-2.animated .char,
.mobile .charsAnimIn-2 .char{
    opacity: 1;
    transform: none;
}

/*
 * Splitting JS chars animation long
 */

.appear-animate .charsAnimInLong .char{
    opacity: 0;
    transform: translateX(.5em);
    transform-origin: 0 50%;
    transition: transform .85s var(--ease-out-short), opacity .62s var(--ease-default);
    transition-delay: calc( 0.03s * var(--char-index) );
}
html:not(.mobile) .appear-animate .charsAnimInLong .char{
    will-change: opacity, transform;
}
@media print{
    .appear-animate .charsAnimInLong .char{
        opacity: 1 !important;
        transform: none !important;
    }
}
.charsAnimInLong.animated .char,
.mobile .charsAnimInLong .char{
    opacity: 1;
    transform: none;
}

/*
 * Splitting JS chars animation long 1
 */

.appear-animate .charsAnimInLong-1 .char{
    opacity: 0;
    transform: translateX(.275em);
    transform-origin: 0 50%;
    transition: transform 1s var(--ease-out-short), opacity .62s var(--ease-default);
    transition-delay: calc( 0.039s * var(--char-index) );
}
html:not(.mobile) .appear-animate .charsAnimInLong-1 .char{
    will-change: opacity, transform;
}
@media print{
    .appear-animate .charsAnimInLong-1 .char{
        opacity: 1 !important;
        transform: none !important;
    }
}
.charsAnimInLong-1.animated .char,
.mobile .charsAnimInLong-1 .char{
    opacity: 1;
    transform: none;
}

/*
 * Splitting JS words animation
 */

.appear-animate .wordsAnimIn .word{
    opacity: 0;
    transform: translateY(1em) scale(.75) skew(-5deg) rotate(7deg);
    transform-origin: 0 50%;
    transition: transform 0.5s var(--ease-out-short), opacity 0.5s var(--ease-out-short);
    transition-delay: calc( 0.05s * var(--word-index) );
}
html:not(.mobile) .appear-animate .wordsAnimIn .word{
    will-change: opacity, transform;
}
@media print{
    .appear-animate .wordsAnimIn .word{
        opacity: 1 !important;
        transform: none !important;
    }
}
.wordsAnimIn.animated .word,
.mobile .wordsAnimIn .word{
    opacity: 1;
    transform: none;
}

/*
 * Splitting JS lines animation
 */

.appear-animate .linesAnimIn .word{
    opacity: 0;
    backface-visibility: hidden;
    transform: translateY(39px) translateZ(0) scale(1.0) rotate(0.02deg);
    transform-origin: 0 50%;
    transition: transform 1s cubic-bezier(0, 0.55, 0.45, 1), opacity 1s cubic-bezier(0, 0.55, 0.45, 1);
    transition-delay: calc( 0.05s * var(--line-index) );
}
html:not(.mobile) .appear-animate .linesAnimIn .word{
    will-change: opacity, transform;
}
@media print{
    .appear-animate .linesAnimIn .word{
        opacity: 1 !important;
        transform: none !important;
    }
}
.linesAnimIn.animated .word,
.mobile .linesAnimIn .word{
    opacity: 1;
    transform: none;
}

/*
 * Appearing animation styles
 */

:root {
	--animate-duration: 1s;
	--animate-delay: 1s;
	--animate-repeat: 1
}
.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-duration: var(--animate-duration);
	animation-duration: var(--animate-duration);
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}

.wow,
.wow-menubar,
.wow-p{
    opacity: 0.001;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
html:not(.mobile) .wow,
html:not(.mobile) .wow-menubar,
html:not(.mobile) .wow-p{
    /*will-change: opacity, transform;*/
}
.appear-animate .wow.scaleOutIn{
    opacity: 1;
    transform: scale(1.2);
}
.appear-animate .wow.animated,
.appear-animate .wow.scaleOutIn.animated,
.appear-animate .wow-p.amimated,
.appear-animate .wow-menubar.animated,
.mobile .appear-animate .wow,
.mobile .appear-animate .wow-menubar,
.mobile .appear-animate .wow-p{
    opacity: 1;
    transform: scale(1.0);
}
@media print{
    .wow,
    .wow.scaleOutIn,
    .wow-menubar,
    .wow-p{
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}
@keyframes fadeIn {
	0% {
		opacity: 0
	}

	to {
		opacity: 1
	}
}
.fadeIn {
	animation-name: fadeIn
}

@keyframes fadeInDown{
    0%{
        opacity: 0;
        transform: translate3d(0,-37px,0)
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInDown{
    animation-name: fadeInDown
}
@keyframes fadeInUp{
    0%{
        opacity: 0;
        transform: translate3d(0,37px,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInUp{
    animation-name: fadeInUp;
}
@keyframes fadeInLeft{
    0%{
        opacity: 0;
        transform: translate3d(37px,0,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInLeft{
    animation-name: fadeInLeft;
}
@keyframes fadeInRight{
    0%{
        opacity: 0;
        transform: translate3d(-37px,0,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInRight{
    animation-name: fadeInRight;
}
@keyframes fadeInDownShort{
    0%{
        opacity: 0;
        transform: translate3d(0,-12px,0)
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInDownShort{
    animation-name: fadeInDownShort
}
@keyframes fadeInUpShort{
    0%{
        opacity: 0;
        transform: translate3d(0,12px,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInUpShort{
    animation-name: fadeInUpShort;
}
@keyframes fadeInLeftShort{
    0%{
        opacity: 0;
        transform: translate3d(12px,0,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInLeftShort{
    animation-name: fadeInLeftShort;
}
@keyframes fadeInRightShort{
    0%{
        opacity: 0;
        transform: translate3d(-12px,0,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInRightShort{
    animation-name: fadeInRightShort;
}
@keyframes scalexIn{
    0%{
        opacity: 0;
        transform: scaleX(0);
        transform-origin: left center;
    }
    to{
        opacity: 1;
        transform: scaleX(1);
        transform-origin: left center;
    }
}
.scalexIn{
    animation-name: scalexIn;
}
@keyframes fadeScaleIn{
    0%{
        opacity: 0;
        transform: scale(.95) translateZ(0.1px);
    }
    to{
        opacity: 1;
        transform: scale(1.00);
    }
}
.fadeScaleIn{
    animation-name: fadeScaleIn;
}
@keyframes scaleOutIn{
    0%{
        transform: scale(1.2) translateZ(0.1px);
    }
    to{
        transform: scale(1.0);
    }
}
.scaleOutIn{
    animation-name: scaleOutIn;
    animation-timing-function: var(--ease-out-short);
}
@keyframes fadeScaleOutIn{
    0%{
        opacity: 0;
        transform: translateY(10px) translateZ(0.1px) scale(1.1);
    }
    to{
        opacity: 1;
        transform: scale(1);
    }
}
.fadeScaleOutIn{
    animation-name: fadeScaleOutIn;
}
@keyframes clipRightIn{
	0% {
		clip-path: inset(0 100% 0 0);
	}

	to {
		clip-path: inset(0);
	}
}
.clipRightIn{
	animation-name: clipRightIn;
    animation-timing-function: var(--ease-out-medium);
}
@keyframes fadeRotateIn{
    0%{
        opacity: 0;
        transform: rotateX(60deg) rotateY(10deg) rotateZ(-10deg);
        transform-origin: top;
        animation-timing-function: var(--ease-out-short);
    }
    to{
        opacity: 1;
        transform: none;
    }
}
.fadeRotateIn{
    animation-name: fadeRotateIn;
}


/* ==============================
   Menu Bar
   ============================== */


/*
 * Logo
 */

.nav-logo-wrap{
    position: absolute;
    top: 0;
    left: 0;
    flex-shrink: 0;
    z-index: 1;
}
footer p.info-copy span {
    display: block;
}
footer .logo img {
    margin-bottom: 3vh;
}
footer.footer-2.pb-50 .clearlinks a span {
    display: block;
}
.nav-logo-wrap .logo{
    display: flex;
    align-items: center;
    max-width: 188px;
    height: var(--menu-bar-height);
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.nav-logo-wrap .logo img{
    max-height: 100%;
    transition:.5s all;
}
nav.main-nav.sticky.js-no-transparent-white.small-height.body-scrolled .logo img,
nav.main-nav.sticky.wow-menubar.js-transparent.fadeInDown.animated.small-height.body-scrolled .logo img  {
    max-width: 140px;
}
.nav-logo-wrap .logo:before,
.nav-logo-wrap .logo:after{
    display: none;
}
.logo,
a.logo:hover{
    font-size: 18px;
    font-weight: 600 !important;
    text-decoration: none;
    color: rgba(0,0,0, .9);
}

/*
 * Desktop nav
 */

.main-nav{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    height: var(--menu-bar-height) !important;
    position: relative;
    top: 0;
    left: 0;
    text-align: left;
    background: rgba(255,255,255, .98);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.025),0px 1px 1px 0px rgba(0, 0, 0, 0.01),0px 0px 50px 0px rgba(0, 0, 0, 0.07);
    z-index: 1030;
    transition: all 0.2s var(--ease-default);
}
.main-nav.sticky{
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
.inner-nav.desktop-nav button {
    background: none;
    border: none;
    font-weight: 500;
}

.small-height{
    height: var(--menu-bar-height-scrolled) !important;
}
.main-nav-sub{
    flex-grow: 1;
    display: flex;
    position: relative;
}
.inner-nav{
    flex-grow: 1;
    position: relative;
}
.inner-nav ul{
    margin: auto;
    font-size: 17px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.3;
}
.inner-nav ul i.align-center:before{
    display: block;
    margin-top: -0.15em;
    transform: translateY(13.5%);
}
.inner-nav ul i.mi-mobile:before{
    margin-left: -0.25em;
    margin-right: -0.25em;
}
.inner-nav > ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.inner-nav ul li{
    margin: 0 18px;
    position: relative;
}
.inner-nav ul li:first-child{
    margin-left: 0;
}
.inner-nav ul li:last-child{
    margin-right: 0;
}
.inner-nav > ul.items-end{
    position: absolute;
    top: 0;
    right: 0;
}
.inner-nav ul li a{
    display: inline-block;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.inner-nav > ul > li > a{
    display: table-cell;
    vertical-align: middle;
    height: var(--menu-bar-height);
    opacity: .65;
}
.main-nav:not(.mobile-on).small-height .inner-nav > ul > li > a{
    height: var(--menu-bar-height-scrolled) !important;
}
.inner-nav ul li a:hover,
.inner-nav ul li a.active{
    color: var(--color-dark-1);
    opacity: 1;
    text-decoration: none;
}
.body-scrolled .scrolled-hidden{
    display: none;
}
.scrolled-visible{
    display: none;
}
.body-scrolled .scrolled-visible{
    display: block;
}
.mobile-on .scrolled-hidden,
.mobile-on .body-scrolled .scrolled-hidden{
    display: block;
}
.mobile-on .scrolled-visible{
    display: none;
}


/* Menu sub */

.inner-nav .mi-chevron-down{
    margin-left: -0.19em;
    font-size: 16px;
    transition: all 0.2s var(--ease-default), color 0 var(--ease-default);
}
.mi-chevron-right{
    transition: var(--transition-default);
}
.mn-sub{
   display: none;
    width: 300px;
    position: absolute;
    top: 100%;
    left: 0;
    padding: 0;
    background: white;
    border-radius: 0 0 3px 3px;
    border: 1px solid rgb(0 0 0 / 13%);
    box-shadow: rgba(0, 0, 0, 0.09) 0px 10px 30px 0px;
}
.light-content .mn-sub{
    background: rgba(50,50,50, .9927);
}
.transparent .mn-sub,
.inner-nav .mn-sub .mn-sub,
.mn-has-multi a{
    border-radius: 3px;
}
.transparent .mn-sub > li:first-child > a,
.transparent .mn-sub > li:first-child > a{
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}
.mn-sub > li:last-child > a{
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}
.main-nav.mobile-on.transparent .mn-sub > li:first-child > a,
.main-nav.mobile-on.transparent .mn-sub > li:first-child > a,
.main-nav.mobile-on .mn-sub > li:last-child > a{
    border-radius: 0;
}
.mn-sub li{
    display: block;
    width: 100%;
    margin: 0 !important;
}
.inner-nav ul li .mn-sub li a.active,
.inner-nav ul li .mn-sub li a:hover {
    color: white !important;
}

.inner-nav ul li .mn-sub li a,
.mn-group-title{
    display: block;
    width: 100%;
    border-bottom: 1px solid rgb(0 0 0 / 13%);
    height: auto !important;
    line-height: 1.3 !important;
    position: relative;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 12px 15px;
    font-size: 15px;
    font-weight: 400;
    text-align: left;
    text-transform: none;
    border-left: none;
    border-right: none;
    letter-spacing: 0;
    color: black;
    outline-offset: -2px !important;
    transition: var(--transition-default);
}
.mobile-on .mn-has-multi > li:last-child > a{
    border-bottom: 1px solid rgba(255,255,255, .065) !important;
}
.mn-sub li a:hover,
.inner-nav ul li .mn-sub li a:hover,
.mn-sub li a.active{
    background: var(--color-primary-1);
    color: var(--color-gray-light-1) ;
}
.inner-nav ul li .mn-sub li a:hover {
    color: white !important;
}

.mn-sub:not(.mn-has-multi) li ul{
    left: 100%;
    right: auto;
    top: 0;
    border-left: 1px solid rgba(255,255,255, .07);
}
.inner-nav li .mn-sub.to-left{
    left: auto;
    right: 0;
}
.inner-nav > ul > li:last-child .mn-sub li ul,
.inner-nav > li:last-child .mn-sub li ul,
.inner-nav li .mn-sub li ul.to-left{
    left: auto;
    right: 100%;
    top: 0;
    border-left: none;
    border-right: 1px solid rgba(255,255,255, .07);
}
.mobile-on .inner-nav li:last-child .mn-sub li ul{
    left: auto;
    right: auto;
    top: 0;
}
.mn-wrap{
    padding: 8px;
}

/*
 * Mobile nav
 */


.mobile-on .desktop-nav{
    display: none;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    padding: 0 15px;
    z-index: 100;
}
.mobile-on .full-wrapper .desktop-nav{
    padding: 0;
}
.mobile-on .desktop-nav ul{
    position: relative;
    width: 100%;
    float: none;
    overflow-x: hidden;
    background: white;
    border: 1px solid rgb(0 0 0 / 38%);
    box-shadow: -1px 6px 8px 0 rgb(0 0 0 / 28%);
}
.mobile-on  ul#submenu-alojamientos,
.mobile-on ul#submenu-foodrink {
    border: 0px;
}
.mobile-on  ul#submenu-alojamientos li a,
.mobile-on ul#submenu-foodrink li a {
    box-shadow: none;
    padding: 15px 7px;

}

.mobile-on .desktop-nav > ul{
    overflow-y: auto;
    display: block;
}
.mobile-on .desktop-nav ul li{
     text-align: left;
    display: block;
    float: none !important;
    overflow: hidden;
    color: #010101;
    border-bottom: 1px solid rgb(0 0 0 / 20%);
}
.mobile-on .desktop-nav ul li a {
    color:white;
}
.mobile-on .desktop-nav ul li ul{
    padding: 0;
    border-bottom: 1px solid rgba(255,255,255, .1);
}
.mobile-on .desktop-nav ul li a, .mobile-on .desktop-nav ul li button{
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.3 !important;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 10px;
    text-align: left;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255, .065);
    color: var(--color-gray-light-5);
    opacity: 1;
    cursor: pointer;
}
.mobile-on .desktop-nav ul li a:hover,
.mobile-on .desktop-nav ul li a.active{
    background: rgba(255,255,255, .025);
        color: #010101;
}
.mobile-on .desktop-nav ul li a:focus{
    outline-offset: -6px !important;
}

.mobile-nav-display{
    display: none;
}
.mobile-on .mobile-nav-display{
    display: block !important;
}
.mobile-nav-display-i{
    display: none;
}
.mobile-on .mobile-nav-display-i{
    display: inline-block !important;
}
.desktop-nav-display{
    display: block;
}
.mobile-on .desktop-nav-display{
    display: none !important;
}


/* Mobile nav menu sub */

.mobile-on .mn-has-sub > .mi-chevron-down{
    display: block;
    width: 24px;
    height: 24px;
    font-size: 14px;
    line-height: 22px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -12px;
    text-align: center;
    border: 1px solid rgba(255,255,255, .1);
    border-radius: 50%;
}
.mobile-on .mn-has-sub > .mi-chevron-right{
    display: block;
    width: 24px;
    height: 24px;
    font-size: 14px;
    line-height: 22px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -12px;
    text-align: center;
    border: 1px solid rgba(255,255,255, .1);
    transform: rotate(90deg);
    border-radius: 50%;
}
.mobile-on .js-opened > .mn-has-sub > .mi-chevron-down{
    border-color: rgba(255,255,255, .4);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
}
.mobile-on .js-opened > .mn-has-sub > .mi-chevron-right{
    border-color: rgba(255,255,255, .4);
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    transform: rotate(270deg);
}
.mobile-on .inner-nav li{
    margin: 0 !important;
}
.mobile-on .mn-sub{
    display: none;
    opacity: 0;
    position: relative;
    left: 0 !important;
    right: 0;
    top: 0;
    bottom: 0;
    border-left: none !important;
    border-right: none !important;
    border-top: none;
    z-index: 10;
}
.mobile-on .mn-sub li{
    padding-left: 10px;
}
.inner-nav li.js-opened .mn-sub{
    opacity: 1;
}
.mobile-nav{
    display: none;
    margin-left: auto;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 16px;
    cursor: pointer;
    height: var(--menu-bar-height);
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    transition-property:  background, color, height;
}
.main-nav.small-height .mobile-nav{
    height: var(--menu-bar-height-scrolled);
}
.mobile-nav:active{
    box-shadow: 0 0 35px rgba(0,0,0,.05) inset;
}
.mobile-on .mobile-nav{
    display: flex;
}
.mobile-nav-icon{
    position: relative;
    display: block;
    width: 1.8em;
    height: 2px;
    margin: auto;
    background: var(--color-dark-1);
}
.mobile-nav-icon:before,
.mobile-nav-icon:after{
    content: "";
    position: absolute;
    top: -0.5em;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    transition: var(--transition-default);
    will-change: top, transform;
}
.mobile-nav-icon:after{
    top: 0.5em;
}
.mobile-nav.active .mobile-nav-icon{
    background: transparent;
}
.mobile-nav.active .mobile-nav-icon:before{
    top: 0;
    transform: rotate(45deg);
}
.mobile-nav.active .mobile-nav-icon:after{
    top: 0;
    transform: rotate(-45deg);
}


/*
 * Menu social links
 */

.mn-soc-link{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    font-size: 16px;
    border-radius: 50%;
    cursor: pointer;
    isolation: isolate;
    transition: all .2s var(--ease-out-medium);
}
.mn-soc-link:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .2;
    transition: all .2s var(--ease-out-medium);
    z-index: -1;
}
.mn-soc-link:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    border-radius: 50%;
    opacity: 0;
    transform: scale(.25);
    transition: all .2s var(--ease-out-short);
    z-index: -1;
}
.mn-soc-link:hover{
    color: #fff;
}
.mn-soc-link:hover:before{
    opacity: 0;
}
.mn-soc-link:hover:after{
    opacity: 1;
    transform: none;
}
.mn-soc-link.alt,
.mn-soc-link.mn-soc-link-color.alt{
    color: #fff;
}
.mn-soc-link.alt:before{
    opacity: 0;
}
.mn-soc-link.alt:after{
    opacity: 1;
    transform: none;
}
.mn-soc-link.alt:hover{
    opacity: .85;
}
.mn-soc-link.mn-soc-link-color{
    color: #003384;
}
.mn-soc-link.mn-soc-link-color:hover{
    color: #fff;
}
.mn-soc-link.mn-soc-link-color:before{
    border-color:#003384;
    opacity: 1;
}
.mn-soc-link.mn-soc-link-color:after{
    background: var(--color-primary-1);
}
.mn-soc-link.mn-soc-link-color:hover:before{
    opacity: 0;
}

/* ==============================
   Sections styles
   ============================== */

/*
 * Estilos Comunes Sections
 */
#main .page-section.padds-reduce {
    padding-bottom: 80px !important;
    padding-top: 80px !important;
    background: white !important;
}
section.page-section.bg-scroll.light-content {
    min-height: 350px !important;
}
.mAuto {
    margin: 0 auto;
}
img.icon-lg {
    max-width: 80px;
    height: auto;
}
.page-section,
.small-section,
.bg-image{
    width: 100%;
    display: block;
    position: relative;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: var(--section-padding-y);
    padding-bottom: var(--section-padding-y);
}
.page-section.padds-non-b {
    padding-bottom:10vh;
    padding-top:10vh;
}
.small-section{
    padding: 100px 0;
}
.fixed-height-large{
    min-height: 800px;
}
.fixed-height-medium{
    min-height: 700px;
}
.fixed-height-small{
    min-height: 600px;
}
.bg-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.bg-scroll{
    background-attachment: scroll !important;
    background-position: center center !important;
}
.parallax-1,
.parallax-2,
.parallax-3,
.parallax-4,
.parallax-5,
.parallax-6,
.parallax-7,
.parallax-8,
.parallax-9,
.parallax-10{
    background-position-y: 0;
}
.bg-white{
    background-color: #fff;
}
.bg-gray-light-1{
    background-color: var(--color-gray-light-1);
}
.bg-dark-1{
    background-color: var(--color-dark-1) !important;
}
.bg-primary-1{
    background-color: var(--color-primary-1) !important;
}
.bg-gradient-gray-light-1{
    background-image: var(--gradient-gray-light-1);
}
.bg-gradient-white{
    background-image: linear-gradient(0deg, #fff 0%, transparent 60%);
}
.bg-gradient-dark{
    background-image: linear-gradient(0deg, var(--color-dark-1) 0%, transparent 60%);
}
.bg-gradient-dark-1{
    background-image: linear-gradient(0deg, transparent 85%, var(--color-dark-1) 100%);
}
.bg-gradient-primary-light-1{
    background-image: linear-gradient(-90deg, var(--color-primary-light-3) 0%, var(--color-primary-light-2) 100%);;
}
.bg-gradient-primary-dark-1{
    background-image: linear-gradient(-90deg, var(--color-primary-3) 0%, var(--color-primary-2) 100%);;
}
.bg-gradient-primary-alpha-1:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(90deg, #ffffff 50%, transparent 87%);
    opacity: .97;
}
.bg-gradient-primary-alpha-2:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: var(--gradient-primary-alpha-2);
    opacity: .97;
}
.bg-gradient-dark-alpha-1:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: var(--gradient-dark-alpha-1);
    opacity: .97;
}
.bg-gradient-dark-alpha-2:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: var(--gradient-dark-alpha-2);
    opacity: .97;
}
.section-gradient-top{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5vw;
    background: linear-gradient(180deg, var(--color-gray-light-2) 0%, transparent 100%);
}
.section-gradient-top-dark{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5vw;
    background: linear-gradient(180deg, var(--color-dark-2) 0%, transparent 100%);
}
.bg-blur{
    position: relative;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(255,255,255, .1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.bg-blur:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    opacity: 0.17;
}
.light-content{
    color: #fff;
}
.light-content a{
    color: rgba(255,255,255, .8);
}
.light-content a:hover{
    color: #fff;
}
.light-content .section-text{
    color: #fff;
}
.bg-dark-alpha:before,
.bg-dark-alpha-30:before,
.bg-dark-alpha-50:before,
.bg-dark-alpha-70:before,
.bg-dark-alpha-60:before,
.bg-dark-alpha-80:before,
.bg-dark-alpha-90:before,
.bg-light-alpha:before,
.bg-light-alpha-30:before,
.bg-light-alpha-50:before,
.bg-light-alpha-60:before,
.bg-light-alpha-70:before,
.bg-light-alpha-80:before,
.bg-light-alpha-90:before,
.bg-color-alpha:before,
.bg-color-alpha-30:before,
.bg-color-alpha-50:before,
.bg-color-alpha-60:before,
.bg-color-alpha-70:before,
.bg-color-alpha-80:before,
.bg-color-alpha-90:before{
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.bg-dark-alpha:before{
    background: #111;
    opacity: .97;
}
.bg-dark-alpha-30:before{
    background: #111;
    opacity: .3;
}
.bg-dark-alpha-50:before{
    background: #111;
    opacity: .5;
}
.bg-dark-alpha-60:before{
    background: #111;
    opacity: .6;
}
.bg-dark-alpha-70:before{
    background: #111;
    opacity: .7;
}
.bg-dark-alpha-80:before{
    background: #111;
    opacity: .8;
}
.bg-dark-alpha-90:before{
    background: #111;
    opacity: .9;
}
.bg-light-alpha:before{
    background: rgba(252,252,252, .97);
}
.bg-light-alpha-30:before{
    background: rgba(252,252,252, .30);
}
.bg-light-alpha-50:before{
    background: rgba(252,252,252, .50);
}
.bg-light-alpha-60:before{
    background: rgba(252,252,252, .60);
}
.bg-light-alpha-70:before{
    background: rgba(252,252,252, .7);
}
.bg-light-alpha-80:before{
    background: rgba(252,252,252, .8);
}
.bg-color-primary-1{
    background-color: var(--color-primary-1);
}
.bg-color-primary-2{
    background-color: var(--color-primary-2);
}

.bg-color-alpha:before{
    background: var(--color-primary-1);
    opacity: .97;
}
.bg-color-alpha-30:before{
    background: var(--color-primary-1);
    opacity: .3;
}
.bg-color-alpha-50:before{
    background: var(--color-primary-1);
    opacity: .5;
}
.bg-color-alpha-60:before{
    background: var(--color-primary-1);
    opacity: .6;
}
.bg-color-alpha-70:before{
    background: var(--color-primary-1);
    opacity: .7;
}
.bg-color-alpha-80:before{
    background: var(--color-primary-1);
    opacity: .8;
}
.bg-color-alpha-90:before{
    background: var(--color-primary-1);
    opacity: .9;
}
.bg-gradient-light-1{
    position: relative;
    isolation: isolate;
}
.bg-gradient-light-1:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-primary-1);
    opacity: .15;
    z-index: -1;
}
.light-content .bg-gradient-light-1:before{
    opacity: .25;
}
.bg-gradient-light-2{
    position: relative;
}
.bg-gradient-light-2:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-primary-1-b);
    opacity: .15;
    z-index: -1;
}
.light-content .bg-gradient-light-2:before{
    opacity: .25;
}
.bg-gradient-primary-1{
    background: var(--gradient-primary-1) !important;
}
.bg-gradient-primary-2{
    background: var(--gradient-primary-1-b) !important;
}
.bg-border-gradient{
    position: relative;
}
.bg-border-gradient:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid transparent;
    border-radius: var(--border-radius-large);
	background:	linear-gradient(to right, white, white), var(--gradient-primary-1-b);
	-webkit-background-clip: padding-box, border-box;
    background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
    opacity: .3;
}
.light-content .bg-border-gradient:before{
    background:	linear-gradient(to right, var(--color-dark-1), var(--color-dark-1)), var(--gradient-primary-1-b);
	-webkit-background-clip: padding-box, border-box;
    background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
    opacity: .5;
}

.section-caption{
    margin-bottom: 25px;
    color: var(--color-gray-1);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.075em;
}
.light-content .section-caption{
    color: #fff;
}
.section-caption-border{
    display: inline-block;
    padding: 0.45em 0.7em;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.0095em;
    border: 1px solid currentColor;
    border-radius: 70px;
    z-index: 2;
}
.section-caption-fancy{
    display: inline-block;
    padding: 7px 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-primary-1);
    text-transform: uppercase;
    letter-spacing: 0.037em;
    background-image: linear-gradient( 15deg, var(--color-primary-light-1) 0%, transparent 100%);
    border-radius: 100px;
}
.section-caption-fancy.large{
    font-size: 16px;
}
.light-content .section-caption-fancy{
    color: #fff;
    background-image: linear-gradient( 15deg, rgba(0,0,0,.5) 0%, transparent 100%);
}
.section-caption-slick{
    display: inline-block;
    padding: 7px 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-primary-1);
    text-transform: uppercase;
    letter-spacing: 0.037em;
    background-image: linear-gradient( 45deg, var(--color-primary-light-1) 0%, transparent 100%);
    border-radius: 100px;
}
.light-content .section-caption-slick{
    color: #fff;
    background-image: linear-gradient( 45deg, rgba(0,0,0,.5) 0%, transparent 100%);
}
.section-caption-gradient{
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: normal;
    background: var(--gradient-primary-1);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.section-title{
    font-size: 56px;
    font-weight: 500;
    line-height: 1.107;
    letter-spacing: -0.03em;
}

.light-content .section-title-repeat-left,
.light-content .section-title-repeat-right{
    color: var(--color-dark-1);
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

.section-title-descr{
    font-size: 18px;
    font-weight: 400;
    color: var(--color-gray-1);
}
.light-content .section-title-descr{
    color: var(--color-gray-light-6);
}
.section-descr{
    margin-top: 0;
    color: var(--color-gray-1);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.005em;
}
.light-content .section-descr{
    color: #fff;
}
.section-text{
    font-size: 24px;
    line-height: 1.667;
    letter-spacing: -0.005em;
}
.section-features{
    display: flex;
    flex-wrap: wrap;
}
.section-features li{
    margin: 0 10px 10px 0;
    padding: 14px 22px 12px 22px;
    font-size: 15px;
    border: 1px solid currentColor;
    border-radius: 35px;
    transition: var(--transition-default);
}
.section-features li:hover{
    border-radius: 10px;
}
.features-list{
    color: var(--color-gray-1);
}
.features-list-icon{
    position: relative;
    top: 0.075em;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    width: 24px;
    height: 24px;
    font-size: 18px;
    color: #fff;
    background: var(--color-dark-1);
    border-radius: 50%;
}
.features-list-icon svg{
    display: block;
    width: 1em;
    height: 1em;
}
.features-list-icon i{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    vertical-align: middle;
}

.light-content .section-line{
    background: #fff;
}
.text-gray{
    color: var(--color-gray-1);
}
.text-gray a{
    color: var(--color-dark-1);
    transition: all 0.17s var(--ease-default);
}
.text-gray a:hover{
    color: var(--color-dark-4);
}
.light-content .text-gray{
    color: var(--color-dark-mode-gray-1);
}
.light-content .text-gray a{
    color: var(--color-dark-mode-gray-1);
}
.light-content .text-gray a:hover{
    color: #fff;
}
.section-text .lead-alt{
    margin-top: -0.2em;;
}

/*
 * Decorative elements
 */

.decoration-1{
    position: absolute;
    bottom: -50px;
    left: -73px;
    color: var(-color-dark-1);
    pointer-events: none;
}

.decoration-image-1{
    position: absolute;
    top: -30px;
    left: 30px;
    width: 14.8837%;
    overflow: hidden;
    border-radius: var(--border-radius-default);
    pointer-events: none;
    isolation: isolate;
    transform: translateZ(0);
}
.decoration-image-1 img{
    width: 100%;
}

.section-image-1-wrap{
    position: absolute;
    top: 20px;
    right: 0;
    width: 100%;
}
.section-image-1{
    transform: rotate(3deg);
}

.text-right {
    text-align:right;
}

.text-left {
    text-align:left;
}

/* ==============================
   Services
   ============================== */

.services-8-item{
    align-self: stretch;
    margin: -1px 0 0 -1px;
    border: 1px solid #d7dddb;
    border-right: none;
}
.services-8-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    margin-bottom: 42px;
    color: #fff;
    font-size: 48px;
    background: var(--color-dark-1);
    border-radius: 50%;
    isolation: isolate;
    transform: translateZ(0);
}
#home .services-8-icon.color-1{
    color: white;
    background: var(--color-primary-1);
    margin: 0 auto;
    margin-bottom: 4vh;
}
.services-8-icon.color-1 {
       color: white;
    background: var(--color-primary-1);
}
.services-8-icon.color-2{
    color: white;
    background: var(--color-primary-2);
}
.services-8-icon.color-3{
    color: var(--color-primary-light-3);
    background: var(--color-primary-3);
}
.services-8-icon.color-4{
    color: var(--color-primary-light-4);
    background: var(--color-primary-4);
}
.services-8-icon.color-1 svg{
    fill: white;
}
.services-8-icon.color-2 svg{
    fill: var(--color-primary-light-2);
}
.services-8-icon.color-3 svg{
    fill: var(--color-primary-light-3);
}
.services-8-icon.color-4 svg{
    fill: var(--color-primary-light-4);
}
.services-8-icon svg{
    width: 1em;
    height: 1em;
    fill: #fff;
}
.services-8-title{
    margin-bottom: 12px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
}
.services-8-text{
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1.6;
}
.services-8-category{
    display: inline-block;
    padding: 7px 13px;
    font-size: 17px;
    line-height: 1.2;
    border: 1px solid currentColor;
    border-radius: 30px;
}
.light-content .services-8-item{
    border-color: rgba(255,255,255, .25);
}



/* ==============================
   Alt features
   ============================== */

.alt-features-grid{
    margin-top: -35px;
}
.alt-features-item{
    margin-top: 35px;
}
.alt-features-item.border-left{
    padding-left: 30px;
    border-left: 1px solid var(--color-gray-light-3);
}
.alt-features-item.box-shadow{
    width: 100%;
    padding: 30px;
    background: #fff;
    border-radius: var(--border-radius-default);
}
.alt-features-icon{
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 0 22px 0;
    font-size: 48px;
    text-align: center;
    line-height: 1.3;
    color: currentColor;
}
.alt-features-icon-s{
    position: absolute;
    top: -6px;
    right: -15px;
    width: 24px;
    height: 24px;
    font-size: 24px;
}
.alt-features-icon svg{
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.alt-features-title{
    margin-bottom: 11px;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.02em;
    transition: var(--transition-default);
}
.alt-features-descr{
    font-size: 16px;
    line-height: 1.625;
    color: var(--color-gray-1);
}
.light-content .alt-features-item.border-left{
    padding-left: 30px;
    border-color: rgba(255,255,255, .25);
}
.light-content .alt-features-descr{
    color: var(--color-dark-mode-gray-1);
}
.light-content .alt-features-item.box-shadow{
    background: var(--color-dark-3);
    border: 1px solid var(--color-dark-mode-gray-2);
}
.light-content .alt-features-icon{
    color: #fff;
}



/* ==============================
   Steps
   ============================== */


.steps-2-item{
    position: relative;
    padding: 30px;
    color: var(--color-dark-1);
    border-radius: 20px;
    background:white;
    box-shadow: var(--box-shadow-block);
    transition: all .2s var(--ease-default);
}
.steps-2-item:hover{
    background: #fff;
    box-shadow: var(--box-shadow-block-strong);
}
.steps-2-icon{
    margin-top: 2px;
    margin-bottom: 30px;
    margin-right: 30px;
    font-size: 48px;
}
.steps-2-icon svg{
    display: block;
    width: 1em;
    height: 1em;
    fill: var(--color-primary-1);
}
.steps-2-intro{
    margin-top: -2px;
}
.steps-2-title{
    margin-bottom: 9px;
    font-size: 21px;
    font-weight: 500;
}
.steps-2-text{
    font-size: 18px;
    line-height: 1.5;
}
.steps-2-number{
    position: absolute;
    bottom: 10px;
    left: 10px;
    padding: 2px 10px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background: var(--color-primary-2);
    border-radius: 100px;
}
.steps-2-item.light-content{
    color: #fff;
    background: var(--color-dark-2);
}
.steps-2-item.light-content a{
    color: #fff;
    text-decoration: underline;
}


/* ==============================
   Gallery
   ============================== */

.works-grid{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}
.work-item{
    width: 25%;;
    margin: 0;
}

.work-grid-3 .work-item{
    width: 33.333%;
}

.works-grid.work-grid-gut{
    margin: -30px 0 0 -30px;
}
.works-grid.work-grid-gut .work-item{
    padding: 30px 0 0 30px;
}
.works-grid.work-grid-gut-sm{
    margin: 0 10px 10px 0;
}
.works-grid.work-grid-gut-sm .work-item{
    padding: 10px 0 0 10px;
}
.works-grid.work-grid-gut-lg{
    margin: -80px 0 0 -70px;
}
.works-grid.work-grid-gut-lg .work-item{
    padding: 80px 0 0 70px;
}
.works-grid.work-grid-gut-xl{
    margin: -80px 0 0 -90px;
}
.works-grid.work-grid-gut-xl .work-item{
    padding: 80px 0 0 90px;
}

.work-item a{
    display: block;
    padding: 0;
    position: relative;
    box-sizing: border-box;
    text-decoration: none;
}
.work-item a,
.work-item a:hover{
    color: var(--color-dark-1);
    border: none;
}
.light-content .work-item a,
.light-content .work-item a:hover{
    color: #fff;
}
.work-img{
    position: relative;
    overflow: hidden;
    transform: rotate(0.001deg) translateZ(0);
}
.work-img-bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-gray-light-2);
}
.light-content .work-img-bg{
    background-color: var(--color-dark-3);
}
.work-img img{
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
    transform: rotate(0.001deg) translateZ(0);
}
.work-intro{
    width: 100%;
    padding-top: 18px;
    text-align: center;
    transform: translateZ(0);
}
.work-title{
    margin: 0 0 3px 0;
    padding: 0;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.007em;
    line-height: 1.4;
    text-transform: none;
    transform: translateZ(0);
}
.work-descr{
    display: block;
    color: var(--color-gray-1);
    font-size: 15px;
    line-height: 1.4;
    text-transform: none;
    transform: translateZ(0);
}
.light-content .work-descr{
    color: var(--color-dark-mode-gray-1);
}

/* Item hover state */
.work-item .work-img,
.work-item .work-img > img{
    transition: all 2s var(--ease-out-medium);
}
.work-item .work-img{
   clip-path: inset(-1px);
   will-change: clip-path;
}
.work-item a:hover .work-img{
   clip-path: inset(10px);
}
.work-item a:hover .work-img > img{
    transform: scale(1.05) rotate(0.001deg) translateZ(0);
}
.work-item .work-intro{
    transition: all 2s var(--ease-out-medium);
}
.work-item .work-intro.text-start{
    padding-right: 10px;
}
.work-item a:hover .work-intro{
    transform: translate(10px, -10px);
}


/* Item with hidden title */
.works-grid.hide-titles .work-item a{
    overflow: hidden;
}
.works-grid.hide-titles .work-item .work-img{
    transition: all .37s var(--ease-out-short);
}
.works-grid.hide-titles .work-item a:hover .work-img > img{
    transform: none;
}
.works-grid.hide-titles .work-intro{
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 30px;
    opacity: 0;
    transition: all .37s var(--ease-default);
}
.works-grid.hide-titles .work-intro:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    opacity: 0.85;
}
.works-grid.hide-titles .work-intro > *{
    position: relative;
    transform: translateY(25px);
    transition: transform .37s var(--ease-out-short), opacity .37s var(--ease-default);
}
.works-grid.hide-titles .work-title{
    margin-bottom: 5px;
    color: #fff;
    font-size: 21px;
    line-height: 1.2;
}
.works-grid.hide-titles:not(.work-grid-2, .work-grid-3) .work-title{
    font-size: 19px;
}
.works-grid.hide-titles .work-descr{
    color: #fff;
    opacity: .7;
}
.works-grid.hide-titles .work-item a:hover .work-img,
.works-grid.hide-titles .work-item a.focus-visible .work-img{
   clip-path: none;
   transform: scale(1.05) translateZ(0.1px);
}
.works-grid.hide-titles .work-item a:hover .work-intro > *,
.works-grid.hide-titles .work-item a:focus-visible .work-intro > *{
    transform: none;
}
.works-grid.hide-titles .work-item a:hover .work-intro,
.works-grid.hide-titles .work-item a:focus-visible .work-intro{
    transform: none;
    opacity: 1;
}

/* Item fancy */
.works-grid.work-grid-fancy .work-item a{
    overflow: hidden;
    border-radius: var(--border-radius-default);
    box-shadow: var(--box-shadow-block);
    transition: all .27s var(--ease-default);
    isolation: isolate;
    transform: translateZ(0);
}
.works-grid.work-grid-fancy .work-item a:hover{
    box-shadow: var(--box-shadow-block-strong);
    transform: translateY(-7px);
}
.works-grid.work-grid-fancy .work-item a:hover .work-img > img{
    transform: none;
}
.works-grid.work-grid-fancy .work-intro{
    padding: 30px;
}
.works-grid.work-grid-fancy .work-title{
    font-size: 20px;
}
.works-grid.work-grid-fancy .work-item a:hover .work-img{
   clip-path: none;
}
.works-grid.work-grid-fancy .work-item a:hover .work-intro{
    transform: none;
    opacity: 1;
}
.light-content .works-grid.work-grid-fancy .work-item a{
    background: var(--color-dark-3);
    border: 1px solid var(--color-dark-mode-gray-2);
}

/* Works navigation */
.work-navigation{
    width: 100%;
    background: #fff;
    font-size: 16px;
    font-weight: 500;
    z-index: 99;
}
.work-navigation i{
    position: relative;
    top: -1px;
}
.work-navigation a{
    display: block;
    float: left;
    width: 33.33333%;
    overflow: hidden;
    vertical-align: middle;
    text-decoration: none;
    white-space: nowrap;
    cursor: default;
}
.work-navigation a,
.work-navigation a:visited{
    color: var(--color-gray-1);
}
.work-navigation a span:hover{
    color: var(--color-dark-1);
}
.work-navigation a span{
    display: inline-block;
    height: 80px;
    line-height: 79px;
    padding: 0 4%;
    background: #fff;
    cursor: pointer;
    -webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
    transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}
.work-navigation span:hover{
    background: var(--color-gray-light-2);
}
.work-prev{
    text-align: left;
}
.work-all{
    text-align: center;
}
.work-next{
    text-align: right;
}
.work-full-media img{
    max-width: 100%;
    height: auto;
}
.work-navigation.light-content a,
.work-navigation.light-content a:visited{
    color: var(--color-dark-mode-gray-1);
}
.work-navigation.light-content a span:hover{
    color: #fff;
}
.work-navigation.light-content a span{
    background-color: transparent;
}
.work-navigation.light-content span:hover{
    background-color: rgba(255,255,255, .05);
}


/* ==============================
   Portfolio 1
   ============================== */

.portfolio-1-item{
    will-change: unset !important;
}
.portfolio-1-image{
    position: relative;
    clip-path: inset(0);
    transform: translateZ(0);
    transition: all 2s var(--ease-out-medium);
    will-change: clip-path;
}
.portfolio-1-image:hover{
    clip-path: inset(10px);
}
.portfolio-1-image-bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-gray-light-2);
}
.portfolio-1-title{
    position: relative;
    margin-left: -105px;
    font-size: 82px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.05em;
}
.portfolio-1-title a{
    display: inline-block;
    margin-left: -4px;
    color: unset;
    text-decoration: none;
    transition: letter-spacing .27s var(--ease-out-medium);
    will-change: letter-spacing;
}
.portfolio-1-title a:hover{
    letter-spacing: -0.03em;
}
.portfolio-1-descr{
    font-size: 16px;
}


/* ==============================
   Portfolio 2
   ============================== */

.portfolio-2-item{
    will-change: unset !important;
}
.portfolio-2-title{
    font-size: 43px;
    font-weight: 500;
}
.portfolio-2-title a{
    display: block;
    text-decoration: none;
    transition: all .27s var(--ease-out-medium);
}
.portfolio-2-title a:hover{
    color: inherit;
    text-decoration: none;
}
.portfolio-2-image{
    overflow: hidden;
}
.portfolio-2-image img{
    width: 100%;
    transform: scale(1.02) translateZ(0.1px);
    transition: all .5s var(--ease-out-short);
}
.portfolio-2-image a:hover img{
    transform: translateZ(0.1px);
}
.light-content .portfolio-2-title a{
    color: #fff;
}

/* ==============================
   Portfolio 3
   ============================== */

.portfolio-3-image{
    overflow: hidden;
    border-radius: 50px;
    isolation: isolate;
    transform: translateZ(0);
}
.portfolio-3-image img{
    width: 100%;
    transform: scale(1.037) translateZ(0.01px);
    transition: all .5s var(--ease-out-short);
}
.portfolio-3-image a:hover img{
    transform: translateZ(0.01px);
}
.portfolio-3-title{
    margin-bottom: 15px;
    font-size: 62px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.portfolio-3-title a{
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0 1px;
    background-position: 0 calc(100% - 0.125em);
    background-repeat: no-repeat;
    transition: background-size .5s var(--ease-out-medium);
    will-change: background-size;
}
.portfolio-3-title a:hover{
    color: inherit;
    background-size: 100% 1px;
}
.portfolio-3-descr{
    font-size: 15px;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}
.light-content .portfolio-3-title a{
    color: #fff;
}


/* ==============================
   Portfolio 5
   ============================== */

.portfolio-5-link{
     text-decoration: none;
}
.portfolio-5-image{
    position: relative;
    margin-bottom: 22px;
    overflow: hidden;
    border-radius: var(--border-radius-default);
    isolation: isolate;
    transform: translateZ(0);
}
.portfolio-5-image-bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius-default);
    background: var(--color-gray-light-1);
}
a.portfolio-5-link .portfolio-5-image img{
    transform: translateZ(0.01px);
    transition: all 0.5s var(--ease-out-short);
}
.portfolio-5-title{
    margin-bottom: 18px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    transition: all .27s var(--ease-default);
}
.portfolio-5-title span{
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size .5s var(--ease-out-medium);
    will-change: background-size;
}
.portfolio-5-number{
    margin-bottom: 5px;
    font-size: 54px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.025em;
}
.portfolio-5-number-descr{
    font-size: 18px;
}
.light-content .portfolio-5-image-bg{
    background: var(--color-dark-3);
}

/* Hover state */

a.portfolio-5-link{
    text-decoration: none;
    color: inherit;
}
a.portfolio-5-link:hover .portfolio-5-image img{
    transform: scale(1.05) translateZ(0.01px);
}
a.portfolio-5-link:hover .portfolio-5-title span{
    background-size: 100% 1px;
}

/* ==============================
   Images compositions
   ============================== */


.composition-8{
    position: relative;
}
.composition-8-image{
    position: relative;
    width: 90.7936%;
    margin-left: auto;
    overflow: hidden;
    border-radius: 75px;
    isolation: isolate;
    transform: translateZ(0);
}
.composition-8-image img{
    width: 100%;
}
.composition-8-decoration-1{
    position: absolute;
    top: 0;
    left: -100px;
}
.composition-8-decoration-2{
    position: absolute;
    bottom: 17%;
    left: 0;
}
.icon-contact span {
    font-size: 60px;
    margin-bottom: 3vh;
}


/* ==============================
   Footer
   ============================== */

.footer{
     font-size: 16px;
}
.footer a{
    transition: all 0.17s var(--ease-default);
}
.footer:not(.light-content) a:hover{
    text-decoration: none;
    color: var(--color-dark-3a) !important;
}
.footer-text a{
    text-decoration: none;
}
footer:not(.light-content) .text-gray a{
    color: var(--color-gray-1);
    transition: all 0.17s var(--ease-default);
}
footer:not(.light-content) .text-gray a:hover{
    color: var(--color-dark-1);
}
.light-content .footer-text{
    color: var(--color-gray-light-3);
}
.footer.light-content a:hover{
    color: #fff !important;
    text-decoration: none;
}
.footer-made{
    font-size: 14px;
    opacity: .5;
}
.footer-social-links{
    font-size: 16px;
}
.footer-social-links a{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 3px 10px;
    overflow: hidden;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    transition: all .27s var(--ease-out-medium);
}
.footer-social-links a:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 50%;
    opacity: 0;
    transform: scale(.3);
    transition: all .27s var(--ease-out-medium);
}
.footer-social-links a svg{
    position: relative;
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.footer-social-links a i{
    position: relative;
}
.footer-social-links a:hover,
.footer.light-content .footer-social-links a:hover,
.light-content .footer-social-links a:hover{
    color: var(--color-dark-1) !important;
}
.footer-social-links a:hover:before{
    opacity: 1;
    transform: none;
}

.fw-title{
    margin-bottom: 16px;
    font-size: 18px;
    letter-spacing: -0.02em;
}
.fw-menu li:not(:last-child){
    margin-bottom: 3px;
}
.fw-menu li a{
    text-decoration: none;
    color: var(--color-gray-1);
}
.fw-menu svg{
    position: relative;
    top: -0.05em;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.light-content .fw-menu li a{
    text-decoration: none;
    color: rgba(255,255,255, 0.7);
}

.fw-menu-large{
    font-size: 28px;
    line-height: 1.3;
}
.fw-menu-large li:not(:last-child){
    margin-bottom: 24px;
}
footer.footer-2.pb-50 .clearlinks {
    margin-bottom: 25px;
}
.fw-menu-large li a{
    text-decoration: underline;
    color: var(--color-dark-1);
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size .5s var(--ease-out-medium);
    will-change: background-size;
}
.fw-menu-large li a:hover{
    text-decoration: none;
    color: var(--color-dark-1);
    background-size: 100% 1px;
}
.fw-menu-large svg{
    position: relative;
    top: -0.05em;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.light-content .fw-menu-large li a,
.light-content .fw-menu-large li a:hover{
    color: #fff;
}

/* Link to top */
a.link-to-top,
footer .text-gray a.link-to-top{
    position: relative;
    display: flex;
	justify-content: center;
	align-items: center;
    width: 48px;
    height: 48px;
    color: var(--color-dark-1);
    font-size: 24px;
    text-decoration: none;
    transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
}
.link-to-top:before{
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: var(--box-shadow);
    z-index: 1;
    transition: all 0.4s var(--ease-elastic-2);
}
.link-to-top svg{
    position: relative;
    width: 1em;
    height: 1em;
    z-index: 1;
}
.link-to-top i,
.link-to-top span{
    position: relative;
    color:white;
    transform: rotate(0.001deg) translateZ(0);
    z-index: 1;
}
ul.row.mt-n50.mb-70.mb-sm-50.licustom-acces {
    margin-left: 0px !important;
    padding-left: 0px !important;
}
.licustom-acces li::marker {
  content: none;
}
.link-to-top:hover{
    text-decoration: none;
}
.link-to-top:hover:before{
    transform: scale(1.25);
}
.light-content a.link-to-top,
.light-content a.link-to-top:hover{
    color: var(--color-dark-1) !important;
}

a.link-to-top.gradient,
a.link-to-top.gradient:hover{
    color: #fff !important;
}
a.link-to-top.gradient:before{
    background: var(--gradient-primary-1-b);
    box-shadow: none;
}

a.link-to-top.color-light,
a.link-to-top.color-light:hover{
    color: var(--color-primary-1) !important;
}
a.link-to-top.color-light:before{
    background: var(--color-primary-light-1);
    box-shadow: none;
}

a.link-to-top.color,
a.link-to-top.color:hover{
    color: #fff !important;
}
a.link-to-top.color:before{
    background: var(--color-primary-1);
    box-shadow: none;
}


/* ==============================
   Footer 2
   ============================== */

.footer-2{
    font-size: 18px;
}
.footer-2-social-links{
    font-size: 16px;
}
.footer-2-social-links a{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    font-size: 18px;
    text-align: center;
    text-decoration: none;
    border: 1px solid currentColor;
    border-radius: 50%;
    transition: all .27s var(--ease-out-medium);
}
.footer-2-social-links a:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-primary-1);
    border-radius: 50%;
    opacity: 0;
    transform: scale(.5);
    transition: all .27s var(--ease-out-medium);
    will-change: transform, opacity;
}
.footer-2-social-links a svg{
    position: relative;
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.footer-2-social-links a i{
    position: relative;
}
.footer-2-social-links a:hover{
    border-color: transparent;
    color: #fff !important;
}
.footer-2-social-links a:hover:before{
    opacity: 1;
    transform: none;
}
.light-content .footer-2-social-links a{
    color: #fff;
}
.footer-2.light-content .footer-2-social-links a:hover,
.light-content .footer-2-social-links a:hover{
    color: var(--color-dark-1) !important;
}
.light-content .footer-2-social-links a:before{
    background: #fff;
}


/* ==============================
   Shortcodes
   ============================== */

/*
 * Lightbox modal
 */

.mfp-inline-holder .mfp-content{
    max-width: 800px;
    margin: 0 auto;
    padding: 30px;
    background: #fff;
}

/*
 * Owl carousel
 */

.owl-buttons{
    position: static;
}
.owl-prev,
.owl-next{
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 27px;
    height: 57px;
    padding: 11px;
    box-sizing: content-box;
    font-size: 57px;
    text-align: center;
    color: var(--color-dark-1);
    opacity: .8;
    z-index: 6;
    transition: var(--transition-default);
}
.owl-prev:hover,
.owl-next:hover{
    opacity: 1;
}
.light-content .owl-prev,
.light-content .owl-next{
    color: #fff;
}
.dark-content .owl-prev,
.dark-content .owl-next{
    color: var(--color-dark-1);
}
.owl-prev{
    left: 20px;
}
.owl-next{
    right: 20px;
}
.owl-prev svg,
.owl-next svg{
    display: block;
    height: 1em;
    filter: drop-shadow(0 1px 0 rgba(255,255,255, .35));
}
.light-content .owl-prev svg,
.light-content .owl-next svg{
    color: #fff;
    filter: drop-shadow(0 1px 0 rgba(0,0,0, .35));
}
.dark-content .owl-prev svg,
.dark-content .owl-next svg{
    color: var(--color-dark-1);
    filter: drop-shadow(0 1px 0 rgba(255,255,255, .35));
}

.owl-pagination{
    display: block;
    width: 100%;
    position: absolute;
    bottom: 30px;
    left: 0;
    text-align: center;
    line-height: 1;
}
.owl-page{
    display: inline-block;
    padding: 7px;
    position: relative;
    z-index: 1000 !important;
}
.owl-page span{
    width: 8px;
    height: 8px;
    display: block;
    background: none;
    border: 1px solid var(--color-dark-1);
    position: relative;
    border-radius: 50%;
    transition: var(--transition-default);
}
.owl-page.active span{
    background: var(--color-dark-1);
    border: 1px solid var(--color-dark-1);
}
.light-content .owl-page span{
    border: 1px solid #fff;
    box-shadow: 1px 1px 0px rgba(0, 0, 0, .1);
}
.light-content .owl-page.active span{
    background: #fff;
    border: 1px solid #fff;
}
.dark-content .owl-page span{
    border: 1px solid var(--color-dark-1);
    box-shadow: none;
}
.dark-content .owl-page.active span{
    background: var(--color-dark-1);
    border: 1px solid var(--color-dark-1);
}

/* Features slider */
.item-carousel .owl-prev{
    left: -30px;
}
.item-carousel .owl-next{
    right: -30px;
}

.item-carousel{
    padding-bottom: 70px;
}
.item-carousel .owl-pagination{
    bottom: 0;
}
.item-carousel .owl-item{
    padding: 0 50px;
}

/* Logotype slider */
.small-item-carousel.owl-carousel .owl-prev,
.small-item-carousel.owl-carousel .owl-next{
    opacity: 0;
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

/* Work slider & sontent slider */
.work-full-slider .owl-pagination,
.content-slider .owl-pagination{
    bottom: 15px;
}
.work-full-slider img{
    width: 100%;
}


/* Owl Carousel Animation */

html:not(.mobile) .owl-animate-chars .char{
    opacity: 0;
    transform: translateY(.5em) rotate(7deg);
    transform-origin: 0 50%;
    transition: transform .62s var(--ease-out-short), opacity .62s var(--ease-default);
    transition-delay: calc( 0.027s * var(--char-index) );
}
html:not(.mobile) .owl-animate-chars .char{
    will-change: opacity, transform;
}
@media print{
    .owl-animate-chars .char{
        opacity: 1 !important;
        transform: none !important;
    }
}
.owl-item.active .owl-animate-chars .char,
.mobile .owl-animate-chars .char{
    opacity: 1;
    transform: none;
}

html:not(.mobile) .owl-animate-fadeInUp{
    opacity: 0;
    transform: translateY(37px) translateZ(0);
    transition: all 1s;
}
.owl-item.active .owl-animate-fadeInUp{
    opacity: 1;
    transform: translateY(0) scale(1);
}

html:not(.mobile) .owl-animate-fadeInDown{
    opacity: 0;
    transform: translateY(-37px) translateZ(0);
    transition: all 1s;
}
.owl-item.active .owl-animate-fadeInDown{
    opacity: 1;
    transform: translateY(0) scale(1);
}

@media print{
    .owl-animate-fadeInUp,
    .owl-animate-fadeInDown{
        -webkit-transition: none !important;
        transition: none !important;
    }
}

.owl-delay-200{
    transition-delay: .20s !important;
}
.owl-delay-250{
    transition-delay: .25s !important;
}
.owl-delay-300{
    transition-delay: .3s !important;
}
.owl-delay-350{
    transition-delay: .35s !important;
}
.owl-delay-400{
    transition-delay: .4s !important;
}
.owl-delay-450{
    transition-delay: .45s !important;
}
.owl-delay-500{
    transition-delay: .5s !important;
}
.owl-delay-550{
    transition-delay: .55s !important;
}
.owl-delay-600{
    transition-delay: .6s !important;
}
.owl-delay-650{
    transition-delay: .65s !important;
}
.owl-delay-700{
    transition-delay: .7s !important;
}
.owl-delay-750{
    transition-delay: .75s !important;
}
.owl-delay-800{
    transition-delay: .8s !important;
}
.owl-delay-850{
    transition-delay: .85s !important;
}
.owl-delay-900{
    transition-delay: .9s !important;
}
.owl-delay-950{
    transition-delay: .95s !important;
}
.owl-delay-1000{
    transition-delay: 1s !important;
}

/*
 * Testimonials 5
 */

.testimonials-5-stars{
    display: flex;
    justify-content: center;
    margin-bottom: 22px;
    color: var(--color-primary-1);
    font-size: 22px;
}
.testimonials-5-text{
    margin-bottom: 20px;
    font-size: 24px;
    line-height: 1.5;
}
.testimonials-5-caption{
    font-size: 18px;
}



/*
 * Toggle
 */

.toggle{
    border-bottom: 1px solid var(--color-dark-1);
}
.toggle > dt{
    margin-bottom: 0;
    font-size: 20px;
    font-weight: 500;
}
.toggle > dt > a{
    display: block;
    position: relative;
    color: var(--color-dark-1);
    text-decoration: none;
    padding: 20px 30px 20px 0;
    border-top: 1px solid var(--color-dark-1);
    transition: var(--transition-default);
}
.toggle > dt > a:hover{
    text-decoration: none;
}
.toggle > dt > a:after{
    content: "\e91f";
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    position: absolute;
    top: 50%;
    right: 3px;
    transform: translateY(-50%);
    color: var(--color-dark-1);
    font-family: 'icons' !important;
    font-size: 22px;
    text-align: center;
    transition: var(--transition-default);
}
.toggle > dt > a.active:after,
.toggle > dt > a.active:hover:after{
    transform: translateY(-50%) rotate(-180deg);
}
.toggle > dd{
    margin-bottom: 1.55em;
    font-size: 18px;
    line-height: 1.625;
    opacity: 1;
}

.light-content .toggle{
    border-color: #fff;
}
.light-content .toggle > dt > a{
    color: #fff;
    border-color: #fff;
}
.light-content .toggle > dt > a:after{
    color: #fff;
}
.light-content .toggle > dd{
    color: #fff;
    font-weight: 400;
}


/*
 * Morphext
 */

.morphext > .animated {
    display: inline-block;
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
}


/* ==============================
   Skip to content link
   ============================== */

.skip-to-content{
    position: absolute;
    top: 3px;
    left: 3px;
    padding: 20px 40px;
    color: #ffffff;
    background: var(--color-primary-1);
    -webkit-transform: translateY(-150%);
    -moz-transform: translateY(-150%);
    transform: translateY(-150%);
    z-index:100000;
}
.skip-to-content:hover,
.skip-to-content:focus,
.skip-to-content.focus-visible{
    color: #ffffff;
    opacity: 1;
    background: var(--color-primary-1);
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
}


/* ==============================
   Motion reduce para Nivel AAA
   ============================== */

@media (prefers-reduced-motion: reduce) {
  .wow,
  [data-wow-duration],
  [data-wow-delay],
  [data-wow-offset] {
    animation: none !important;
    transition: none !important;
  }
}

/* ==============================
   Breadcrumbs
   ============================== */

.breadcrumb-nav {
  font-size: 0.95rem;
}
.breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}
.breadcrumb-item + .breadcrumb-item::before {
    font-family: 'icons' !important;
    content: "\e921";
    padding: 0 0.5rem;
    color: #666;
}
.breadcrumb-item  a.active-bread {
    font-weight: 500;
}
.breadcrumb-item a {
    color: black;
    text-decoration: none;
}
.breadcrumb-item.current {
    color: #333;
    font-weight: bold;
}

/* ==============================
   Map Hotels
   ============================== */

#map_wrapper {
    height: 600px;
}

#map_canvas {
    width: 100%;
    height: 100%;
}
#map_canvas .info_content a {
    font-size: 14px;
}
#map_canvas .info_content {
    font-family: var(--font-global);
    padding: 1rem;
}

.bard-content ul {
    padding-left: 1.5rem; /* o lo que necesites */
    margin-bottom: 1rem; /* si quieres */
}

.bard-content ul li {
    margin-bottom: 0.25rem; /* ajusta este valor para reducir separación */
    line-height: 0.4; /* o 1.2 si quieres más compacto */
}

/* ==============================
    Banner Cookies
============================== */

#cookie-banner {
    position: fixed;
    bottom: 0; left: 0;
    width: 100%;
    background: #f8f8f8;
    color: #333;
    border-top: 1px solid #ddd;
    font-family:var(--font-global);
    padding: 1rem 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    z-index: 10000;
}

#cookie-banner p {
    margin: 0;
    font-size: 0.95rem;
}

#cookie-banner a {
    color: var(--color-primary-1);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
#cookie-banner a:hover {
    border-bottom-color: var(--color-primary-1);
}

.cookie-btns {
    display: flex;
    gap: 0.75rem;
    margin-top: .5rem;
}

.cookie-btns button {
    padding: 0.5rem 1.2rem;
    font-size: 0.9rem;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    font-family: inherit;
    transition: background .2s, border .2s;
}

#decline-btn {
    background: transparent;
    color: #555;
    border: 1px solid #ccc;
}
#decline-btn:hover {
    background: #eee;
}

#accept-btn {
    background: var(--color-primary-1);
    color: white;
}
#accept-btn:hover {
    background: var(--color-primary-1);
}

/* ==============================
  Posts prensa
============================== */


.post-prev-2-img{
    margin-bottom: 22px;
    overflow: hidden;
    border-radius: var(--border-radius-default);
    isolation: isolate;
    transform: translateZ(0);
}
.post-prev-2-img img{
    width: 100%;
    transform: translateZ(0.1px);
    transition: all .5s var(--ease-out-short);
}
.post-prev-2-img:hover img{
    transform: scale(1.05) translateZ(0.1px);
}
.post-prev-2-info{
    margin-bottom: 18px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.466;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.post-prev-2-title{
    font-size: 32px;
    font-weight: 400;
    line-height: 1.3125;
    letter-spacing: -0.03em;
}
.post-prev-2-title a{
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size .5s var(--ease-out-medium);
    will-change: background-size;
}
.post-prev-2-title a:hover{
    color: unset;
    background-size: 100% 1px;
}
.post-prev-2-text{
    margin-bottom: 25px;
    font-size: 18px;
    line-height: 1.6;
}
.post-prev-2-tags{
    margin-bottom: 3vh;
}
.post-prev-2-tag{
    display: inline-block;
    align-items: center;
    margin-top: 5px;
    padding: 2px 10px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid currentColor;
    border-radius: 100px;
}
.light-content .post-prev-2-title a{
    color: #fff;
}

