/* Master Stylesheet
 * Version: 1.0
 *
 * Powered by VLThemes
 *
 * 01. Helpers
 * 02. Base
 * 03. Layout
 * 04. Pages
 * 05. Partials
 * 06. Vendors
 * 07. Widgets
 */
/* 01. Helpers */
:root
{
    --p1: #3F2071;
    --pf: Inter;
}

@-webkit-keyframes vlt_animate_icon_bottom
{
    49%
    {
        -webkit-transform: translateY(100%);
                transform: translateY(100%);
    }
    50%
    {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%); 

        opacity: 0;
    }
    51%
    {
        opacity: 1;
    }
}

@keyframes vlt_animate_icon_bottom
{
    49%
    {
        -webkit-transform: translateY(100%);
                transform: translateY(100%);
    }
    50%
    {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%); 

        opacity: 0;
    }
    51%
    {
        opacity: 1;
    }
}

@-webkit-keyframes vlt_animation_block
{
    0%
    {
        -webkit-transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
                transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;

        opacity: 0; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
    100%
    {
        -webkit-transform: translateY(0) translateZ(0) scaleY(1) skewY(0);
                transform: translateY(0) translateZ(0) scaleY(1) skewY(0);

        opacity: 1; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
}

@keyframes vlt_animation_block
{
    0%
    {
        -webkit-transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
                transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;

        opacity: 0; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
    100%
    {
        -webkit-transform: translateY(0) translateZ(0) scaleY(1) skewY(0);
                transform: translateY(0) translateZ(0) scaleY(1) skewY(0);

        opacity: 1; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
}

@-webkit-keyframes vlt_bounce
{
    0%,
    100%
    {
        -webkit-transform: scale(0);
                transform: scale(0);
    }
    50%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

@keyframes vlt_bounce
{
    0%,
    100%
    {
        -webkit-transform: scale(0);
                transform: scale(0);
    }
    50%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

.vlt-display-1,
.vlt-navbar-contacts ul,
.vlt-offcanvas-menu__locales a,
.vlt-offcanvas-menu__copyright,
.vlt-footer-copyright,
.vlt-custom-cursor .circle span,
.vlt-link-with-arrow,
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__category,
.vlt-testimonial-item__meta span
{
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.2;

    letter-spacing: .01em;
    text-transform: uppercase;
}

.vlt-offcanvas-menu__socials a,
.vlt-fixed-socials
{
    font-size: 1.125rem;
    font-weight: 700;

    letter-spacing: .01em;
}

/* 02. Base */
.has-first-color
{
    color: var(--p1);
}

.has-first-background-color
{
    background-color: var(--p1);
}

.has-white-color
{
    color: #fff !important;
}

.has-white-background-color
{
    background-color: #fff;
}

.has-gray-color
{
    color: #999 !important;
}

.has-gray-background-color
{
    background-color: #999;
}

.vlt-large-heading
{
    font-size: 5rem;
}
@media only screen and (max-width: 575px)
{
    .vlt-large-heading
    {
        font-size: 3.625rem;
    }
}

.vlt-gap-5
{
    height: .3125rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-5--sm
    {
        height: .3125rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-5--md
    {
        height: .3125rem;
    }
}

.vlt-gap-10
{
    height: .625rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-10--sm
    {
        height: .625rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-10--md
    {
        height: .625rem;
    }
}

.vlt-gap-20
{
    height: 1.25rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-20--sm
    {
        height: 1.25rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-20--md
    {
        height: 1.25rem;
    }
}

.vlt-gap-30
{
    height: 1.875rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-30--sm
    {
        height: 1.875rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-30--md
    {
        height: 1.875rem;
    }
}

.vlt-gap-40
{
    height: 2.5rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-40--sm
    {
        height: 1rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-40--md
    {
        height: 2.5rem;
    }
}

.vlt-gap-50
{
    height: 2rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-50--sm
    {
        height: 3.125rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-50--md
    {
        height: 3.125rem;
    }
}

.vlt-gap-70
{
    height: 2rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-70--sm
    {
        height: 4.375rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-70--md
    {
        height: 4.375rem;
    }
}

.vlt-gap-100
{
    height: 6.25rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-100--sm
    {
        height: 6.25rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-100--md
    {
        height: 6.25rem;
    }
}

.vlt-fade-in-left,
.vlt-fade-in-left--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);

    opacity: 0;
}
.vlt-fade-in-left--small
{
    -webkit-transform: translate3d(-100px, 0, 0);
            transform: translate3d(-100px, 0, 0);
}
.active .vlt-fade-in-left,
.active .vlt-fade-in-left--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-fade-in-right,
.vlt-fade-in-right--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);

    opacity: 0;
}
.vlt-fade-in-right--small
{
    -webkit-transform: translate3d(100px, 0, 0);
            transform: translate3d(100px, 0, 0);
}
.active .vlt-fade-in-right,
.active .vlt-fade-in-right--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-fade-in-top,
.vlt-fade-in-top--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);

    opacity: 0;
}
.vlt-fade-in-top--small
{
    -webkit-transform: translate3d(0, -100px, 0);
            transform: translate3d(0, -100px, 0);
}
.active .vlt-fade-in-top,
.active .vlt-fade-in-top--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-fade-in-bottom,
.vlt-fade-in-bottom--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}
.vlt-fade-in-bottom--small
{
    -webkit-transform: translate3d(0, 100px, 0);
            transform: translate3d(0, 100px, 0);
}
.active .vlt-fade-in-bottom,
.active .vlt-fade-in-bottom--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.message.success
{
    color: var(--success);
}

.message.danger
{
    color: var(--danger);
}

.center-mode
{
    position: absolute;
    z-index: 1; 
    top: 50%;
    left: 50%;

    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
}

/* HTML
-------------------------------------------- */
html
{
    font-size: 14px;
}
@media only screen and (min-width: 768px)
{
    html
    {
        font-size: 15px;
    }
}
@media only screen and (min-width: 992px)
{
    html
    {
        font-size: 16px;
    }
}

/* BODY
-------------------------------------------- */
body
{
    font-family: var(--pf);
    font-size: 1rem;
    line-height: 1.7;

    min-width: 20rem;
    margin: 0;
    padding: 0;

    color: #323232;
    background-color: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* IMAGE
-------------------------------------------- */
img
{
    max-width: 100%;
    height: auto;
}

/* PARAGRAPH
-------------------------------------------- */
p
{
    
}
p:empty
{
    display: none;
}
p:last-of-type
{
    margin-bottom: 0;
}

/* STRONG
-------------------------------------------- */
strong
{
    font-weight: 600;
}

/* MARK
-------------------------------------------- */
mark
{
    background-color: var(--p1);
}

/* LINK
-------------------------------------------- */
a
{
    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96); 
    text-decoration: none;

    color: inherit;
}
a:hover,
a:focus,
a:active
{
    text-decoration: none;

    outline: none;
}
a:hover
{
    color: var(--p1);
}

/* HEADINGS
-------------------------------------------- */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6
{
    font-weight: 700;

    margin: 0;
    padding: 0;

    letter-spacing: -.02em;

    color: #101010;
}

h1,
.h1
{
    font-size: 3.625rem;
    line-height: 1;
}
@media only screen and (max-width: 575px)
{
    h1,
    .h1
    {
        font-size: 2.375rem;
    }
}

h2,
.h2
{
    font-size: 3rem;
    line-height: 1.4;
}

h3,
.h3
{
    font-size: 2.375rem;
    line-height: 1.4;
}

h4,
.h4
{
    font-size: 2rem;
    line-height: 1.4;
}

h5,
.h5
{
    font-size: 1.5rem;
    line-height: 1.4;
}

h6,
.h6
{
    font-size: 1.375rem;
    line-height: 1.55;
}

/* FORM / INPUT / TEXTAREA / SELECT
-------------------------------------------- */
form
{
    max-width: 100%;
}

label
{
    display: block;

    margin-bottom: .3125rem;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: #101010;
}

input[type='text'],
input[type='date'],
input[type='email'],
input[type='password'],
input[type='tel'],
input[type='url'],
input[type='search'],
input[type='number'],
textarea,
select
{
    display: block;

    width: 100%;
    margin: 0;
    padding: .75rem 1rem;

    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96);

    color: #fff;
    border: none;
    border-radius: 4px;
    outline: none; 
    background-color: #222;
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

select
{
    color: #999;
    background-image: url('data:image/svg+xml;utf8,<svg fill=\'%23999999\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>');
    background-repeat: no-repeat;
    background-position: right 16px bottom 50%;
    background-size: 18px 18px;
}

textarea
{
    width: 100%;
    max-width: 100%;
}

button:focus,
input[type='submit']:focus
{
    outline: none;
}

input[type='text'].placeholder,
input[type='date'].placeholder,
input[type='email'].placeholder,
input[type='password'].placeholder,
input[type='tel'].placeholder,
input[type='url'].placeholder,
input[type='search'].placeholder,
input[type='number'].placeholder,
textarea.placeholder,
select.placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']:-moz-placeholder,
input[type='date']:-moz-placeholder,
input[type='email']:-moz-placeholder,
input[type='password']:-moz-placeholder,
input[type='tel']:-moz-placeholder,
input[type='url']:-moz-placeholder,
input[type='search']:-moz-placeholder,
input[type='number']:-moz-placeholder,
textarea:-moz-placeholder,
select:-moz-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']::-moz-placeholder,
input[type='date']::-moz-placeholder,
input[type='email']::-moz-placeholder,
input[type='password']::-moz-placeholder,
input[type='tel']::-moz-placeholder,
input[type='url']::-moz-placeholder,
input[type='search']::-moz-placeholder,
input[type='number']::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']:-ms-input-placeholder,
input[type='date']:-ms-input-placeholder,
input[type='email']:-ms-input-placeholder,
input[type='password']:-ms-input-placeholder,
input[type='tel']:-ms-input-placeholder,
input[type='url']:-ms-input-placeholder,
input[type='search']:-ms-input-placeholder,
input[type='number']:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']::-webkit-input-placeholder,
input[type='date']::-webkit-input-placeholder,
input[type='email']::-webkit-input-placeholder,
input[type='password']::-webkit-input-placeholder,
input[type='tel']::-webkit-input-placeholder,
input[type='url']::-webkit-input-placeholder,
input[type='search']::-webkit-input-placeholder,
input[type='number']::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']:focus.placeholder,
input[type='date']:focus.placeholder,
input[type='email']:focus.placeholder,
input[type='password']:focus.placeholder,
input[type='tel']:focus.placeholder,
input[type='url']:focus.placeholder,
input[type='search']:focus.placeholder,
input[type='number']:focus.placeholder,
textarea:focus.placeholder,
select:focus.placeholder
{
    opacity: 0;
}

input[type='text']:focus:-moz-placeholder,
input[type='date']:focus:-moz-placeholder,
input[type='email']:focus:-moz-placeholder,
input[type='password']:focus:-moz-placeholder,
input[type='tel']:focus:-moz-placeholder,
input[type='url']:focus:-moz-placeholder,
input[type='search']:focus:-moz-placeholder,
input[type='number']:focus:-moz-placeholder,
textarea:focus:-moz-placeholder,
select:focus:-moz-placeholder
{
    opacity: 0;
}

input[type='text']:focus::-moz-placeholder,
input[type='date']:focus::-moz-placeholder,
input[type='email']:focus::-moz-placeholder,
input[type='password']:focus::-moz-placeholder,
input[type='tel']:focus::-moz-placeholder,
input[type='url']:focus::-moz-placeholder,
input[type='search']:focus::-moz-placeholder,
input[type='number']:focus::-moz-placeholder,
textarea:focus::-moz-placeholder,
select:focus::-moz-placeholder
{
    opacity: 0;
}

input[type='text']:focus:-ms-input-placeholder,
input[type='date']:focus:-ms-input-placeholder,
input[type='email']:focus:-ms-input-placeholder,
input[type='password']:focus:-ms-input-placeholder,
input[type='tel']:focus:-ms-input-placeholder,
input[type='url']:focus:-ms-input-placeholder,
input[type='search']:focus:-ms-input-placeholder,
input[type='number']:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder,
select:focus:-ms-input-placeholder
{
    opacity: 0;
}

input[type='text']:focus::-webkit-input-placeholder,
input[type='date']:focus::-webkit-input-placeholder,
input[type='email']:focus::-webkit-input-placeholder,
input[type='password']:focus::-webkit-input-placeholder,
input[type='tel']:focus::-webkit-input-placeholder,
input[type='url']:focus::-webkit-input-placeholder,
input[type='search']:focus::-webkit-input-placeholder,
input[type='number']:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder,
select:focus::-webkit-input-placeholder
{
    opacity: 0;
}

.vlt-form-group
{
    position: relative;

    display: block;

    margin-bottom: 1.875rem;
}
.vlt-form-group label.error
{
    font-size: .8125rem; 

    margin: .3125rem 0 0;

    color: var(--danger);
}

.vlt-form-row
{
    display: grid;

    grid-gap: 30px;
    grid-template-columns: repeat(1, 1fr);
}
.vlt-form-row.two-col
{
    grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px)
{
    .vlt-form-row.two-col
    {
        grid-gap: 0;
        grid-template-columns: repeat(1, 1fr);
    }
}
.vlt-form-row.three-col
{
    grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 767px)
{
    .vlt-form-row.three-col
    {
        grid-gap: 0;
        grid-template-columns: repeat(1, 1fr);
    }
}

/* 03. Layout */
/* LAYOUT: GRID
-------------------------------------------- */
@media only screen and (min-width: 1200px)
{
    .container
    {
        max-width: 1200px;
    }
}

/* MAIN
-------------------------------------------- */
.vlt-main
{
    position: relative;

    overflow: hidden;
}

/* LAYOUT: HEADER
-------------------------------------------- */
.vlt-header
{
    position: absolute;
    z-index: 30; 
    top: 0;
    left: 0;

    width: 100%;

    color: #101010;
}
.is-light .vlt-header
{
    color: #fff;
}

.vlt-navbar
{
    position: relative;
    z-index: 50;
}
.vlt-navbar .vlt-navbar-inner
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: .9375rem;

    -webkit-transition: padding 300ms cubic-bezier(.46, .03, .52, .96);
            transition: padding 300ms cubic-bezier(.46, .03, .52, .96); 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (min-width: 768px)
{
    .vlt-navbar .vlt-navbar-inner
    {
        padding: 1.875rem;
    }
}
@media only screen and (min-width: 1200px)
{
    .vlt-navbar .vlt-navbar-inner
    {
        padding: 2.5rem 3.75rem;
    }
}
.vlt-navbar .vlt-navbar-inner--left
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}
.vlt-navbar .vlt-navbar-background
{
    position: absolute;
    z-index: -1; 
    top: -1px;
    right: 0;
    left: 0;

    width: 100%;
    height: 0;

    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96);

    background-color: #101010;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.is-dark .vlt-navbar .vlt-navbar-background
{
    background-color: #fff;
}
.vlt-navbar--fixed
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
}
.vlt-navbar--solid .vlt-navbar-inner
{
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
}
.vlt-navbar--solid .vlt-navbar-background
{
    height: 100%;
}
.vlt-navbar .vlt-navbar-logo
{
    line-height: 1;

    display: inline-block;

    vertical-align: middle;

    color: inherit;
}
.vlt-navbar .vlt-navbar-logo h2
{
    font-size: 1.75rem;
    font-weight: 700;

    margin: 0;

    letter-spacing: -.02em;

    color: inherit;
}
.vlt-navbar .vlt-navbar-logo img
{
    display: block;

    max-width: none; 
    max-height: 24px;
}
.is-light .vlt-navbar .vlt-navbar-logo img.black
{
    display: none;
}
.is-dark .vlt-navbar .vlt-navbar-logo img.white
{
    display: none;
}
.vlt-navbar .vlt-navbar-logo:hover
{
    text-decoration: none; 

    color: currentColor;
}
.vlt-navbar-contacts
{
    margin-left: 10%;
}
.vlt-navbar-contacts ul
{
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    margin: 0;
    padding: 0;

    list-style-type: none;
}
.vlt-navbar-contacts ul li.sep
{
    margin: 0 .9375rem;

    -webkit-transition: color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: color 300ms cubic-bezier(.46, .03, .52, .96); 

    opacity: .5;
}
.vlt-navbar-contacts ul li a:hover
{
    opacity: .8; 
    color: inherit;
}

@media (min-width: 783px)
{
    .admin-bar .vlt-navbar--fixed
    {
        top: 32px !important;
    }
}

@media (max-width: 782px)
{
    .admin-bar .vlt-navbar--fixed
    {
        top: 46px !important;
    }
}

@media (max-width: 600px)
{
    .admin-bar .vlt-navbar--fixed
    {
        top: 0 !important;
    }
}

/* BURGER MENU
-------------------------------------------- */
.vlt-menu-burger
{
    font-size: 1.75rem;
    line-height: 0;
}
.vlt-menu-burger svg
{
    width: 1em; 
    height: 1em;
}
.vlt-menu-burger:hover
{
    color: inherit;
}
.vlt-menu-burger--opened:hover i
{
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
}

/* HEADER: OFFCANVAS
-------------------------------------------- */
.vlt-offcanvas-menu
{
    position: fixed;
    z-index: 40; 
    top: 0;
    right: 0;
    bottom: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    width: 100%;
    padding: 2.5rem 4.375rem 3.75rem;

    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);

    background-color: #101010;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
@media only screen and (min-width: 576px)
{
    .vlt-offcanvas-menu
    {
        width: 34.375rem;
    }
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu
    {
        padding: 2.5rem 2.5rem 3.75rem;
    }
}
.vlt-offcanvas-menu__header
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    padding-bottom: 6.25rem;

    color: #ccc; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu__header
    {
        padding-bottom: 3.125rem;
    }
}
@media (max-height: 559px)
{
    .vlt-offcanvas-menu__header
    {
        padding-bottom: 3.125rem;
    }
}
.vlt-offcanvas-menu__header .vlt-menu-burger:hover
{
    color: #fff;
}
.vlt-offcanvas-menu__locales a
{
    display: inline-block;
}
.vlt-offcanvas-menu__locales a + a
{
    margin-left: 1.25rem;
}
.vlt-offcanvas-menu__locales a:hover,
.vlt-offcanvas-menu__locales a.active
{
    color: var(--p1);
}
.vlt-offcanvas-menu__navigation
{
    overflow-y: auto; 

    height: 100%;
}
.vlt-offcanvas-menu__navigation .sf-menu
{
    overflow: hidden;
}
.vlt-offcanvas-menu__navigation .sf-menu li
{
    display: block;
    float: none;
}
.vlt-offcanvas-menu__navigation .sf-menu a
{
    display: inline-block;
}
.vlt-offcanvas-menu__navigation .sf-menu > li
{
    padding: .625rem 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li > a
{
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;

    padding: .3125rem 0;

    letter-spacing: -.02em;

    color: #ccc;
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu__navigation .sf-menu > li > a
    {
        font-size: 1.75rem;
    }
}
.vlt-offcanvas-menu__navigation .sf-menu > li > a::before
{
    position: absolute;
    left: 0;

    display: inline-block;

    content: '/';
    -webkit-transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         transform 300ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96); 
    -webkit-transform: translate(-15px, 0);
        -ms-transform: translate(-15px, 0);
            transform: translate(-15px, 0);

    opacity: 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li:last-child
{
    padding-bottom: 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li:first-child
{
    padding-top: 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li.active > a,
.vlt-offcanvas-menu__navigation .sf-menu > li:hover > a
{
    color: var(--p1);
}
.vlt-offcanvas-menu__navigation .sf-menu > li.active > a
{
    padding-left: 1.25rem;
}
.vlt-offcanvas-menu__navigation .sf-menu > li.active > a::before
{
    -webkit-transition-delay: 150ms;
            transition-delay: 150ms;
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);

    opacity: 1;
}
.vlt-offcanvas-menu__footer
{
    padding-top: 6.25rem;
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu__footer
    {
        padding-top: 3.125rem;
    }
}
.vlt-offcanvas-menu__footer > div
{
    opacity: 0;
}
.vlt-offcanvas-menu__socials
{
    margin-bottom: 3.125rem;

    color: #ccc;
}
@media (max-height: 559px)
{
    .vlt-offcanvas-menu__socials
    {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu__socials
    {
        display: none;
    }
}
.vlt-offcanvas-menu__socials a:hover
{
    color: #fff;
}
.vlt-offcanvas-menu__socials a + a
{
    margin-left: 1.25rem;
}
.vlt-offcanvas-menu__copyright
{
    color: #ccc;
}
.vlt-offcanvas-menu__copyright p
{
    margin-bottom: 0;
}
@media (max-height: 559px)
{
    .vlt-offcanvas-menu__copyright
    {
        display: none;
    }
}

@media (min-width: 783px)
{
    .admin-bar .vlt-aside-menu-wrapper
    {
        top: 32px !important;
    }
}

@media (max-width: 782px)
{
    .admin-bar .vlt-aside-menu-wrapper
    {
        top: 46px !important;
    }
}

@media (max-width: 600px)
{
    .admin-bar .vlt-aside-menu-wrapper
    {
        top: 0 !important;
    }
}

.vlt-site-overlay
{
    position: fixed;
    z-index: 35; 
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    visibility: hidden;

    opacity: 0;
    background-color: rgba(16, 16, 16, .15);
}

/* LAYOUT: FOOTER
-------------------------------------------- */
.vlt-footer
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    padding: 0 .9375rem .9375rem;

    pointer-events: none; 

    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (min-width: 768px)
{
    .vlt-footer
    {
        padding: 0 1.875rem 1.875rem;
    }
}
@media only screen and (min-width: 1200px)
{
    .vlt-footer
    {
        padding: 0 3.75rem 2.5rem;
    }
}
.vlt-footer--fixed
{
    position: fixed;
    z-index: 20;
}
@media (max-height: 559px)
{
    .vlt-footer--fixed
    {
        display: none;
    }
}

/* FOOTER COPYRIGHT
-------------------------------------------- */
.vlt-footer-copyright
{
    pointer-events: auto; 

    color: #101010;
}
.is-light .vlt-footer-copyright
{
    color: #fff;
}
.vlt-footer-copyright p
{
    margin-bottom: 0;
}

/* 04. Pages */
/* PAGE: FULLPAGE SLIDER
-------------------------------------------- */

.vlt-fullpage-slider
{
    height: 100vh;
}
.vlt-fullpage-slider .vlt-section
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

            background-image: url('../img/root/white.jpg'); 
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
.vlt-fullpage-slider .vlt-section__vertical-align
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    overflow: hidden; 
            flex-direction: column;

    width: 100%;
    min-height: 100%;

    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-fullpage-slider .vlt-section__content
{
    position: relative;
    z-index: 2; 

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    min-height: 100%;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;

    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-fullpage-slider .vlt-section .vlt-section__ken-burn-background
{
    position: absolute;
    z-index: -1; 
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    pointer-events: none;
}
.vlt-fullpage-slider .vlt-section .vlt-section__ken-burn-background img
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: -webkit-transform 2.5s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 2.5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 2.5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 2.5s cubic-bezier(.46, .03, .52, .96), -webkit-transform 2.5s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: scale(1.5);
        -ms-transform: scale(1.5);
            transform: scale(1.5);

    -o-object-fit: cover;
       object-fit: cover;
    will-change: transform;
}
.vlt-fullpage-slider .vlt-section.active .vlt-section__ken-burn-background img
{
    -webkit-transition: -webkit-transform 5s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 5s cubic-bezier(.46, .03, .52, .96), -webkit-transform 5s cubic-bezier(.46, .03, .52, .96); 
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
}
.vlt-fullpage-slider .vlt-section__particles
{
    position: absolute;
    z-index: -1; 
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    pointer-events: auto;
}
.vlt-fullpage-slider .vlt-section__particles .vlt-particle
{
    position: absolute;

    background-repeat: no-repeat;
}
.vlt-fullpage-slider-progress-bar
{
    position: fixed;
    z-index: 25; 
    top: 50%;
    left: 60px;

    margin: 0;
    padding: 0;

    list-style-type: none;

    -webkit-transition: opacity 300ms 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 300ms 500ms cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);

    opacity: 0;
}
@media only screen and (max-width: 991px)
{
    .vlt-fullpage-slider-progress-bar
    {
        display: none;
    }
}
.vlt-fullpage-slider-progress-bar.is-show
{
    opacity: 1;
}
.vlt-fullpage-slider-progress-bar li
{
    position: relative;

    width: 2px;
    height: 20px;

    -webkit-transition: background-color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: background-color 300ms cubic-bezier(.46, .03, .52, .96); 

    background-color: rgba(16, 16, 16, .1);
}
.is-light .vlt-fullpage-slider-progress-bar li
{
    background-color: rgba(255, 255, 255, .1);
}
.vlt-fullpage-slider-progress-bar li::before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 2px;
    height: 20px;

    content: '';
    -webkit-transition: height 0s, background-color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: height 0s, background-color 300ms cubic-bezier(.46, .03, .52, .96); 

    background-color: #101010;
}
.is-light .vlt-fullpage-slider-progress-bar li::before
{
    background-color: #fff;
}
.vlt-fullpage-slider-progress-bar li.active ~ li::before
{
    height: 0;
}
.vlt-fullpage-slider-progress-bar li.active::before,
.vlt-fullpage-slider-progress-bar li:not(.prev)::before
{
    -webkit-transition: height 500ms cubic-bezier(.46, .03, .52, .96), background-color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: height 500ms cubic-bezier(.46, .03, .52, .96), background-color 300ms cubic-bezier(.46, .03, .52, .96);
}
.vlt-fullpage-slider-numbers
{
    font-size: 1.25rem;
    font-weight: 700;

    position: fixed;
    z-index: 25; 
    right: 0;
    bottom: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    width: 6.25rem;
    height: 6.25rem;

    letter-spacing: -.01em;

    color: #fff;
    border-top-left-radius: 8px;
    background-color: #101010;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
.vlt-fullpage-slider-numbers a
{
    font-size: 1.5rem; 

    color: inherit;
}
.vlt-fullpage-slider-numbers a svg
{
    width: 1em; 
    height: 1em;
}
.vlt-fullpage-slider-numbers a:hover svg
{
    -webkit-animation: vlt_animate_icon_bottom 300ms cubic-bezier(.46, .03, .52, .96);
            animation: vlt_animate_icon_bottom 300ms cubic-bezier(.46, .03, .52, .96);
}

@media only screen and (max-width: 767px) {
    .vlt-fullpage-slider .vlt-section {
        background-position: 30% center; /* Mueve ligeramente hacia la izquierda */
    }
}



/* 05. Partials */
/* PARTIAL: CUSTOM CURSOR
-------------------------------------------- */
.vlt-custom-cursor
{
    position: absolute;
    z-index: 100; 
    top: 0;
    left: 0;

    width: .9375rem;
    height: .9375rem;

    -webkit-transition: opacity 200ms cubic-bezier(.46, .03, .52, .96) 500ms;
            transition: opacity 200ms cubic-bezier(.46, .03, .52, .96) 500ms;
    pointer-events: none;

    color: #222;
}
.vlt-custom-cursor .circle
{
    position: fixed;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: .9375rem;
    height: .9375rem;

    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    pointer-events: none; 

    opacity: .1;
    border-radius: 50%;
    background-color: currentColor;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-custom-cursor .circle span
{
    color: #fff;
}
.vlt-custom-cursor .circle span i
{
    font-size: 2em;
    font-weight: normal; 
    line-height: 1;
}

/* PARTIAL: CUSTOM SCROLLBAR
-------------------------------------------- */
::-webkit-scrollbar
{
    width: px;
}

::-webkit-scrollbar-track
{
    background-color: #222;
}

::-webkit-scrollbar-thumb
{
    background-color: var(--p1);
}

/* PARTIAL: FIXED SOCIALS
-------------------------------------------- */
.vlt-fixed-socials
{
    position: fixed;
    z-index: 20; 
    right: 60px;
    bottom: 50%;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-transform: rotate(-90deg) translate3d(50%, 0, 0);
            transform: rotate(-90deg) translate3d(50%, 0, 0);
    -webkit-transform-origin: 100% 100%;
        -ms-transform-origin: 100% 100%;
            transform-origin: 100% 100%;

    color: #101010;
}
@media only screen and (max-width: 991px)
{
    .vlt-fixed-socials
    {
        display: none;
    }
}
.is-light .vlt-fixed-socials
{
    color: #fff;
}
.vlt-fixed-socials a + a
{
    margin-left: 1.25rem;
}
.vlt-fixed-socials a:hover
{
    opacity: .8; 
    color: inherit;
}

.vlt-link-with-arrow
{
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    color: var(--p1); 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-link-with-arrow__icon
{
    margin-top: -2px;
    margin-left: 1.25rem;

    -webkit-transition: margin 300ms cubic-bezier(.46, .03, .52, .96);
            transition: margin 300ms cubic-bezier(.46, .03, .52, .96);
}
.vlt-link-with-arrow:hover .vlt-link-with-arrow__icon
{
    margin-left: .625rem;
}

/* PARTIAL: PRELOADER
-------------------------------------------- */
.animsition-loading-2
{
    position: fixed;
    z-index: 120; 
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.spinner
{
    position: absolute;
    z-index: 2; 
    top: calc(50% - 25px);
    left: calc(50% - 25px);

    width: 50px;
    height: 50px;
}

.double-bounce-one,
.double-bounce-two
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-animation: vlt_bounce 2s infinite ease-in-out;
            animation: vlt_bounce 2s infinite ease-in-out; 

    opacity: .6;
    border-radius: 50%;
    background-color: var(--p1);
}

.double-bounce-two
{
    -webkit-animation-delay: -1s;
            animation-delay: -1s;
}

/* 06. Vendors */
/* VENDOR: FANCYBOX
-------------------------------------------- */
.fancybox-bg,
.vp-fancybox .fancybox-bg
{
    background-color: #101010;
}

.fancybox-is-open .fancybox-bg
{
    opacity: .8;
}

.fancybox-loading
{
    border: 2px solid rgba(255, 255, 255, .2);
    border-top-color: var(--p1);
}

/* VENDOR: PILING SLIDER
-------------------------------------------- */
body .pp-scrollable
{
    overflow-y: auto;
}

/* 07. Widgets */
/* WIDGET: ANIMATED BLOCK
-------------------------------------------- */
.vlt-animated-block.animated
{
    -webkit-animation-name: vlt_animation_block;
            animation-name: vlt_animation_block;
    -webkit-animation-timing-function: cubic-bezier(.46, .03, .52, .96);
            animation-timing-function: cubic-bezier(.46, .03, .52, .96);

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}

/* WIDGET: AWARD ITEM
-------------------------------------------- */
.vlt-award-item
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-award-item__logo
{
    overflow: hidden; 

    width: 5rem;
    height: 5rem;
    margin-right: 1.875rem;

    -webkit-transition: -webkit-box-shadow 300ms cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-box-shadow 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         box-shadow 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         box-shadow 300ms cubic-bezier(.46, .03, .52, .96), -webkit-box-shadow 300ms cubic-bezier(.46, .03, .52, .96);

    border-radius: 4px;
    -webkit-box-shadow: 0 2px 5px 0 rgba(16, 16, 16, .1);
            box-shadow: 0 2px 5px 0 rgba(16, 16, 16, .1);

    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
            flex-shrink: 0;
}
.vlt-award-item__logo img
{
    width: 100%; 
    height: 100%;
}
.vlt-award-item__content
{
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}
.vlt-award-item:hover .vlt-award-item__logo
{
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
}

/* WIDGET: BLOG POST
-------------------------------------------- */
.vlt-post-thumbnail
{
    position: relative;

    overflow: hidden;

    width: 100%;

    border-radius: 8px;
}
.vlt-post-thumbnail__link
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
.vlt-post-thumbnail img
{
    -webkit-transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96), -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
}
.vlt-post-thumbnail .badge
{
    font-size: 1.25rem;

    position: absolute;
    top: 0;
    right: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 2.8125rem;
    height: 2.8125rem;

    color: #fff;
    border-radius: 0;
    border-bottom-left-radius: 8px;
    background-color: #101010; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-post-thumbnail .badge svg
{
    width: 1em; 
    height: 1em;
}

.vlt-post-thumbnail + .vlt-post-content
{
    padding-top: 1.875rem;
}

.vlt-post-title
{
    font-size: 1.5rem;
    line-height: 1.4;
}

.vlt-post-meta
{
    font-size: .875rem;
    font-weight: 500; 

    margin-bottom: .625rem;

    color: rgba(16, 16, 16, .8);
}
.vlt-post-meta span + span::before
{
    margin-right: .3125rem;
    margin-left: .5rem; 

    content: '/';
}

.vlt-post-footer
{
    padding-top: 1.25rem;
}
.vlt-post-footer .vlt-post__link
{
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}

.vlt-post:hover .vlt-post__link
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-post:hover .vlt-post-thumbnail img
{
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
}

/* WIDGET: BUTTON
-------------------------------------------- */
.vlt-btn
{
    font-weight: 600;

    position: relative;

    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;
    overflow: hidden;

    padding: .75rem 1.1875rem;

    cursor: pointer; 
    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96);
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: -.01em;

    border: none;
    border-radius: 4px;
    outline: 0;
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);

    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-btn:disabled,
.vlt-btn.disabled
{
    cursor: not-allowed; 
    pointer-events: none;
}
.vlt-btn--block
{
    width: 100%;
}
.vlt-btn__icon
{
    text-decoration: inherit;
}
.vlt-btn__icon i,
.vlt-btn__icon svg
{
    display: block;
}
.vlt-btn__icon svg
{
    width: 1em; 
    height: 1em;
}
.vlt-btn__icon--left
{
    margin-right: .625rem;
}
.vlt-btn__icon--right
{
    margin-left: .625rem;
}
.vlt-btn__text
{
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}
.vlt-btn:focus
{
    outline: none;
}
.vlt-btn:hover
{
    text-decoration: none;
}

/* BUTTON PRIMARY
-------------------------------------------- */
.vlt-btn--primary
{
    color: #fff;
    background-color: var(--p1);
}
.vlt-btn--primary:hover
{
    color: #fff;
    background-color: #222;
}

/* BUTTON SECONDARY
-------------------------------------------- */
.vlt-btn--secondary
{
    color: #fff;
    background-color: #222;
}
.vlt-btn--secondary:hover
{
    color: #fff;
    background-color: var(--p1);
}

/* WIDGET: CONTACT FORM
-------------------------------------------- */
.vlt-contact-form .message
{
    font-size: .875rem; 

    display: none;

    margin-bottom: 1.875rem;
}

/* WIDGET: COUNTER UP
-------------------------------------------- */
.vlt-counter-up
{
    font-size: 7.5rem;
    font-weight: 700;
    line-height: 1;

    letter-spacing: -.02em;

    color: var(--p1);
}
.vlt-counter-up sup
{
    font-size: 33.33%;

    vertical-align: super;
}

.vlt-counter-up-small
{
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    padding: .9375rem 1.875rem .9375rem 1.25rem;

    border-radius: 8px; 
    background-color: rgba(255, 255, 255, .1);
    -webkit-box-shadow: inset 0 -2px 0 0 rgba(255, 255, 255, .1);
            box-shadow: inset 0 -2px 0 0 rgba(255, 255, 255, .1);

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-counter-up-small span
{
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;

    min-width: 3.125rem;

    letter-spacing: -.02em;

    color: #fff;
}
.vlt-counter-up-small h6
{
    margin-left: .9375rem;

    color: #fff; 

    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}

/* WIDGET: LINK
-------------------------------------------- */
.vlt-link
{
    font-size: 1.20rem;
    font-weight: 600;

    position: relative;

    letter-spacing: -.01em;

    color: #101010;
}
.vlt-link::before
{
    display: inline-block;

    width: 2rem;
    height: 2px;
    margin-top: -.125rem;
    margin-right: 0.5rem;

    content: '';
    -webkit-transition: width 300ms cubic-bezier(.46, .03, .52, .96);
            transition: width 300ms cubic-bezier(.46, .03, .52, .96); 
    vertical-align: middle;

    background-color: currentColor;
}
.vlt-link:hover::before
{
    width: 2.5rem;
}

/* WIDGET: PARTNER LOGO
-------------------------------------------- */
.vlt-partner-logo
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-partner-logo a,
.vlt-partner-logo img
{
    display: block;

    width: auto; 

    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
            flex-shrink: 0;
}
.vlt-partner-logo img
{
    -webkit-transition: opacity 300ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 300ms cubic-bezier(.46, .03, .52, .96); 

    opacity: .5;
}
.vlt-partner-logo:hover img
{
    opacity: 1;
}

/* WIDGET: PROGRESS BAR
-------------------------------------------- */
.vlt-progress-bar__title
{
    font-size: 1.25rem; 

    margin: 0 0 .5rem;
}
.vlt-progress-bar__title > span::before
{
    content: ' - ';
}
.vlt-progress-bar__title > span::after
{
    content: '%';
}

.vlt-progress-bar__bar
{
    position: relative;

    overflow: hidden; 

    width: 100%;
    height: 4px;

    background-color: rgba(16, 16, 16, .1);
}
.vlt-progress-bar__bar span
{
    position: absolute;
    top: 0;
    left: 0;

    height: 100%;

    background-color: var(--p1);
}

/* WIDGET: PROJECT SHOWCASE
-------------------------------------------- */
.vlt-project-showcase
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    overflow: hidden; 

    width: 100%;
    height: 100%;
    min-height: 30vw;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-project-showcase .vlt-project-showcase__items
{
    position: relative;
    z-index: 2; 

    padding: 0 8vw;

    white-space: nowrap;

    will-change: transform;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item
{
    position: relative;

    display: inline-block;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__title
{
    font-size: 5rem;
    line-height: 1.15;

    letter-spacing: -.02em;

    color: #fff;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__title a:hover
{
    color: inherit;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__category
{
    display: block;

    margin-top: .625rem;

    color: #fff;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__category::before
{
    margin-right: .375rem; 

    content: '/';
}
.vlt-project-showcase .vlt-project-showcase__items li + li
{
    margin-left: 14vw;
}
.vlt-project-showcase .vlt-project-showcase__images
{
    position: absolute;
    z-index: 1; 
    top: 50%;
    right: 0;

    overflow: hidden;

    width: 30vw;
    height: 30vw;
    margin: 0 5.3125rem;

    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
    pointer-events: none;

    border-radius: 50%;
}
.vlt-project-showcase .vlt-project-showcase__images .vlt-project-showcase__image
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
.vlt-project-showcase .vlt-project-showcase__images .vlt-project-showcase__image img
{
    font-family: 'object-fit: cover;';

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 1.5s cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 1.5s cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 1.5s cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 1.5s cubic-bezier(.46, .03, .52, .96), -webkit-transform 1.5s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);

    opacity: 0; 

    -o-object-fit: cover;
       object-fit: cover;
}
.vlt-project-showcase .vlt-project-showcase__images .vlt-project-showcase__image.is-active img
{
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);

    opacity: 1;
}
.vlt-project-showcase .vlt-project-showcase__item
{
    -webkit-transition: opacity 300ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 300ms cubic-bezier(.46, .03, .52, .96); 

    opacity: .05;
}
.vlt-project-showcase .vlt-project-showcase__item.is-active
{
    opacity: 1;
}

.vlt-project-showcase-slider
{
    width: 100%;
}

.vlt-work-thumbnail
{
    position: relative;

    overflow: hidden;

    width: 100%;

    border-radius: 8px;
}
.vlt-work-thumbnail__link
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
.vlt-work-thumbnail img
{
    -webkit-transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96), -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
}

.vlt-work-thumbnail + .vlt-work-content
{
    padding-top: 1.875rem;
}

.vlt-work-title
{
    font-size: 1.7rem;
    line-height: 1.4;

    color: #fff;
}

.vlt-work-meta
{
    font-size: 1.2rem;
    font-weight: 500; 

 

    color: rgba(255, 255, 255, .8);
}
.vlt-work-meta span + span::before
{
    margin-right: .3125rem;
    margin-left: .5rem; 

    content: '/';
}

.vlt-work-footer
{
    padding-top: 1.25rem;
}
.vlt-work-footer .vlt-work__link
{
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}

.vlt-work:hover .vlt-work__link
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-work:hover .vlt-work-thumbnail img
{
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
}

/* WIDGET: SERVICES
-------------------------------------------- */
.vlt-services
{
    overflow: hidden;
}
.vlt-services__title
{
    margin-bottom: .9375rem;
    margin-top: .9375rem;
}
.vlt-services__text
{
    margin-bottom: 0;
}
.vlt-services__link
{
    margin-top: 1.25rem;

    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}
.vlt-services:hover .vlt-services__link
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

/* WIDGET: SLIDE PHOTO
-------------------------------------------- */
.vlt-slide-photo
{
    position: relative;
    z-index: 1;
}
.vlt-slide-photo__inside
{
    position: relative;

    display: inline-block;
    overflow: hidden; 

    border-radius: 10px;
}
.vlt-slide-photo__caption
{
    font-size: .875rem;
    font-style: italic;

    margin-top: .3125rem;

    color: #999;
}
.vlt-slide-photo__particle
{
    position: absolute;

    display: inline-block;
    overflow: hidden; 

    width: auto;
}
.vlt-slide-photo__particle img
{
    display: block;

    margin: 0 auto;
}
.vlt-slide-photo__particle.has-border-radius
{
    border-radius: 8px;
}
.vlt-slide-photo__particle.has-box-shadow
{
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
}
.vlt-slide-photo__particle.negative-z-index
{
    z-index: -1;
}

/* WIDGET: TESTIMONIAL SLIDER
-------------------------------------------- */
.vlt-testimonial-slider .swiper-slide:not(.swiper-slide-active)
{
    -webkit-transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 500ms cubic-bezier(.46, .03, .52, .96); 
    -webkit-transform: scale(.8);
        -ms-transform: scale(.8);
            transform: scale(.8);

    opacity: 0;
}

.vlt-testimonial-slider-controls,
.vlt-timeline-slider-controls
{
    font-size: 1.25rem;
    font-weight: 600;

    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    letter-spacing: -.01em;

    color: #999; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-testimonial-slider-controls .pagination,
.vlt-timeline-slider-controls .pagination
{
    min-width: 3.75rem; 
    margin: 0 .9375rem;

    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-testimonial-slider-controls .pagination .sep,
.vlt-timeline-slider-controls .pagination .sep
{
    margin: 0 .5rem;
}
.vlt-testimonial-slider-controls .prev,
.vlt-timeline-slider-controls .prev,
.vlt-testimonial-slider-controls .next,
.vlt-timeline-slider-controls .next
{
    cursor: pointer;
    -webkit-transition: color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: color 300ms cubic-bezier(.46, .03, .52, .96);

    outline: none;
}
.vlt-testimonial-slider-controls .prev:hover,
.vlt-timeline-slider-controls .prev:hover,
.vlt-testimonial-slider-controls .next:hover,
.vlt-timeline-slider-controls .next:hover
{
    color: #fff;
}

.vlt-testimonial-item
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 2.1875rem 5rem 2.1875rem 2.5rem;

    color: #fff;
    border-radius: 10px;
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
}
@media only screen and (max-width: 767px)
{
    .vlt-testimonial-item
    {
        padding-right: 2.5rem;
    }
}
.vlt-testimonial-item::after
{
    position: absolute;
    right: 2.5rem;
    bottom: 2.5rem;

    width: 3.125rem;
    height: 3.125rem;

    content: '';

    opacity: .2; 
    background-image: url('../img/root/quote.svg');
    background-position: center;
    background-size: cover;
}
.vlt-testimonial-item__avatar
{
    margin-right: 2.5rem;
}
.vlt-testimonial-item__avatar img
{
    max-width: 7.5rem;

    border-radius: 50%;
}
@media only screen and (max-width: 767px)
{
    .vlt-testimonial-item__avatar
    {
        display: none;
    }
}
.vlt-testimonial-item__content
{
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}
.vlt-testimonial-item__content p
{
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5;

    letter-spacing: -.01em;
}
.vlt-testimonial-item__meta
{
    margin-top: 1.875rem;
}
.vlt-testimonial-item__meta h6
{
    font-size: 1.25rem;
    line-height: 1.5;

    color: inherit;
}
.vlt-testimonial-item__meta span
{
    opacity: .8;
}

/* WIDGET: TIMELINE SLIDER
-------------------------------------------- */
.vlt-timeline-slider .swiper-slide:not(.swiper-slide-active)
{
    -webkit-transition: opacity 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96); 

    opacity: 0;
}

.vlt-timeline-item
{
    padding-bottom: 1.875rem;
}
.vlt-timeline-item + .vlt-timeline-item
{
    padding-top: 1.875rem;

    border-top: 1px solid rgba(255, 255, 255, .25);
}
.vlt-timeline-item__year
{
    font-size: 1.125rem;
    font-weight: 700;

    display: block;

    letter-spacing: -.02em;

    color: #fff;
}
@media only screen and (max-width: 767px)
{
    .vlt-timeline-item__year
    {
        margin-bottom: .625rem;
    }
}
.vlt-timeline-item__title
{
    font-size: 1.375rem;

    color: #fff;
}
@media only screen and (max-width: 767px)
{
    .vlt-timeline-item__title
    {
        margin-bottom: .9375rem;
    }
}
.vlt-timeline-item__text
{
    color: #999;
}

/* WIDGET: VIDEO BUTTON
-------------------------------------------- */
.vlt-video-button
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
.vlt-video-button h6
{
    font-size: 1.125rem;

    margin-top: .9375rem;

    white-space: nowrap;
}
.vlt-video-button a
{
    font-size: 10px;
    line-height: 1;

    position: relative;
    z-index: 1; 

    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    width: 3.75rem;
    height: 3.75rem;

    color: #fff;
    border-radius: 50%;
    outline: none;
    background-color: #101010;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-video-button a svg
{
    font-size: 2.5em; 

    position: relative;

    width: 1em;
    height: 1em;
    margin-left: .15em;
}
.vlt-video-button a::after
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         transform 300ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);

    opacity: .1; 
    border-radius: 50%;
    background-color: #101010;
}
.vlt-video-button a:hover
{
    color: #fff;
}
.vlt-video-button a:hover::after
{
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
}

.vlt-section .product-item {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.vlt-section .product-item.active {
    transform: translateY(0);
    opacity: 1;
}
