/* Frontpage slider ------------------------- */
.slider {
    position: relative;
}

.slider__viewport {
    height: calc(100vh - 3rem * 2);
    overflow: hidden;
    position: relative;
}

.slider__down {
    background: rgba(42, 46, 48, 0);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    -webkit-transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
    transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
}

@media all and (min-width: 56.25em) {
    .slider__down {
        width: 60%;
    }
}

.slider__down > img {
    height: calc(100vh - 3rem * 2);
    -o-object-fit: cover;
    object-fit: scale-down;
    width: 100%;
}

.slider__down.no-animation {
    -webkit-transition: none 0.5s ease-in-out;
    transition: none 0.5s ease-in-out;
}

.slider__up {
    right: 0;
    position: absolute;
    top: 0;
    width: 100%;
    -webkit-transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
    transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
    z-index: 1;
}

@media all and (min-width: 56.25em) {
    .slider__up {
        width: 40%;
    }
}

.slider__txt {
    height: calc(100vh - 3rem * 2);
    opacity: 0;
    position: relative;
    -webkit-transition: opacity 0.35s linear;
    transition: opacity 0.35s linear;
    width: 100%;
}

.slider__txt.is-active {
    opacity: 1;
}

.slider__txtwrap {
    background: rgba(255, 255, 255, 0.7);
    color: #4e5360;
    font-style: normal;
    left: 4%;
    position: absolute;
    padding: 4rem;
    width: 92%;
    z-index: 2;
}

@media all and (max-width: 56.1875em) {
    .slider__txtwrap {
        bottom: 2%;
    }
}

@media all and (min-width: 56.25em) {
    .slider__txtwrap {
        left: 20%;
        max-width: 80%;
        padding: 0;
        text-align: left;
        top: 60%;
        -webkit-transform: translateY(-60%);
        transform: translateY(-60%);
        width: 36rem;
    }

    .slider__txtwrap:before {
        content: "";
        border-top: 1px solid #4e5360;
        position: absolute;
        width: calc(4rem + 15vw);
        height: calc(42% + 3vw);
        top: 20%;
        -webkit-transform: translate(-31%, -1.4vw) rotate(-58deg);
        transform: translate(-31%, -1.4vw) rotate(-58deg);
    }
}

.slider__txtwrap h1 {
    line-height: 1;
}

.slider__txtwrap h1 {
    font-size: 1.60181rem;
}

@media screen and (min-width: 20rem) {
    .slider__txtwrap h1 {
        font-size: calc(1.60181rem + 3.59977 * ((100vw - 20rem) / 113));
    }
}

@media screen and (min-width: 133rem) {
    .slider__txtwrap h1 {
        font-size: 5.20158rem;
    }
}

@media all and (min-width: 56.25em) {
    .slider__txtwrap h1 {
        text-align: center;
    }
}

.slider__category {
    color: #7a7e88;
    display: block;
    font-size: 0.6243rem;
    letter-spacing: 0.08em;
    text-indent: -3rem;
    text-transform: uppercase;
}

@media all and (min-width: 56.25em) {
    .slider__category {
        margin-left: -1vw;
    }
}

.slider__category:after {
    border-top: 1px solid #4e5360;
    content: "";
    position: absolute;
    left: -15vw;
    top: -1rem;
    opacity: 1;
    width: 15vw;
}

@media all and (max-width: 56.1875em) {
    .slider__category:after {
        left: -50%;
        top: 3rem;
        width: 100%;
    }
}

.slider__btn {
    color: #fff;
    float: left;
    font: 400 0.6243rem "Muli", sans-serif;
    letter-spacing: 0.08em;
    margin-top: calc(1.5rem + 0.25vw);
    position: relative;
    width: 164px;
    text-transform: uppercase;
}

@media (min-width: 769px) {
    .slider__btn {
        width: auto;
    }
}

.slider__btn__icon {
    float: right;
    display: inline-block;
    padding: 0.75rem 1.25rem;
    vertical-align: middle;
    text-align: right;
    -webkit-transition: all 0.5 cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: all 0.5 cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.slider__btn__icon > svg {
    fill: #fff;
    height: 1.35rem;
    position: relative;
    width: 1.35rem;
    z-index: 2;
}

.slider__btn__txt {
    display: inline-block;
    float: left;
    left: -60%;
    line-height: 2.8rem;
    opacity: 0;
    padding: 0 0.5rem 0 2.5rem;
    position: relative;
    -webkit-transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    visibility: hidden;
    z-index: 2;
}

.slider__btn:after {
    background: #2a2e30;
    content: "";
    height: 100%;
    width: 4.05rem;
    position: absolute;
    right: 0;
    opacity: 1;
    -webkit-transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    z-index: 1;
}

.slider__btn:hover .slider__btn__txt {
    color: #fff;
    left: 0;
    opacity: 1;
    visibility: visible;
}

.slider__btn:hover {
    color: #fff;
}

.slider__btn:hover:after {
    right: 0;
    opacity: 1;
    width: 100%;
}

/* Dots pagination ------------------------- */
.slider-dots {
    line-height: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

@media all and (min-width: 56.25em) {
    .slider-dots {
        position: absolute;
        width: 6px;
    }
}

.slider-dots--invisible {
    visibility: hidden;
}

@media all and (min-width: 56.25em) {
    .slider-dots--right {
        right: calc(-1.5rem - 6px);
        top: calc(50% - 1.5rem);
        -webkit-transform: translate(0, calc(100% - 1.5rem));
        transform: translate(0, calc(100% - 1.5rem));
    }
}

@media all and (min-width: 56.25em) {
    .slider-dots--left {
        left: calc(-1.5rem - 6px);
        top: calc(50% - 1.5rem);
        -webkit-transform: translate(0, calc(50% - 1.5rem));
        transform: translate(0, calc(50% - 1.5rem));
    }
}

.slider-dots__item {
    background: #838793 !important;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    height: 6px;
    opacity: .25;
    margin: calc(3rem / 2 - 6px) 6px;
    padding: 0;
    text-indent: -99999rem;
    width: 6px;
}

@media all and (min-width: 56.25em) {
    .slider-dots__item {
        display: block;
        margin: 6px 0;
    }
}

.slider-dots__item.is-active {
    opacity: 1;
}

/* Preloading ------------------------- */
.zoomIn {
    -webkit-animation: zoomIn 0.8s;
    animation: zoomIn 0.8s;
}

.js-loading .zoomIn {
    opacity: 0;
}

@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.88, 0.88, 0.88);
        transform: scale3d(0.88, 0.88, 0.88);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.88, 0.88, 0.88);
        transform: scale3d(0.88, 0.88, 0.88);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.slider-preloader {
    color: #fff;
    display: none;
    left: 50%;
    position: fixed;
    text-indent: -9999999rem;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.slider-preloader:before {
    -webkit-animation: long-scaling 0.5s infinite alternate;
    animation: long-scaling 0.5s infinite alternate;
    background: #4e5360;
    content: "";
    display: block;
    height: 1px;
    left: -5rem;
    position: absolute;
    width: 10rem;
    top: 0;
}

@-webkit-keyframes long-scaling {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes long-scaling {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.js-loading .slider-preloader {
    display: block;
}
