@import "https://fonts.googleapis.com/css2?family=Coda:wght@400;800&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
    display: block
}

*[hidden] {
    display: none
}

body {
    line-height: 1
}

menu, ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

:root {
    --color-black: #000;
    --color-white: #fff;
    --color-error: #ff1313;
    --color-success: #05a931;
    --color-default: #f5f5f5;
    --color-text: #000;
    --color-bg: #fff;
    --color-brand: #e9ffba;
    --color-pink: #febaff;
    --color-blue: #85d3ff;
    --color-blue-dark: #3702a9;
    --color-blue-dark-2: #2409c7;
    --color-green: #baffde;
    --color-white-transparent-1: rgba(255, 255, 255, .7);
    --color-white-transparent-2: rgba(255, 255, 255, .5)
}

:root {
    --wrapper-width: 232rem;
    --columns: 12;
    --margin: 14.4rem;
    --gutter: 3.2rem;
    --section-spacing: 10.4rem
}

@media screen and (max-width: 1679px) {
    :root {
        --margin: 6rem
    }
}

@media screen and (max-width: 1279px) {
    :root {
        --section-spacing: 8rem;
        --margin: 4rem
    }
}

@media screen and (max-width: 767px) {
    :root {
        --columns: 2;
        --margin: 2.5rem;
        --gutter: 2rem;
        --section-spacing: 6rem
    }
}

@supports (height: 100svh) {
    :root {
        --vh: 1svh
    }
}

.visually-hidden {
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    overflow: hidden;
    clip-path: inset(0 0 0 0);
    border: 0
}

.visually-hidden.focusable:active, .visually-hidden.focusable:focus {
    width: auto;
    height: auto;
    margin: 0;
    position: static;
    white-space: inherit;
    overflow: visible;
    clip: auto
}

@font-face {
    font-family: swiper-icons;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide, .swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }
    to {
        transform: rotate(360deg)
    }
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.fr-window, .fr-window [class^=fr-], .fr-overlay, .fr-overlay [class^=fr-], .fr-spinner, .fr-spinner [class^=fr-] {
    box-sizing: border-box
}

.fr-window {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font: 13px/20px Lucida Sans, Lucida Sans Unicode, Lucida Grande, Verdana, Arial, sans-serif;
    transform: translateZ(0)
}

.fr-overlay {
    z-index: 99998
}

.fr-window {
    z-index: 99999
}

.fr-spinner {
    z-index: 100000
}

.fr-overlay {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%
}

.fr-overlay-background {
    float: left;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .9;
    filter: alpha(opacity=90)
}

.fr-overlay-ui-fullclick .fr-overlay-background {
    background: #292929;
    opacity: 1;
    filter: alpha(opacity=100)
}

.fr-window.fr-mobile-touch, .fr-overlay.fr-mobile-touch {
    position: absolute;
    overflow: visible
}

.fr-measured {
    margin: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important
}

.fr-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.fr-pages {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fr-page {
    position: absolute;
    width: 100%;
    height: 100%
}

.fr-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    text-align: center
}

.fr-hovering-clickable .fr-container {
    cursor: pointer
}

.fr-ui-inside .fr-container, .fr-ui-inside.fr-no-sides .fr-container {
    padding: 20px
}

.fr-ui-outside .fr-container {
    padding: 20px 82px
}

.fr-ui-outside.fr-no-sides .fr-container {
    padding: 20px 48px
}

@media all and (max-width: 700px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 700px) {
    .fr-ui-inside .fr-container, .fr-ui-inside.fr-no-sides .fr-container {
        padding: 12px
    }

    .fr-ui-outside .fr-container {
        padding: 12px 72px
    }

    .fr-ui-outside.fr-no-sides .fr-container {
        padding: 12px 48px
    }
}

@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 500px) {
    .fr-ui-inside .fr-container, .fr-ui-inside.fr-no-sides .fr-container {
        padding: 0
    }

    .fr-ui-outside .fr-container {
        padding: 0 72px
    }

    .fr-ui-outside.fr-no-sides .fr-container {
        padding: 0 48px
    }
}

.fr-ui-fullclick .fr-container, .fr-ui-fullclick.fr-no-sides .fr-container {
    padding: 0
}

.fr-ui-fullclick.fr-type-video .fr-container {
    padding: 0 62px
}

.fr-ui-fullclick.fr-no-sides.fr-type-video .fr-container {
    padding: 48px 0
}

.fr-overflow-y .fr-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.fr-content, .fr-content-background {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: visible
}

.fr-content-element {
    float: left;
    width: 100%;
    height: 100%
}

.fr-content-background {
    background: #101010
}

.fr-info {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    color: #efefef;
    font-size: 13px;
    line-height: 20px;
    text-align: left;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text
}

.fr-info-background {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #000;
    line-height: 1%;
    filter: none;
    opacity: 1
}

.fr-ui-inside .fr-info-background {
    filter: alpha(opacity=80);
    opacity: .8;
    zoom: 1
}

.fr-ui-outside .fr-info-background {
    background: #0d0d0d
}

.fr-content .fr-info {
    top: auto;
    bottom: 0
}

.fr-info-padder {
    display: block;
    overflow: hidden;
    padding: 12px;
    position: relative;
    width: auto
}

.fr-caption {
    width: auto;
    display: inline
}

.fr-position {
    color: #b3b3b3;
    float: right;
    line-height: 21px;
    opacity: .99;
    position: relative;
    text-align: right;
    margin-left: 15px;
    white-space: nowrap
}

.fr-position-outside, .fr-position-inside {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 12px;
    width: auto;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    line-height: 20px;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .4);
    display: none;
    overflow: hidden;
    white-space: nowrap;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text
}

.fr-position-inside {
    border: 0
}

.fr-position-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0d0d0d;
    filter: alpha(opacity=80);
    opacity: .8;
    zoom: 1
}

.fr-position-text {
    color: #b3b3b3
}

.fr-position-outside .fr-position-text, .fr-position-inside .fr-position-text {
    float: left;
    position: relative;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
    opacity: 1
}

.fr-ui-outside .fr-position-outside {
    display: block
}

.fr-ui-outside .fr-info .fr-position {
    display: none
}

.fr-ui-inside.fr-no-caption .fr-position-inside {
    display: block
}

.fr-info a, .fr-info a:hover {
    color: #ccc;
    border: 0;
    background: none;
    text-decoration: underline
}

.fr-info a:hover {
    color: #eee
}

.fr-ui-outside.fr-no-caption .fr-info, .fr-ui-inside.fr-no-caption .fr-caption {
    display: none
}

.fr-stroke {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px
}

.fr-stroke-vertical {
    width: 1px;
    height: 100%
}

.fr-stroke-horizontal {
    padding: 0 1px
}

.fr-stroke-right {
    left: auto;
    right: 0
}

.fr-stroke-bottom {
    top: auto;
    bottom: 0
}

.fr-stroke-color {
    float: left;
    width: 100%;
    height: 100%;
    background: #ffffff14
}

.fr-info .fr-stroke-color {
    background: #5050504d
}

.fr-ui-outside.fr-has-caption .fr-content .fr-stroke-bottom, .fr-ui-fullclick .fr-stroke {
    display: none
}

.fr-ui-fullclick .fr-content-background {
    box-shadow: none
}

.fr-info .fr-stroke-top {
    display: none
}

.fr-side {
    position: absolute;
    top: 50%;
    width: 54px;
    height: 72px;
    margin: -36px 9px 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    zoom: 1
}

.fr-side-previous {
    left: 0
}

.fr-side-next {
    right: 0;
    left: auto
}

.fr-side-disabled {
    cursor: default
}

.fr-side-hidden {
    display: none !important
}

.fr-side-button {
    float: left;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0
}

.fr-side-button-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #101010
}

.fr-side-button-icon {
    float: left;
    position: relative;
    height: 100%;
    width: 100%;
    zoom: 1;
    background-position: 50% 50%;
    background-repeat: no-repeat
}

@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
    .fr-side {
        width: 54px;
        height: 60px;
        margin: -30px 0 0
    }

    .fr-side-button {
        width: 48px;
        height: 60px;
        margin: 0 3px
    }
}

.fr-close {
    position: absolute;
    width: 48px;
    height: 48px;
    top: 0;
    right: 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.fr-close-background, .fr-close-icon {
    position: absolute;
    top: 12px;
    left: 12px;
    height: 26px;
    width: 26px;
    background-position: 50% 50%;
    background-repeat: no-repeat
}

.fr-close-background {
    background-color: #000
}

.fr-thumbnails {
    position: absolute;
    overflow: hidden
}

.fr-thumbnails-disabled .fr-thumbnails {
    display: none !important
}

.fr-thumbnails-horizontal .fr-thumbnails {
    width: 100%;
    height: 12%;
    min-height: 74px;
    max-height: 160px;
    bottom: 0
}

.fr-thumbnails-vertical .fr-thumbnails {
    height: 100%;
    width: 10%;
    min-width: 74px;
    max-width: 160px;
    left: 0
}

.fr-thumbnails, .fr-thumbnails * {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fr-thumbnails-wrapper {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%
}

.fr-thumbnails-vertical .fr-thumbnails-wrapper {
    top: 50%;
    left: 0
}

.fr-thumbnails-slider {
    position: relative;
    width: 100%;
    height: 100%;
    float: left;
    zoom: 1
}

.fr-thumbnails-slider-slide {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
}

.fr-thumbnails-thumbs {
    float: left;
    height: 100%;
    overflow: hidden;
    position: relative;
    top: 0;
    left: 0
}

.fr-thumbnails-slide {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%
}

.fr-thumbnail-frame {
    position: absolute;
    zoom: 1;
    overflow: hidden
}

.fr-thumbnail {
    position: absolute;
    width: 30px;
    height: 100%;
    left: 50%;
    top: 50%;
    zoom: 1;
    cursor: pointer;
    margin: 0 10px
}

.fr-ltIE9 .fr-thumbnail * {
    overflow: hidden;
    z-index: 1;
    zoom: 1
}

.fr-thumbnail-wrapper {
    position: relative;
    background: #161616;
    width: 100%;
    height: 100%;
    float: left;
    overflow: hidden;
    display: inline;
    z-index: 0
}

.fr-thumbnail-overlay {
    cursor: pointer
}

.fr-thumbnail-active .fr-thumbnail-overlay {
    cursor: default
}

.fr-thumbnail-overlay, .fr-thumbnail-overlay-background, .fr-thumbnail-overlay-border {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-width: 0;
    overflow: hidden;
    border-style: solid;
    border-color: transparent
}

.fr-ltIE9 .fr-thumbnail-overlay-border {
    border-width: 0 !important
}

.fr-thumbnail .fr-thumbnail-image {
    position: absolute;
    filter: alpha(opacity=85);
    opacity: .85;
    max-width: none
}

.fr-thumbnail:hover .fr-thumbnail-image, .fr-thumbnail-active:hover .fr-thumbnail-image {
    filter: alpha(opacity=99);
    opacity: .99
}

.fr-thumbnail-active .fr-thumbnail-image, .fr-thumbnail-active:hover .fr-thumbnail-image {
    filter: alpha(opacity=35);
    opacity: .35
}

.fr-thumbnail-active {
    cursor: default
}

.fr-thumbnail-loading, .fr-thumbnail-loading-background, .fr-thumbnail-loading-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.fr-thumbnail-loading-background {
    background-color: #161616;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    opacity: .8;
    position: relative;
    float: left
}

.fr-thumbnail-loading-icon {
    display: none
}

.fr-thumbnail-error .fr-thumbnail-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #202020
}

.fr-thumbnails-side {
    float: left;
    height: 100%;
    width: 28px;
    margin: 0 5px;
    position: relative;
    overflow: hidden
}

.fr-thumbnails-side-previous {
    margin-left: 12px
}

.fr-thumbnails-side-next {
    margin-right: 12px
}

.fr-thumbnails-vertical .fr-thumbnails-side {
    height: 28px;
    width: 100%;
    margin: 10px 0
}

.fr-thumbnails-vertical .fr-thumbnails-side-previous {
    margin-top: 20px
}

.fr-thumbnails-vertical .fr-thumbnails-side-next {
    margin-bottom: 20px
}

.fr-thumbnails-side-button {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -14px;
    margin-left: -14px;
    width: 28px;
    height: 28px;
    cursor: pointer
}

.fr-thumbnails-side-button-background {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    filter: alpha(opacity=80);
    opacity: .8;
    -moz-transition: background-color .2s ease-in;
    -webkit-transition: background-color .2s ease-in;
    transition: background-color .2s ease-in;
    background-color: #333;
    cursor: pointer;
    border-radius: 4px
}

.fr-thumbnails-side-button:hover .fr-thumbnails-side-button-background {
    background-color: #3b3b3b
}

.fr-thumbnails-side-button-disabled * {
    cursor: default
}

.fr-thumbnails-side-button-disabled:hover .fr-thumbnails-side-button-background {
    background-color: #333
}

.fr-thumbnails-side-button-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.fr-thumbnails-vertical .fr-thumbnails-side, .fr-thumbnails-vertical .fr-thumbnails-thumbs, .fr-thumbnails-vertical .fr-thumbnail-frame {
    clear: both
}

.fr-window-ui-fullclick .fr-thumbnails {
    background: #090909
}

.fr-window-ui-fullclick.fr-thumbnails-enabled.fr-thumbnails-horizontal .fr-info .fr-stroke-bottom, .fr-window-ui-fullclick.fr-thumbnails-enabled.fr-thumbnails-vertical .fr-info .fr-stroke-left {
    display: block !important
}

.fr-thumbnails-horizontal .fr-thumbnails-thumbs {
    padding: 12px 5px
}

.fr-thumbnails-vertical .fr-thumbnails-thumbs {
    padding: 5px 12px
}

.fr-thumbnails-measured .fr-thumbnails-thumbs {
    padding: 0 !important
}

@media all and (min-height: 700px) {
    .fr-thumbnails-horizontal .fr-thumbnails-thumbs {
        padding: 16px 8px
    }

    .fr-thumbnails-horizontal .fr-thumbnails-side {
        margin: 0 8px
    }

    .fr-thumbnails-horizontal .fr-thumbnails-side-previous {
        margin-left: 16px
    }

    .fr-thumbnails-horizontal .fr-thumbnails-side-next {
        margin-right: 16px
    }
}

@media all and (min-height: 980px) {
    .fr-thumbnails-horizontal .fr-thumbnails-thumbs {
        padding: 20px 10px
    }

    .fr-thumbnails-horizontal .fr-thumbnails-side {
        margin: 0 10px
    }

    .fr-thumbnails-horizontal .fr-thumbnails-side-previous {
        margin-left: 20px
    }

    .fr-thumbnails-horizontal .fr-thumbnails-side-next {
        margin-right: 20px
    }
}

@media all and (min-width: 1200px) {
    .fr-thumbnails-vertical .fr-thumbnails-thumbs {
        padding: 8px 16px
    }

    .fr-thumbnails-vertical .fr-thumbnails-side {
        margin: 0 8px
    }

    .fr-thumbnails-vertical .fr-thumbnails-side-previous {
        margin-top: 16px
    }

    .fr-thumbnails-vertical .fr-thumbnails-side-next {
        margin-bottom: 16px
    }
}

@media all and (min-width: 1800px) {
    .fr-thumbnails-vertical .fr-thumbnails-thumbs {
        padding: 10px 20px
    }

    .fr-thumbnails-vertical .fr-thumbnails-side {
        margin: 10px 0
    }

    .fr-thumbnails-vertical .fr-thumbnails-side-previous {
        margin-top: 20px
    }

    .fr-thumbnails-vertical .fr-thumbnails-side-next {
        margin-bottom: 20px
    }
}

@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 500px) {
    .fr-thumbnails-horizontal .fr-thumbnails {
        display: none !important
    }
}

@media all and (max-width: 700px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
    .fr-thumbnails-vertical .fr-thumbnails {
        display: none !important
    }
}

@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
    .fr-page {
        min-width: 100%
    }

    .fr-page {
        min-height: 100%
    }
}

.fr-window-ui-fullclick .fr-side-next-outside, .fr-window-ui-fullclick .fr-side-previous-outside, .fr-window-ui-fullclick .fr-close-outside, .fr-window-ui-fullclick .fr-content .fr-side-next, .fr-window-ui-fullclick .fr-content .fr-side-previous, .fr-window-ui-fullclick .fr-content .fr-close, .fr-window-ui-fullclick .fr-content .fr-info, .fr-window-ui-outside .fr-side-next-fullclick, .fr-window-ui-outside .fr-side-previous-fullclick, .fr-window-ui-outside .fr-close-fullclick, .fr-window-ui-outside .fr-content .fr-side-next, .fr-window-ui-outside .fr-content .fr-side-previous, .fr-window-ui-outside .fr-content .fr-close, .fr-window-ui-outside .fr-content .fr-info, .fr-window-ui-inside .fr-page > .fr-info, .fr-window-ui-inside .fr-side-next-fullclick, .fr-window-ui-inside .fr-side-previous-fullclick, .fr-window-ui-inside .fr-close-fullclick, .fr-window-ui-inside .fr-side-next-outside, .fr-window-ui-inside .fr-side-previous-outside, .fr-window-ui-inside .fr-close-outside {
    display: none !important
}

.fr-toggle-ui {
    opacity: 0;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.fr-visible-fullclick-ui .fr-box > .fr-toggle-ui, .fr-visible-inside-ui .fr-ui-inside .fr-toggle-ui {
    opacity: 1
}

.fr-hidden-fullclick-ui .fr-box > .fr-toggle-ui, .fr-hidden-inside-ui .fr-ui-inside .fr-toggle-ui {
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.fr-ltIE9.fr-hidden-fullclick-ui .fr-box > .fr-toggle-ui, .fr-ltIE9.fr-hidden-inside-ui .fr-ui-inside .fr-toggle-ui {
    display: none
}

.fr-spinner {
    position: fixed;
    width: 52px;
    height: 52px;
    background: #101010;
    background: #101010d9;
    border-radius: 5px
}

.fr-spinner div {
    position: absolute;
    top: 0;
    left: 0;
    height: 64%;
    width: 64%;
    margin-left: 18%;
    margin-top: 18%;
    opacity: 1;
    -webkit-animation: fresco-12 1.2s infinite ease-in-out;
    animation: fresco-12 1.2s infinite ease-in-out
}

.fr-spinner div:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 8px;
    margin-left: -1px;
    background: #fff;
    box-shadow: 0 0 1px #0000
}

.fr-spinner div.fr-spin-1 {
    -ms-transform: rotate(30deg);
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s
}

.fr-spinner div.fr-spin-2 {
    -ms-transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-animation-delay: -1s;
    animation-delay: -1s
}

.fr-spinner div.fr-spin-3 {
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-animation-delay: -.9s;
    animation-delay: -.9s
}

.fr-spinner div.fr-spin-4 {
    -ms-transform: rotate(120deg);
    -webkit-transform: rotate(120deg);
    transform: rotate(120deg);
    -webkit-animation-delay: -.8s;
    animation-delay: -.8s
}

.fr-spinner div.fr-spin-5 {
    -ms-transform: rotate(150deg);
    -webkit-transform: rotate(150deg);
    transform: rotate(150deg);
    -webkit-animation-delay: -.7s;
    animation-delay: -.7s
}

.fr-spinner div.fr-spin-6 {
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-animation-delay: -.6s;
    animation-delay: -.6s
}

.fr-spinner div.fr-spin-7 {
    -ms-transform: rotate(210deg);
    -webkit-transform: rotate(210deg);
    transform: rotate(210deg);
    -webkit-animation-delay: -.5s;
    animation-delay: -.5s
}

.fr-spinner div.fr-spin-8 {
    -ms-transform: rotate(240deg);
    -webkit-transform: rotate(240deg);
    transform: rotate(240deg);
    -webkit-animation-delay: -.4s;
    animation-delay: -.4s
}

.fr-spinner div.fr-spin-9 {
    -ms-transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
    -webkit-animation-delay: -.3s;
    animation-delay: -.3s
}

.fr-spinner div.fr-spin-10 {
    -ms-transform: rotate(300deg);
    -webkit-transform: rotate(300deg);
    transform: rotate(300deg);
    -webkit-animation-delay: -.2s;
    animation-delay: -.2s
}

.fr-spinner div.fr-spin-11 {
    -ms-transform: rotate(330deg);
    -webkit-transform: rotate(330deg);
    transform: rotate(330deg);
    -webkit-animation-delay: -.1s;
    animation-delay: -.1s
}

.fr-spinner div.fr-spin-12 {
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

@-webkit-keyframes fresco-12 {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes fresco-12 {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

.fr-thumbnail-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -20px;
    width: 40px;
    height: 40px
}

.fr-thumbnail-spinner-spin {
    position: relative;
    float: left;
    margin: 8px 0 0 8px;
    text-indent: -9999em;
    border-top: 2px solid rgba(255, 255, 255, .2);
    border-right: 2px solid rgba(255, 255, 255, .2);
    border-bottom: 2px solid rgba(255, 255, 255, .2);
    border-left: 2px solid #fff;
    -webkit-animation: fr-thumbnail-spin 1.1s infinite linear;
    animation: fr-thumbnail-spin 1.1s infinite linear
}

.fr-thumbnail-spinner-spin, .fr-thumbnail-spinner-spin:after {
    border-radius: 50%;
    width: 24px;
    height: 24px
}

@-webkit-keyframes fr-thumbnail-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes fr-thumbnail-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.fr-error {
    float: left;
    position: relative;
    background-color: #ca3434;
    width: 160px;
    height: 160px
}

.fr-error-icon {
    position: absolute;
    width: 42px;
    height: 42px;
    top: 50%;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px
}

.fr-window-skin-fresco .fr-side-button-icon, .fr-window-skin-fresco .fr-close-icon, .fr-window-skin-fresco .fr-thumbnails-side-button-icon, .fr-window-skin-fresco .fr-error-icon {
    background-image: url(../img/icons/lightbox/sprite.svg)
}

.fr-window-skin-fresco.fr-no-svg .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-close-icon, .fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-button-icon, .fr-window-skin-fresco .fr-error-icon {
    background-image: url(../img/icons/lightbox/sprite.png)
}

.fr-window-skin-fresco .fr-error-icon {
    background-position: -160px -126px
}

.fr-window-skin-fresco .fr-content-background {
    background: #101010;
    box-shadow: 0 0 5px #0006
}

.fr-window-skin-fresco.fr-window-ui-fullclick .fr-content-background {
    box-shadow: none
}

.fr-window-skin-fresco .fr-side-button-background {
    background-color: transparent
}

.fr-window-skin-fresco .fr-side-previous .fr-side-button-icon {
    background-position: -13px -14px
}

.fr-window-skin-fresco .fr-side-next .fr-side-button-icon {
    background-position: -93px -14px
}

.fr-window-skin-fresco .fr-side-previous:hover .fr-side-button-icon {
    background-position: -13px -114px
}

.fr-window-skin-fresco .fr-side-next:hover .fr-side-button-icon {
    background-position: -93px -114px
}

.fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-previous .fr-side-button-icon {
    background-position: -13px -114px
}

.fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-next .fr-side-button-icon {
    background-position: -93px -114px
}

.fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled:hover .fr-side-button-icon {
    background-position: -13px -214px
}

.fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled:hover .fr-side-button-icon {
    background-position: -93px -214px
}

.fr-window-skin-fresco.fr-svg .fr-side-previous .fr-side-button-icon {
    background-position: -13px -114px
}

.fr-window-skin-fresco.fr-svg .fr-side-next .fr-side-button-icon {
    background-position: -93px -114px
}

.fr-window-skin-fresco.fr-svg .fr-side-button-icon {
    opacity: .5
}

.fr-window-skin-fresco.fr-svg .fr-side:hover .fr-side-button-icon, .fr-window-skin-fresco.fr-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon, .fr-window-skin-fresco.fr-svg .fr-hovering-next .fr-side-next .fr-side-button-icon {
    opacity: 1
}

.fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-side .fr-side-button-icon {
    opacity: .8
}

.fr-window-skin-fresco.fr-svg .fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-svg .fr-hovering-previous .fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-svg .fr-hovering-next .fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-svg .fr-side-disabled:hover .fr-side-button-icon, .fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-side-disabled .fr-side-button-icon {
    opacity: .2
}

.fr-window-skin-fresco.fr-window-ui-inside .fr-type-image .fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-window-ui-fullclick.fr-showing-type-image .fr-side-disabled .fr-side-button-icon {
    background-image: none
}

@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
    .fr-window-skin-fresco .fr-side-previous .fr-side-button-icon {
        background-position: 0px -300px
    }

    .fr-window-skin-fresco .fr-side-next .fr-side-button-icon {
        background-position: -48px -300px
    }

    .fr-window-skin-fresco .fr-side-previous:hover .fr-side-button-icon {
        background-position: 0px -360px
    }

    .fr-window-skin-fresco .fr-side-next:hover .fr-side-button-icon {
        background-position: -48px -360px
    }

    .fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-previous .fr-side-button-icon {
        background-position: 0px -360px
    }

    .fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-next .fr-side-button-icon {
        background-position: -48px -360px
    }

    .fr-window-skin-fresco.fr-svg .fr-side-previous .fr-side-button-icon {
        background-position: 0px -360px
    }

    .fr-window-skin-fresco.fr-svg .fr-side-next .fr-side-button-icon {
        background-position: -48px -360px
    }

    .fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled:hover .fr-side-button-icon {
        background-position: 0px -420px
    }

    .fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next.fr-side-disabled .fr-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled:hover .fr-side-button-icon {
        background-position: -48px -420px
    }
}

.fr-window-skin-fresco.fr-window-ui-outside .fr-close-background {
    background-color: #363636
}

.fr-window-skin-fresco.fr-window-ui-outside .fr-close:hover .fr-close-background {
    background-color: #434343
}

.fr-window-skin-fresco.fr-window-ui-inside .fr-close-background, .fr-window-skin-fresco.fr-window-ui-fullclick .fr-close-background {
    background-color: #131313;
    filter: alpha(opacity=80);
    opacity: .8
}

.fr-window-skin-fresco.fr-window-ui-inside .fr-close:hover .fr-close-background, .fr-window-skin-fresco.fr-window-ui-fullclick .fr-close:hover .fr-close-background {
    background-color: #191919
}

.fr-window-skin-fresco .fr-close .fr-close-icon {
    background-position: -168px -8px
}

.fr-window-skin-fresco .fr-close:hover .fr-close-icon {
    background-position: -210px -8px
}

.fr-window-skin-fresco.fr-svg .fr-close .fr-close-icon {
    background-position: -210px -8px;
    opacity: .8
}

.fr-window-skin-fresco .fr-close:hover .fr-close-icon, .fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-close .fr-close-icon, .fr-window-skin-fresco.fr-mobile-touch .fr-close:hover .fr-close-icon {
    opacity: 1
}

.fr-window-skin-fresco .fr-thumbnail-wrapper {
    border-color: transparent;
    border-style: solid;
    border-width: 0
}

.fr-window-skin-fresco .fr-thumbnail-wrapper {
    box-shadow: 0 0 3px #0000004d
}

.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-wrapper {
    box-shadow: 0 0 1px #0000001a
}

.fr-window-skin-fresco .fr-thumbnail-wrapper {
    box-shadow: 0 -1px 4px #0000004d
}

.fr-window-skin-fresco .fr-thumbnail-overlay-border {
    border-width: 1px;
    border-color: #ffffff14
}

.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-overlay-border, .fr-window-skin-fresco .fr-thumbnail-active:hover .fr-thumbnail-overlay-border {
    border: 0
}

.fr-window-skin-fresco .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon {
    background-position: -167px -49px
}

.fr-window-skin-fresco .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-icon {
    background-position: -209px -49px
}

.fr-window-skin-fresco .fr-thumbnails-side-next .fr-thumbnails-side-button-icon {
    background-position: -167px -91px
}

.fr-window-skin-fresco .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-icon {
    background-position: -209px -91px
}

.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon {
    background-position: -293px -49px
}

.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-icon {
    background-position: -335px -49px
}

.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-icon {
    background-position: -293px -91px
}

.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-icon {
    background-position: -335px -91px
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side .fr-thumbnails-side-button-icon {
    -moz-transition: opacity .2s ease-in;
    -webkit-transition: opacity .2s ease-in;
    transition: opacity .2s ease-in;
    opacity: .8
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled {
    background-position: -167px -49px
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled {
    background-position: -209px -91px
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-icon {
    opacity: 1
}

.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled {
    background-position: -293px -49px
}

.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled {
    background-position: -335px -91px
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side .fr-thumbnails-side-button-disabled, .fr-window-skin-fresco.fr-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-disabled {
    opacity: .5
}

.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
    background-position: -251px -49px
}

.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
    background-position: -251px -91px
}

.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-background, .fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-background {
    filter: alpha(opacity=50)
}

.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
    background-position: -377px -49px
}

.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon, .fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
    background-position: -377px -91px
}

@keyframes appear {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes disappear {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes appear-left {
    0% {
        transform: translate(4rem);
        opacity: 0
    }
    to {
        transform: translate(0);
        opacity: 1
    }
}

@keyframes appear-right {
    0% {
        transform: translate(-4rem);
        opacity: 0
    }
    to {
        transform: translate(0);
        opacity: 1
    }
}

@keyframes appear-up {
    0% {
        transform: translateY(4rem);
        opacity: 0
    }
    to {
        transform: translate(0);
        opacity: 1
    }
}

@keyframes appear-down {
    0% {
        transform: translateY(-4rem);
        opacity: 0
    }
    to {
        transform: translate(0);
        opacity: 1
    }
}

@keyframes slide-text {
    0% {
        transform: translateY(100%);
        opacity: 0
    }
    to {
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes button-pulse {
    0% {
        transform: scale(1)
    }
    50% {
        transform: scale(1.15)
    }
    to {
        transform: scale(1)
    }
}

@keyframes back-animation {
    0% {
        transform: translate(0)
    }
    50% {
        transform: translate(.5rem)
    }
    to {
        transform: translate(0)
    }
}

@keyframes forward-animation {
    0% {
        transform: translate(0)
    }
    50% {
        transform: translate(-.5rem)
    }
    to {
        transform: translate(0)
    }
}

[data-in-viewport] {
    animation-duration: .8s;
    animation-timing-function: ease;
    animation-fill-mode: forwards
}

[data-in-viewport][data-in-viewport-delay="1"] {
    animation-delay: .1s
}

[data-in-viewport][data-in-viewport-delay="2"] {
    animation-delay: .2s
}

[data-in-viewport][data-in-viewport-delay="3"] {
    animation-delay: .3s
}

[data-in-viewport][data-in-viewport-delay="4"] {
    animation-delay: .4s
}

[data-in-viewport][data-in-viewport-delay="5"] {
    animation-delay: .5s
}

[data-in-viewport][data-in-viewport-delay="6"] {
    animation-delay: .6s
}

[data-in-viewport][data-in-viewport-delay="7"] {
    animation-delay: .7s
}

[data-in-viewport][data-in-viewport-delay="8"] {
    animation-delay: .8s
}

[data-in-viewport][data-in-viewport-delay="9"] {
    animation-delay: .9s
}

[data-in-viewport][data-in-viewport-delay="10"] {
    animation-delay: 1s
}

[data-in-viewport][data-in-viewport-delay="11"] {
    animation-delay: 1.1s
}

[data-in-viewport][data-in-viewport-delay="12"] {
    animation-delay: 1.2s
}

[data-in-viewport][data-in-viewport-delay="13"] {
    animation-delay: 1.3s
}

[data-in-viewport][data-in-viewport-delay="14"] {
    animation-delay: 1.4s
}

[data-in-viewport=fade] {
    opacity: 0
}

[data-in-viewport=fade].is-in-viewport {
    animation-name: appear
}

[data-in-viewport=right] {
    opacity: 0
}

[data-in-viewport=right].is-in-viewport {
    animation-name: appear-left
}

[data-in-viewport=left] {
    opacity: 0
}

[data-in-viewport=left].is-in-viewport {
    animation-name: appear-right
}

[data-in-viewport=bottom] {
    opacity: 0
}

[data-in-viewport=bottom].is-in-viewport {
    animation-name: appear-up
}

[data-in-viewport=top] {
    opacity: 0
}

[data-in-viewport=top].is-in-viewport {
    animation-name: appear-down
}

[data-lazy-load], [data-video-autoplay], .media iframe {
    animation-duration: 1.2s;
    animation-timing-function: ease;
    animation-fill-mode: none;
    opacity: 0
}

[data-lazy-load].loaded, [data-video-autoplay].loaded, .media.has-started iframe {
    animation-name: appear;
    opacity: 1
}

* {
    cursor: none !important
}

@media screen and (max-width: 1023px) {
    * {
        cursor: auto !important
    }
}

body {
    font-family: Roboto, serif;
    font-size: 1.8rem;
    line-height: 1.2777777778;
    display: flex;
    flex-direction: column;
    min-height: calc(var(--vh, 1vh) * 100);
    color: var(--color-text);
    background-color: var(--color-bg)
}

@media screen and (max-width: 767px) {
    body {
        font-size: 1.6rem
    }
}

.overall {
    display: flex;
    flex-direction: column;
    min-height: calc(var(--vh, 1vh) * 100);
    padding-top: var(--header-height)
}

.ajax-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.ajax-wrapper.is-loading, [data-load-container].is-loading {
    pointer-events: none
}

::selection {
    text-shadow: none;
    background: #c8c8c840
}

#transition-overlay {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5995;
    visibility: hidden;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
    opacity: 0;
    background-color: #fff
}

.fb-xfbml-parse-ignore {
    visibility: hidden
}

* {
    outline: 0;
    -webkit-tap-highlight-color: transparent
}

*, *:before, *:after {
    box-sizing: border-box
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-size-adjust: 100%
}

button {
    text-transform: inherit;
    cursor: pointer
}

img, video, svg {
    display: block;
    width: 100%;
    height: auto
}

a {
    display: inline-block;
    color: inherit;
    text-decoration: none
}

a:link {
    -webkit-tap-highlight-color: transparent
}

address {
    font-style: normal
}

small {
    font-size: inherit
}

input, select, button, textarea {
    padding: 0;
    color: inherit;
    font: inherit;
    border: 0;
    border-radius: 0;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-font-smoothing: antialiased
}

textarea {
    resize: vertical
}

.burger {
    display: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    width: 2.4rem;
    height: 2rem;
    position: relative;
    z-index: 6001;
    color: var(--color-white);
    box-sizing: content-box;
    backface-visibility: hidden
}

.burger:before, .burger:after {
    transition: transform .3s
}

.burger-label {
    transition: .3s .2s;
    transition-property: opacity, transform
}

.menu-visible .burger:before, .menu-visible .burger:after {
    transform: none;
    animation-duration: .3s
}

.menu-visible .burger:before {
    animation-name: burger-squeeze-top
}

.menu-visible .burger-label {
    transition-delay: 0ms;
    opacity: 0
}

.menu-visible .burger:after {
    animation-name: burger-squeeze-bottom
}

@keyframes burger-squeeze-open-top {
    0% {
        transform: none
    }
    50% {
        transform: translateY(.9rem)
    }
}

@media screen and (max-width: 1023px) {
    .burger {
        display: flex
    }
}

.burger:before, .burger__label, .burger:after {
    border-bottom: .2rem solid currentcolor
}

.burger:before, .burger:after {
    content: "";
    display: block
}

.burger__label {
    font-size: 0
}

.menu-visible .burger:before {
    transform: translateY(.9rem) rotate(45deg)
}

.menu-visible .burger:after {
    transform: translateY(-.9rem) rotate(-45deg)
}

.menu-visible .burger__label {
    transform: scaleX(0)
}

.footer {
    margin-top: auto
}

.footer__main-content {
    border-top: 1px solid var(--color-white-transparent-2);
    background: var(--color-black);
    padding-block: 4.8rem 3.4rem
}

@media screen and (max-width: 1023px) {
    .footer__main-content {
        padding-block: 4rem
    }
}

.footer__main, .footer__additional {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter)
}

@media screen and (max-width: 1023px) {
    .footer__main, .footer__additional {
        row-gap: 3rem
    }
}

.footer__additional:not(:first-child) {
    margin-top: 5rem;
    padding-top: 3.4rem;
    border-top: 1px solid var(--color-white-transparent-2)
}

@media screen and (max-width: 1023px) {
    .footer__additional:not(:first-child) {
        margin-top: 3rem;
        padding-top: 3rem
    }
}

.footer__col--shortlinks-1, .footer__col--link-1 {
    grid-column-start: 1;
    grid-column-end: 3
}

@media screen and (max-width: 1023px) {
    .footer__col--shortlinks-1, .footer__col--link-1 {
        grid-column-start: 1;
        grid-column-end: 4
    }
}

@media screen and (max-width: 767px) {
    .footer__col--shortlinks-1, .footer__col--link-1 {
        grid-column-start: 1;
        grid-column-end: 2
    }
}

.footer__col--shortlinks-2, .footer__col--link-2 {
    grid-column-start: 3;
    grid-column-end: 5
}

@media screen and (max-width: 1023px) {
    .footer__col--shortlinks-2, .footer__col--link-2 {
        grid-column-start: 4;
        grid-column-end: 7
    }
}

@media screen and (max-width: 767px) {
    .footer__col--shortlinks-2, .footer__col--link-2 {
        grid-column-start: 2;
        grid-column-end: -1
    }
}

.footer__col--shortlinks-3, .footer__col--copyrights {
    grid-column-start: 5;
    grid-column-end: 10
}

@media screen and (max-width: 1023px) {
    .footer__col--shortlinks-3, .footer__col--copyrights {
        grid-column-start: 7;
        grid-column-end: -1
    }
}

@media screen and (max-width: 767px) {
    .footer__col--shortlinks-3, .footer__col--copyrights {
        grid-column: 1/-1
    }
}

.footer__col--search {
    grid-column-start: 11;
    grid-column-end: -1
}

@media screen and (max-width: 1365px) {
    .footer__col--search {
        grid-column-start: 10;
        grid-column-end: -1
    }
}

@media screen and (max-width: 1023px) {
    .footer__col--search {
        display: none
    }
}

.footer__col--dev {
    grid-column-start: 10;
    grid-column-end: -1
}

@media screen and (max-width: 1023px) {
    .footer__col--dev {
        grid-column: 1/-1
    }
}

.footer__title {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    display: block;
    margin-bottom: 2.4rem;
    color: var(--color-brand)
}

@media screen and (max-width: 767px) {
    .footer__title {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .footer__title {
        margin-bottom: 1.6rem
    }
}

.footer__link, .footer__copyrights {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    color: var(--color-white-transparent-1)
}

@media screen and (max-width: 767px) {
    .footer__link, .footer__copyrights {
        font-size: 1.6rem
    }
}

.footer__link {
    transition: color .3s ease
}

@media (hover: hover) {
    .footer__link:hover {
        color: var(--color-white)
    }
}

.footer__link:focus-visible {
    color: var(--color-white)
}

.header {
    width: 100%;
    padding-inline: var(--margin);
    display: flex;
    column-gap: 4.8rem;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6000;
    padding-block: 1.9rem;
    background: var(--header-background)
}

@media screen and (max-width: 1023px) {
    .header {
        column-gap: 3rem
    }
}

.header:before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    background: var(--color-white)
}

.header__logo {
    width: 15.6rem;
    margin-right: auto
}

.header__logo img, .header__logo svg {
    display: block;
    width: 100%
}

.header .search-form--default .search-form__results {
    background: var(--header-background)
}

.header__logo, .header__langs {
    position: relative;
    z-index: 3
}

.menu {
    display: flex;
    gap: 2.4rem;
    align-items: center
}

@media screen and (max-width: 1023px) {
    .menu {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 4rem 1rem;
        overflow-y: auto
    }
}

.menu__link {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    color: var(--color-white);
    transition: color .3s ease
}

@media screen and (max-width: 767px) {
    .menu__link {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .menu__link {
        font-family: Coda, serif;
        font-size: 3.3rem;
        line-height: 1.0606060606
    }
}

@media screen and (max-width: 1023px) and (max-width: 767px) {
    .menu__link {
        font-size: 2.4rem
    }
}

@media (hover: hover) {
    .menu__link:hover {
        color: var(--color-brand)
    }
}

.menu__link:focus-visible {
    color: var(--color-brand)
}

.menu__link.is-active {
    color: var(--color-brand)
}

.nav {
    display: flex;
    gap: 4.8rem;
    align-items: center
}

@media screen and (max-width: 1023px) {
    .nav {
        flex-direction: column;
        gap: 4rem;
        justify-content: center;
        width: 100%;
        height: 100%;
        padding: 14rem var(--margin) 3rem;
        position: fixed;
        top: 0;
        left: 0;
        visibility: hidden;
        transition: .3s ease;
        pointer-events: none;
        opacity: 0;
        background: var(--header-background)
    }

    .menu-visible .nav {
        visibility: visible;
        pointer-events: auto;
        opacity: 1
    }
}

.nav__search-form {
    width: 38.5rem
}

@media screen and (max-width: 1023px) {
    .nav__search-form {
        max-width: 100%
    }
}

@media screen and (max-width: 519px) {
    .nav__search-form {
        width: 100%
    }
}

.shortlinks {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem
}

@media screen and (max-width: 1023px) {
    .shortlinks {
        row-gap: 1rem
    }
}

.shortlinks__link {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    color: var(--color-white);
    transition: color .3s ease
}

@media screen and (max-width: 767px) {
    .shortlinks__link {
        font-size: 1.6rem
    }
}

@media (hover: hover) {
    .shortlinks__link:hover {
        color: var(--color-brand)
    }
}

.shortlinks__link:focus-visible {
    color: var(--color-brand)
}

.dev {
    display: flex;
    gap: 1.6rem;
    align-items: center;
    justify-content: flex-end
}

@media screen and (max-width: 1023px) {
    .dev {
        gap: 1rem;
        justify-content: flex-start
    }
}

.dev__label {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    color: var(--color-white)
}

@media screen and (max-width: 767px) {
    .dev__label {
        font-size: 1.6rem
    }
}

.dev__logo {
    width: 13.8rem
}

.dev__logo img, .dev__logo svg {
    display: block;
    width: 100%
}

.form {
    padding: 4rem;
    border-radius: 3rem;
    background: var(--color-default)
}

@media screen and (max-width: 1679px) {
    .form {
        padding: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .form {
        padding: 1.6rem 1.2rem;
        border-radius: 2rem
    }
}

.form__fields, .form__footer, .form__main {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.form__group, .form__alerts, .form__main, .form__button, .form__group--sum {
    width: calc(50% - var(--gutter) / 2)
}

@media screen and (max-width: 767px) {
    .form__group, .form__alerts, .form__main, .form__button, .form__group--sum {
        width: 100%
    }
}

.form__group {
    align-self: flex-start;
    margin-bottom: 2.4rem;
    position: relative
}

@media screen and (max-width: 767px) {
    .form__group {
        margin-bottom: 1.6rem
    }
}

.form__group--message {
    width: 100%
}

.form__group--sum {
    margin-bottom: 0
}

.form__main {
    row-gap: 1.6rem
}

.form__field {
    display: block;
    width: 100%;
    height: 4.2rem;
    padding: .9rem 2.4rem;
    color: var(--color-dark);
    text-align: left;
    transition: border-color .3s ease;
    border: 1px solid var(--color-black);
    border-radius: 3rem;
    background: var(--color-white)
}

.form__field--message {
    height: 15.8rem;
    padding-top: 1.5rem;
    resize: none;
    border-radius: 1.5rem
}

.has-error .form__field {
    border-color: var(--color-error)
}

.form__label {
    padding: .2rem 2.2rem;
    position: absolute;
    top: 50%;
    left: .2rem;
    color: var(--color-text);
    text-align: left;
    transition: .3s ease;
    transform: translateY(-50%);
    pointer-events: none;
    border-radius: 3rem;
    background: var(--color-white)
}

.form__label--message {
    top: 2rem
}

.form__field:not(:placeholder-shown) + .form__label, .form__field:focus + .form__label {
    margin-top: -2.3rem;
    padding: .2rem 1.4rem;
    color: var(--color-white);
    font-size: 1rem;
    font-weight: 700;
    transform: translate(1.6rem, -50%);
    background: var(--color-black)
}

.has-error .form__field:not(:placeholder-shown) + .form__label, .has-error .form__field:focus + .form__label {
    color: var(--color-error)
}

.has-error .form__label {
    color: var(--color-error)
}

.form__checkbox {
    width: 100%
}

.form__button.button {
    min-width: unset
}

@media screen and (max-width: 767px) {
    .form__button.button {
        width: auto;
        margin-inline: auto;
        min-width: 18rem
    }
}

@media screen and (max-width: 1023px) {
    .form__footer {
        row-gap: 1.6rem
    }
}

.button {
    --button-color-hover: var(--color-black);
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24.5rem;
    min-height: 4rem;
    padding: .9rem 3rem;
    color: var(--button-color);
    text-align: center;
    transition: .3s ease;
    border: 1px solid var(--button-color);
    border-radius: 3rem
}

@media screen and (max-width: 767px) {
    .button {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .button {
        min-width: unset
    }
}

@media screen and (max-width: 767px) {
    .button {
        padding: .6rem 2rem
    }
}

@media (hover: hover) {
    .button:hover {
        color: var(--button-color-hover);
        background-color: var(--button-color)
    }
}

.button:focus-visible {
    color: var(--button-color-hover);
    background-color: var(--button-color)
}

.alert {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem
}

.alert__message {
    display: flex;
    gap: .6rem
}

.alert__message.has-error {
    color: var(--color-error)
}

.alert__message.is-success {
    color: var(--color-success)
}

.alert__icon {
    align-self: start;
    width: 1.4rem
}

.alert__description {
    font-family: Roboto, serif;
    font-size: 1.2rem;
    line-height: 1.25;
    width: calc(100% - 2rem);
    margin-top: .1em
}

.checkbox {
    display: flex;
    position: relative;
    cursor: pointer;
    pointer-events: none
}

.checkbox__input {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0
}

.checkbox__icon {
    width: 1.6rem;
    height: 1.6rem;
    margin-top: -.15rem;
    transition: background-image .3s ease;
    pointer-events: all;
    background: url(../img/icons/common/checkbox.svg) center no-repeat;
    background-size: contain
}

.checkbox__input:checked + .checkbox__icon {
    background-image: url(../img/icons/common/checkbox-checked.svg)
}

.checkbox__desc {
    font-family: Roboto, serif;
    font-size: 1.2rem;
    line-height: 1.25;
    max-width: calc(100% - 1.6rem);
    margin-top: .02em;
    padding-left: .6rem;
    color: var(--color-black);
    pointer-events: all
}

.checkbox__desc a {
    font-weight: 700;
    transition: opacity .3s ease
}

@media (hover: hover) {
    .checkbox__desc a:hover {
        opacity: .6
    }
}

.checkbox__desc a:focus-visible {
    opacity: .6
}

.gallery {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    gap: var(--gutter)
}

@media screen and (max-width: 767px) {
    .gallery {
        gap: calc(var(--gutter) / 2)
    }
}

.gallery__link {
    display: block
}

@media (hover: hover) {
    .gallery__link:hover img, .gallery__link:hover video {
        transform: scale(1.05)
    }
}

.gallery__link:focus-visible img, .gallery__link:focus-visible video {
    transform: scale(1.05)
}

.gallery__media {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    border-radius: 1.5rem
}

@supports not (overflow: clip) {
    .gallery__media {
        overflow: hidden
    }
}

.gallery__media:before {
    content: "";
    display: block;
    padding-top: 52.6819923372%
}

.gallery__media video, .gallery__media img, .gallery__media iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.gallery__media video, .gallery__media img {
    object-fit: cover
}

.gallery__media img, .gallery__media video {
    transition: transform .3s ease
}

.search-form {
    position: relative;
    z-index: 4
}

.search-form__field {
    position: relative
}

.search-form__input {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    display: block;
    width: 100%;
    padding: 1rem 7.2rem 1rem 2rem;
    transition: .2s ease;
    border-width: 1px;
    border-style: solid;
    border-radius: 3rem
}

@media screen and (max-width: 767px) {
    .search-form__input {
        font-size: 1.6rem
    }
}

.search-form__input::-webkit-input-placeholder {
    color: var(--color-white);
    transition: opacity .3s ease;
    opacity: 1
}

.search-form__input:-moz-placeholder {
    color: var(--color-white);
    transition: opacity .3s ease;
    opacity: 1
}

.search-form__input::-moz-placeholder {
    color: var(--color-white);
    transition: opacity .3s ease;
    opacity: 1
}

.search-form__input:-ms-input-placeholder {
    color: var(--color-white);
    transition: opacity .3s ease;
    opacity: 1
}

.search-form--default .search-form__input {
    color: var(--color-white);
    border-color: var(--color-white)
}

.search-form--default .search-form__input::-webkit-input-placeholder {
    color: var(--color-white)
}

.search-form--default .search-form__input:-moz-placeholder {
    color: var(--color-white)
}

.search-form--default .search-form__input::-moz-placeholder {
    color: var(--color-white)
}

.search-form--default .search-form__input:-ms-input-placeholder {
    color: var(--color-white)
}

.search-form--brand .search-form__input {
    color: var(--color-brand);
    border-color: var(--color-brand)
}

.search-form--brand .search-form__input::-webkit-input-placeholder {
    color: var(--color-brand)
}

.search-form--brand .search-form__input:-moz-placeholder {
    color: var(--color-brand)
}

.search-form--brand .search-form__input::-moz-placeholder {
    color: var(--color-brand)
}

.search-form--brand .search-form__input:-ms-input-placeholder {
    color: var(--color-brand)
}

.search-form--main .search-form__input {
    color: var(--color-black);
    border-color: var(--color-black)
}

.search-form--main .search-form__input::-webkit-input-placeholder {
    color: var(--color-black)
}

.search-form--main .search-form__input:-moz-placeholder {
    color: var(--color-black)
}

.search-form--main .search-form__input::-moz-placeholder {
    color: var(--color-black)
}

.search-form--main .search-form__input:-ms-input-placeholder {
    color: var(--color-black)
}

.search-form__input:focus {
    border-radius: 2rem 2rem 0 0
}

/*@media screen and (max-width: 1023px) {*/
/*    .search-form__input:focus {*/
/*        border-radius: 2rem*/
/*    }*/
/*}*/

.search-form__input:focus::-webkit-input-placeholder {
    opacity: 0
}

.search-form__input:focus:-moz-placeholder {
    opacity: 0
}

.search-form__input:focus::-moz-placeholder {
    opacity: 0
}

.search-form__input:focus:-ms-input-placeholder {
    opacity: 0
}

.search-form:has(.search-form__results:hover) .search-form__input {
    border-radius: 2rem 2rem 0 0
}

@media screen and (max-width: 1023px) {
    .search-form:has(.search-form__results:hover) .search-form__input {
        border-radius: 2rem
    }
}

.search-form__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.2rem;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2
}

@media (hover: hover) {
    .search-form__button:hover img, .search-form__button:hover svg {
        animation: button-pulse .5s linear
    }
}

.search-form__button:focus-visible img, .search-form__button:focus-visible svg {
    animation: button-pulse .5s linear
}

.search-form__button img, .search-form__button svg {
    width: 1.6rem
}

.search-form--default .search-form__button path {
    fill: var(--color-white)
}

.search-form--brand .search-form__button path {
    fill: var(--color-brand)
}

.search-form--main .search-form__button path {
    fill: var(--color-black)
}

.search-form__results {
    overflow: clip;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    transition: opacity .2s ease, transform .2s ease;
    transform: translateY(-.8rem);
    pointer-events: none;
    opacity: 0;
    border-width: 1px;
    border-style: solid;
    border-top: none;
    border-bottom-right-radius: 2rem;
    border-bottom-left-radius: 2rem
}

@supports not (overflow: clip) {
    .search-form__results {
        overflow: hidden
    }
}

/*@media screen and (max-width: 1023px) {*/
/*    .search-form__results {*/
/*        display: none*/
/*    }*/
/*}*/

@media (hover: hover) {
    .search-form__results:hover {
        transform: translateY(0);
        pointer-events: all;
        opacity: 1
    }
}

.search-form__results:focus-visible {
    transform: translateY(0);
    pointer-events: all;
    opacity: 1
}

.search-form:has(.search-form__input:focus) .search-form__results {
    transform: translateY(0);
    pointer-events: all;
    opacity: 1
}

.search-form--default .search-form__results {
    color: var(--color-white);
    border-color: var(--color-white);
    background: var(--color-black)
}

.search-form--brand .search-form__results {
    color: var(--color-brand);
    border-color: var(--color-brand);
    background: var(--color-black)
}

.search-form--main .search-form__results {
    color: var(--color-black);
    border-color: var(--color-black);
    background: var(--color-white)
}

.search-form--default .search-form__result:not(:last-child) {
    border-bottom: 1px solid var(--color-white)
}

.search-form--brand .search-form__result:not(:last-child) {
    border-bottom: 1px solid var(--color-brand)
}

.search-form--main .search-form__result:not(:last-child) {
    border-bottom: 1px solid var(--color-black)
}

.search-form__link {
    padding: .9rem 2rem;
    transition: color .3s ease, opacity .3s ease
}

@media (hover: hover) {
    .search-form__link:hover {
        color: var(--color-brand)
    }

    .search-form--main .search-form__link:hover {
        color: var(--color-black);
        opacity: .6
    }
}

.search-form__link:focus-visible {
    color: var(--color-brand)
}

.search-form--main .search-form__link:focus-visible {
    color: var(--color-black);
    opacity: .6
}

.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap
}

.breadcrumbs__item {
    font-family: Roboto, serif;
    font-size: 1.2rem;
    line-height: 1.25
}

.breadcrumbs__item:not(:is(:last-child)):after {
    content: ">";
    margin-right: .2rem;
    color: var(--color-white)
}

.breadcrumbs__link {
    color: var(--color-white);
    transition: color .3s ease
}

@media (hover: hover) {
    .breadcrumbs__link:hover {
        color: var(--color-brand)
    }
}

.breadcrumbs__link:focus-visible {
    color: var(--color-brand)
}

.socials {
    display: flex;
    flex-direction: column;
    row-gap: 1.3rem
}

.socials__list {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem
}

@media screen and (max-width: 1023px) {
    .socials__list {
        gap: 1.4rem
    }
}

@media screen and (max-width: 767px) {
    .socials__list {
        gap: 1rem
    }
}

.socials__link {
    display: block;
    width: 4.1rem
}

@media (hover: hover) {
    .socials__link:hover img, .socials__link:hover svg {
        animation: button-pulse .5s linear
    }
}

.socials__link:focus-visible img, .socials__link:focus-visible svg {
    animation: button-pulse .5s linear
}

@media screen and (max-width: 1023px) {
    .socials__link {
        width: 3.6rem
    }
}

@media screen and (max-width: 767px) {
    .socials__link {
        width: 2.4rem
    }
}

.socials__link img, .socials__link svg {
    display: block;
    width: 100%
}

.socials__text {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043;
    color: var(--color-brand)
}

@media screen and (max-width: 767px) {
    .socials__text {
        font-size: 2rem
    }
}

.langs {
    display: flex;
    gap: 1.6rem;
    align-items: center
}

.langs__link {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    color: var(--color-white);
    text-transform: uppercase;
    transition: color .3s ease
}

@media screen and (max-width: 767px) {
    .langs__link {
        font-size: 1.6rem
    }
}

@media (hover: hover) {
    .langs__link:hover {
        color: var(--color-brand)
    }
}

.langs__link:focus-visible {
    color: var(--color-brand)
}

.langs__link.is-active {
    color: var(--color-brand)
}

.back {
    display: inline-flex;
    column-gap: .8rem;
    align-items: center
}

@media (hover: hover) {
    .back:hover .back__icon {
        animation: back-animation .5s linear
    }
}

.back:focus-visible .back__icon {
    animation: back-animation .5s linear
}

.back__icon {
    width: 1.6rem;
    margin-bottom: .2em
}

@media screen and (max-width: 767px) {
    .back__icon {
        width: 1.4rem;
        margin-bottom: .1em
    }
}

.back__label {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .back__label {
        font-size: 2rem
    }
}

@media screen and (max-width: 767px) {
    .back__label {
        font-family: Coda, serif;
        font-size: 1.8rem;
        line-height: 1.2222222222
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .back__label {
        font-size: 1.6rem
    }
}

.content__heading:not(:last-child), .content__info:not(:last-child) {
    margin-bottom: 3.2rem
}

.content__heading {
    font-family: Coda, serif;
    font-size: 3.3rem;
    line-height: 1.0606060606
}

@media screen and (max-width: 767px) {
    .content__heading {
        font-size: 2.4rem
    }
}

.content__lead {
    font-family: Roboto, serif;
    font-size: 2.6rem;
    line-height: 1.1538461538
}

@media screen and (max-width: 767px) {
    .content__lead {
        font-size: 2rem
    }
}

.content__lead:not(:last-child) {
    margin-bottom: 2.4rem
}

.content__media:not(:last-child), .content__quote:not(:last-child), .content__description:not(:last-child), .content__info-box:not(:last-child), .content__images:not(:last-child), .content__gallery:not(:last-child), .content__nav:not(:last-child), .content__related-posts:not(:last-child) {
    margin-bottom: 8rem
}

@media screen and (max-width: 1439px) {
    .content__media:not(:last-child), .content__quote:not(:last-child), .content__description:not(:last-child), .content__info-box:not(:last-child), .content__images:not(:last-child), .content__gallery:not(:last-child), .content__nav:not(:last-child), .content__related-posts:not(:last-child) {
        margin-bottom: 6rem
    }
}

@media screen and (max-width: 1023px) {
    .content__media:not(:last-child), .content__quote:not(:last-child), .content__description:not(:last-child), .content__info-box:not(:last-child), .content__images:not(:last-child), .content__gallery:not(:last-child), .content__nav:not(:last-child), .content__related-posts:not(:last-child) {
        margin-bottom: 4rem
    }
}

.content__media picture {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    border-radius: 1.5rem
}

@supports not (overflow: clip) {
    .content__media picture {
        overflow: hidden
    }
}

.content__media picture:before {
    content: "";
    display: block;
    padding-top: 55.9888579387%
}

.content__media picture video, .content__media picture img, .content__media picture iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.content__media picture video, .content__media picture img {
    object-fit: cover
}

.content__media figcaption {
    font-family: Roboto, serif;
    font-size: 1.5rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .content__media figcaption {
        font-size: 1.4rem
    }
}

.content__media figcaption:not(:first-child) {
    margin-top: 1.6rem
}

.content__quote {
    font-family: Coda, serif;
    font-size: 2.8rem;
    line-height: 1.1785714286;
    max-width: 80rem;
    padding: 1.85rem 0 1.85rem 3.5rem;
    font-family: Roboto, serif;
    border-left: 2px solid var(--color-black)
}

@media screen and (max-width: 767px) {
    .content__quote {
        font-size: 2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .content__quote {
        padding: 1.2rem 0 1.2rem 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .content__quote {
        padding: .4rem 0 .4rem 1.6rem
    }
}

.content__description h1, .content__description h2, .content__description h3, .content__description h4, .content__description h5, .content__description h6 {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .content__description h1, .content__description h2, .content__description h3, .content__description h4, .content__description h5, .content__description h6 {
        font-size: 2rem
    }
}

.content__description b, .content__description strong {
    font-family: Roboto, serif;
    font-size: 1.8rem;
    line-height: 1.2777777778;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .content__description b, .content__description strong {
        font-size: 1.6rem
    }
}

.content__description ul {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
    padding-top: 1rem
}

@media screen and (max-width: 767px) {
    .content__description ul {
        row-gap: 1rem;
        padding-top: 0
    }
}

.content__description ul li {
    font-family: Roboto, serif;
    font-size: 1.8rem;
    line-height: 1.2777777778;
    font-weight: 600;
    padding-left: 3.8rem;
    position: relative
}

@media screen and (max-width: 767px) {
    .content__description ul li {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 767px) {
    .content__description ul li {
        padding-left: 2.4rem
    }
}

.content__description ul li:after {
    content: "";
    width: 2.2rem;
    height: 1.8rem;
    position: absolute;
    top: .02em;
    left: 0;
    background: url(../img/icons/common/list.svg) no-repeat;
    background-size: contain
}

@media screen and (max-width: 767px) {
    .content__description ul li:after {
        width: 1.4rem;
        top: .2em
    }
}

.content__description ol {
    padding-left: 1em;
    list-style: auto;
    list-style-position: outside
}

.content__description a {
    display: inline-block;
    position: relative
}

.content__description a:after {
    content: "";
    display: block;
    height: .05em;
    min-height: 1px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background: currentColor
}

@media (hover: hover) {
    .content__description a:hover:after {
        transform: scaleX(0)
    }
}

.content__description a:focus-visible:after {
    transform: scaleX(0)
}

.content__description a:after {
    transition: transform .3s ease;
    transform-origin: right center
}

.content__description u {
    text-decoration: underline
}

.content__description em, .content__description i {
    font-style: italic
}

.latest-articles__title {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .latest-articles__title {
        font-size: 2rem
    }
}

.latest-articles__title:not(:last-child) {
    margin-bottom: 2.4rem
}

.latest-articles__list {
    display: flex;
    flex-direction: column;
    row-gap: 4rem
}

@media screen and (max-width: 1023px) {
    .latest-articles__list {
        display: grid;
        grid-template-columns:repeat(2, 1fr);
        gap: var(--gutter)
    }
}

@media screen and (max-width: 767px) {
    .latest-articles__list {
        grid-template-columns:repeat(1, 1fr)
    }
}

.latest-article {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem
}

@media screen and (max-width: 767px) {
    .latest-article {
        row-gap: 1.2rem
    }
}

@media (hover: hover) {
    .latest-article:hover .latest-article__media img, .latest-article:hover .latest-article__media video {
        transform: scale(1.05)
    }
}

.latest-article:focus-visible .latest-article__media img, .latest-article:focus-visible .latest-article__media video {
    transform: scale(1.05)
}

.latest-article__media {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    border-radius: 1.5rem
}

@supports not (overflow: clip) {
    .latest-article__media {
        overflow: hidden
    }
}

.latest-article__media:before {
    content: "";
    display: block;
    padding-top: 57.2916666667%
}

.latest-article__media video, .latest-article__media img, .latest-article__media iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.latest-article__media video, .latest-article__media img {
    object-fit: cover
}

.latest-article__media img, .latest-article__media video {
    transition: transform .3s ease
}

.info-box {
    display: flex;
    flex-direction: column;
    row-gap: 4rem;
    padding: 4.8rem 4rem;
    border-radius: 3rem;
    background: var(--color-default)
}

@media screen and (max-width: 1679px) {
    .info-box {
        row-gap: 3rem;
        padding: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .info-box {
        row-gap: 2.4rem;
        padding: 1.6rem 1.2rem;
        border-radius: 2rem
    }
}

.info-box__title {
    font-family: Roboto, serif;
    font-size: 2.6rem;
    line-height: 1.1538461538
}

@media screen and (max-width: 767px) {
    .info-box__title {
        font-size: 2rem
    }
}

.info-box__title:not(:last-child) {
    margin-bottom: 1.6rem
}

@media screen and (max-width: 767px) {
    .info-box__title:not(:last-child) {
        margin-bottom: 1.2rem
    }
}

.info-box__description h1, .info-box__description h2, .info-box__description h3, .info-box__description h4, .info-box__description h5, .info-box__description h6 {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .info-box__description h1, .info-box__description h2, .info-box__description h3, .info-box__description h4, .info-box__description h5, .info-box__description h6 {
        font-size: 2rem
    }
}

.info-box__description b, .info-box__description strong {
    font-family: Roboto, serif;
    font-size: 1.8rem;
    line-height: 1.2777777778;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .info-box__description b, .info-box__description strong {
        font-size: 1.6rem
    }
}

.info-box__description ul {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
    padding-top: 1rem
}

@media screen and (max-width: 767px) {
    .info-box__description ul {
        row-gap: 1rem;
        padding-top: 0
    }
}

.info-box__description ul li {
    font-family: Roboto, serif;
    font-size: 1.8rem;
    line-height: 1.2777777778;
    font-weight: 600;
    padding-left: 3.8rem;
    position: relative
}

@media screen and (max-width: 767px) {
    .info-box__description ul li {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 767px) {
    .info-box__description ul li {
        padding-left: 2.4rem
    }
}

.info-box__description ul li:after {
    content: "";
    width: 2.2rem;
    height: 1.8rem;
    position: absolute;
    top: .02em;
    left: 0;
    background: url(../img/icons/common/list.svg) no-repeat;
    background-size: contain
}

@media screen and (max-width: 767px) {
    .info-box__description ul li:after {
        width: 1.4rem;
        top: .2em
    }
}

.info-box__description ol {
    padding-left: 1em;
    list-style: auto;
    list-style-position: outside
}

.info-box__description a {
    display: inline-block;
    position: relative
}

.info-box__description a:after {
    content: "";
    display: block;
    height: .05em;
    min-height: 1px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background: currentColor
}

@media (hover: hover) {
    .info-box__description a:hover:after {
        transform: scaleX(0)
    }
}

.info-box__description a:focus-visible:after {
    transform: scaleX(0)
}

.info-box__description a:after {
    transition: transform .3s ease;
    transform-origin: right center
}

.info-box__description u {
    text-decoration: underline
}

.info-box__description em, .info-box__description i {
    font-style: italic
}

.category {
    font-family: Roboto, serif;
    font-size: 1.2rem;
    line-height: 1.25;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .7rem 2rem;
    color: var(--color-black);
    text-align: center;
    transition: background-color .3s ease;
    border: 1px solid var(--color-black);
    border-radius: 3rem;
    background: var(--category-background)
}

@media (hover: hover) {
    .category:hover {
        background-color: var(--category-background-hover)
    }
}

.category:focus-visible {
    background-color: var(--category-background-hover)
}

.category--filter {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    padding: 1rem 2rem
}

@media screen and (max-width: 767px) {
    .category--filter {
        font-size: 1.6rem
    }
}

.category.is-active {
    background-color: var(--category-background-hover)
}

.reading-time {
    font-family: Roboto, serif;
    font-size: 1.2rem;
    line-height: 1.25;
    display: inline-flex;
    gap: .4rem;
    align-items: center;
    justify-content: center;
    padding: .7rem 2rem;
    color: var(--color-black);
    text-align: center;
    border: 1px solid var(--color-black);
    border-radius: 3rem;
    background: var(--color-white)
}

.reading-time__icon {
    width: 1.14rem
}

.hero-info {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem
}

.content-info {
    display: flex;
    gap: 2.4rem;
    align-items: center
}

@media screen and (max-width: 767px) {
    .content-info {
        flex-direction: column;
        gap: 1.2rem;
        align-items: flex-start
    }
}

.content-info__author a, .content-info__author b, .content-info__author strong {
    font-family: Roboto, serif;
    font-size: 1.8rem;
    line-height: 1.2777777778;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .content-info__author a, .content-info__author b, .content-info__author strong {
        font-size: 1.6rem
    }
}

.content-info__author a {
    transition: opacity .3s ease
}

@media (hover: hover) {
    .content-info__author a:hover {
        opacity: .6
    }
}

.content-info__author a:focus-visible {
    opacity: .6
}

.content-info__share {
    margin-left: auto
}

@media screen and (max-width: 767px) {
    .content-info__share {
        margin-left: 0
    }
}

.share {
    display: flex;
    gap: 1.6rem
}

@media screen and (max-width: 1023px) {
    .share {
        gap: 1.4rem
    }
}

@media screen and (max-width: 767px) {
    .share {
        gap: 1rem
    }
}

.share__link {
    display: block;
    width: 3.32rem
}

@media screen and (max-width: 1023px) {
    .share__link {
        width: 3rem
    }
}

@media screen and (max-width: 767px) {
    .share__link {
        width: 2.4rem
    }
}

@media (hover: hover) {
    .share__link:hover img, .share__link:hover svg {
        animation: button-pulse .5s linear
    }
}

.share__link:focus-visible img, .share__link:focus-visible svg {
    animation: button-pulse .5s linear
}

.share__link img, .share__link svg {
    display: block;
    width: 100%
}

.content-images {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    gap: var(--gutter)
}

@media screen and (max-width: 767px) {
    .content-images {
        grid-template-columns:repeat(1, 1fr)
    }
}

.content-images__media picture {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    border-radius: 1.5rem
}

@supports not (overflow: clip) {
    .content-images__media picture {
        overflow: hidden
    }
}

.content-images__media picture:before {
    content: "";
    display: block;
    padding-top: 52.6819923372%
}

.content-images__media picture video, .content-images__media picture img, .content-images__media picture iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.content-images__media picture video, .content-images__media picture img {
    object-fit: cover
}

.content-images__media figcaption {
    font-family: Roboto, serif;
    font-size: 1.5rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .content-images__media figcaption {
        font-size: 1.4rem
    }
}

.content-images__media figcaption:not(:first-child) {
    margin-top: 1.6rem
}

@media screen and (max-width: 767px) {
    .content-images__media figcaption:not(:first-child) {
        margin-top: 1.2rem
    }
}

.content-nav {
    display: flex;
    gap: var(--gutter);
    align-items: center;
    justify-content: space-between
}

.content-nav__link {
    display: inline-flex;
    gap: .8rem;
    align-items: center
}

@media (hover: hover) {
    .content-nav__link--prev:hover .content-nav__icon {
        animation: back-animation .5s linear
    }
}

.content-nav__link--prev:focus-visible .content-nav__icon {
    animation: back-animation .5s linear
}

@media (hover: hover) {
    .content-nav__link--next:hover .content-nav__icon {
        animation: forward-animation .5s linear
    }
}

.content-nav__link--next:focus-visible .content-nav__icon {
    animation: forward-animation .5s linear
}

.content-nav__icon {
    width: 2.3rem;
    margin-bottom: .2em
}

@media screen and (max-width: 767px) {
    .content-nav__icon {
        width: 1.4rem;
        margin-bottom: .1em
    }
}

.content-nav__label {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .content-nav__label {
        font-size: 2rem
    }
}

@media screen and (max-width: 767px) {
    .content-nav__label {
        font-family: Coda, serif;
        font-size: 1.8rem;
        line-height: 1.2222222222
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .content-nav__label {
        font-size: 1.6rem
    }
}

.related-posts__title {
    font-family: Coda, serif;
    font-size: 3.3rem;
    line-height: 1.0606060606
}

@media screen and (max-width: 767px) {
    .related-posts__title {
        font-size: 2.4rem
    }
}

.related-posts__title:not(:last-child) {
    margin-bottom: 2.4rem
}

.related-posts__list {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    gap: 10.4rem var(--gutter)
}

@media screen and (max-width: 1023px) {
    .related-posts__list {
        gap: var(--gutter)
    }
}

@media screen and (max-width: 767px) {
    .related-posts__list {
        grid-template-columns:repeat(1, 1fr)
    }
}

.post-tile {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    position: relative
}

@media screen and (max-width: 767px) {
    .post-tile {
        gap: 1.2rem
    }
}

@media (hover: hover) {
    .post-tile:hover .post-tile__media img, .post-tile:hover .post-tile__media video {
        transform: scale(1.05)
    }
}

.post-tile:focus-visible .post-tile__media img, .post-tile:focus-visible .post-tile__media video {
    transform: scale(1.05)
}

.post-tile__categories {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    width: 100%;
    padding: 1.9rem 1.6rem 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}

@media screen and (max-width: 1023px) {
    .post-tile__categories {
        padding: 1.4rem 1.4rem 0
    }
}

.post-tile__media {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem
}

@supports not (overflow: clip) {
    .post-tile__media {
        overflow: hidden
    }
}

.post-tile__media:before {
    content: "";
    display: block;
    padding-top: 47.8011472275%
}

.post-tile__media video, .post-tile__media img, .post-tile__media iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.post-tile__media video, .post-tile__media img {
    object-fit: cover
}

.featured-items .post-tile__media {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative
}

@supports not (overflow: clip) {
    .featured-items .post-tile__media {
        overflow: hidden
    }
}

.featured-items .post-tile__media:before {
    content: "";
    display: block;
    padding-top: 41.7439703154%
}

.featured-items .post-tile__media video, .featured-items .post-tile__media img, .featured-items .post-tile__media iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.featured-items .post-tile__media video, .featured-items .post-tile__media img {
    object-fit: cover
}

.post-tile__media img, .post-tile__media video {
    transition: transform .3s ease
}

.featured-items .post-tile__title, .items-list .post-tile__title, .featured-items .post-tile__description, .items-list .post-tile__description {
    color: var(--color-white)
}

.post-tile__title {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .post-tile__title {
        font-size: 2rem
    }
}

.post-reading {
    display: inline-flex;
    gap: .8rem;
    align-items: center
}

.post-reading__icon {
    width: 1.2rem
}

.featured-items .post-reading__icon path, .items-list .post-reading__icon path {
    fill: var(--color-white)
}

.post-reading__label {
    font-family: Roboto, serif;
    font-size: 1.5rem;
    line-height: 1.2
}

@media screen and (max-width: 767px) {
    .post-reading__label {
        font-size: 1.4rem
    }
}

.featured-items .post-reading__label, .items-list .post-reading__label {
    color: var(--color-white)
}

.page-nav__title {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .page-nav__title {
        font-size: 2rem
    }
}

.page-nav__title:not(:last-child) {
    margin-bottom: 2.4rem
}

.page-nav__menu {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem
}

@media screen and (max-width: 1023px) {
    .page-nav__menu {
        row-gap: 1rem
    }
}

.page-nav__link {
    transition: opacity .3s ease
}

@media (hover: hover) {
    .page-nav__link:hover {
        opacity: .6
    }
}

.page-nav__link:focus-visible {
    opacity: .6
}

.page-categories__title {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043
}

@media screen and (max-width: 767px) {
    .page-categories__title {
        font-size: 2rem
    }
}

.page-categories__title:not(:last-child) {
    margin-bottom: 2.4rem
}

.page-categories__list {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem .4rem;
    padding-right: 33%
}

@media screen and (max-width: 1679px) {
    .page-categories__list {
        padding-right: 0
    }
}

.pagination {
    display: flex;
    align-items: center;
    width: 100%
}

.pagination__nav, .pagination__page, .pagination__select {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    height: 4.4rem;
    margin-right: .4rem;
    border: 1px solid var(--color-black)
}

@media screen and (max-width: 767px) {
    .pagination__nav, .pagination__page, .pagination__select {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1365px) {
    .pagination__nav, .pagination__page, .pagination__select {
        height: 3.6rem
    }
}

.pagination__nav:last-child, .pagination__page:last-child, .pagination__select:last-child {
    margin-right: 0
}

.pagination__nav, .pagination__page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.4rem;
    border-radius: 50%
}

@media screen and (max-width: 1365px) {
    .pagination__nav, .pagination__page {
        width: 3.6rem
    }
}

.pagination__nav {
    transition: opacity .3s ease
}

@media (hover: hover) {
    .pagination__nav:hover {
        opacity: .6
    }
}

.pagination__nav:focus-visible {
    opacity: .6
}

.pagination__nav img, .pagination__nav svg {
    width: .7rem
}

.pagination__page {
    line-height: 1;
    transition: background-color .3s ease, color .3s ease, border-color .3s ease
}

@media screen and (max-width: 1023px) {
    .pagination__page {
        display: none
    }
}

@media (hover: hover) {
    .pagination__page:hover {
        color: var(--color-white);
        background-color: var(--color-black)
    }
}

.pagination__page:focus-visible {
    color: var(--color-white);
    background-color: var(--color-black)
}

.pagination__page.is-active {
    color: var(--color-white);
    background-color: var(--color-black)
}

.pagination__select {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222;
    min-width: 9rem;
    height: 4.4rem;
    padding: 1rem 3.5rem 1rem 2rem;
    cursor: pointer;
    border-radius: 3rem;
    background: transparent url(./../img/icons/common/pagination-dropdown.svg) center right 2rem no-repeat;
    background-size: .75rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

@media screen and (max-width: 767px) {
    .pagination__select {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1365px) {
    .pagination__select {
        height: 3.6rem;
        padding: .5rem 3.5rem .5rem 2rem;
        background-position: center right 1.6rem;
        background-size: 1.2rem
    }
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: .6rem
}

.contact-details__item {
    display: flex;
    gap: .8rem;
    align-items: center
}

.contact-details__icon {
    width: 1.6rem
}

.contact-details__link {
    transition: opacity .3s ease
}

@media (hover: hover) {
    .contact-details__link:hover {
        opacity: .6
    }
}

.contact-details__link:focus-visible {
    opacity: .6
}

.small-tile {
    display: flex;
    gap: 2.5rem
}

@media screen and (max-width: 767px) {
    .small-tile {
        gap: 1.2rem
    }
}

@media (hover: hover) {
    .small-tile:hover .small-tile__media img, .small-tile:hover .small-tile__media video {
        transform: scale(1.05)
    }
}

.small-tile:focus-visible .small-tile__media img, .small-tile:focus-visible .small-tile__media video {
    transform: scale(1.05)
}

.small-tile__media {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    align-self: flex-start;
    width: 8.2rem;
    border-radius: 50%
}

@supports not (overflow: clip) {
    .small-tile__media {
        overflow: hidden
    }
}

.small-tile__media:before {
    content: "";
    display: block;
    padding-top: 100%
}

.small-tile__media video, .small-tile__media img, .small-tile__media iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.small-tile__media video, .small-tile__media img {
    object-fit: cover
}

@media screen and (max-width: 767px) {
    .small-tile__media {
        width: 6.4rem
    }
}

.small-tile__media img, .small-tile__media video {
    transition: transform .3s ease
}

.small-tile__content {
    display: flex;
    flex-direction: column;
    row-gap: 1.4rem;
    width: calc(100% - 10.7rem)
}

@media screen and (max-width: 767px) {
    .small-tile__content {
        row-gap: 1.2rem;
        width: calc(100% - 7.6rem)
    }
}

.small-tile__title {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043;
    color: var(--color-white)
}

@media screen and (max-width: 767px) {
    .small-tile__title {
        font-size: 2rem
    }
}

.author {
    display: flex;
    gap: 1.5rem;
    align-items: center
}

.author__media {
    width: 5.6rem;
    height: 5.6rem;
    position: relative;
    border: 1px solid var(--color-blue-dark-2);
    border-radius: 50%
}

.author__media:before, .author__media:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    border-radius: 50%
}

.author__media:before {
    right: 3.9rem;
    background: var(--color-brand)
}

.author__media:after {
    right: 1.9rem;
    z-index: 2;
    background: var(--color-pink)
}

.author__media img, .author__media video {
    overflow: clip;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    border-radius: 50%;
    object-fit: cover
}

@supports not (overflow: clip) {
    .author__media img, .author__media video {
        overflow: hidden
    }
}

.author__content {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043;
    color: var(--color-white)
}

@media screen and (max-width: 767px) {
    .author__content {
        font-size: 2rem
    }
}

.author__content b, .author__content strong {
    color: var(--color-brand)
}

.cursor {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    pointer-events: none;
    mix-blend-mode: difference
}

@media screen and (max-width: 1023px) {
    .cursor {
        display: none
    }
}

.cursor__dot, .cursor__outline {
    position: absolute;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

.cursor__dot {
    width: .8rem;
    height: .8rem;
    z-index: 2;
    background-color: var(--color-white);
    mix-blend-mode: difference
}

.cursor__outline {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    text-align: center;
    transition: .2s ease-out;
    border: 2px solid var(--color-brand);
    background: var(--color-brand)
}

@media screen and (max-width: 767px) {
    .cursor__outline {
        font-size: 2rem
    }
}

@media screen and (max-width: 1679px) {
    .cursor__outline {
        width: 6rem;
        height: 6rem
    }
}

body:has(img:hover) .cursor__outline, body:has(video:hover) .cursor__outline, body:has(.post-tile__categories:hover) .cursor__outline {
    border-color: var(--color-white);
    background: transparent
}

html {
    height: 100%;
    min-height: 100%;
    position: relative;
    overflow: hidden scroll
}

html.has-modal-visible, html.menu-visible {
    overflow: clip;
    overscroll-behavior: none;
    touch-action: none
}

@supports not (overflow: clip) {
    html.has-modal-visible, html.menu-visible {
        overflow: hidden
    }
}

.contact-us {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    align-items: end;
    padding-block: 10.6rem 10.4rem;
    position: relative
}

@media screen and (max-width: 1023px) {
    .contact-us {
        padding-block: 6rem;
        row-gap: 4rem
    }
}

.contact-us__socials {
    grid-column-start: 1;
    grid-column-end: 4;
    margin-bottom: 1rem
}

@media screen and (max-width: 1023px) {
    .contact-us__socials {
        grid-column: 1/-1;
        margin-bottom: 0
    }
}

.contact-us__content {
    grid-column-start: 5;
    grid-column-end: -1
}

@media screen and (max-width: 1023px) {
    .contact-us__content {
        grid-column: 1/-1
    }
}

.contact-us__heading, .contact-us__link {
    color: var(--color-brand)
}

.contact-us__heading {
    font-family: Coda, serif;
    font-size: 3.3rem;
    line-height: 1.0606060606
}

@media screen and (max-width: 767px) {
    .contact-us__heading {
        font-size: 2.4rem
    }
}

.contact-us__heading:not(:last-child) {
    margin-bottom: 3.4rem
}

@media screen and (max-width: 1023px) {
    .contact-us__heading:not(:last-child) {
        margin-bottom: 2.4rem
    }
}

.contact-us__link {
    font-family: Coda, serif;
    font-size: 10.4rem;
    line-height: 1;
    transition: color .3s ease
}

@media screen and (max-width: 1279px) {
    .contact-us__link {
        font-size: 9rem
    }
}

@media screen and (max-width: 767px) {
    .contact-us__link {
        font-size: 4rem
    }
}

@media (hover: hover) {
    .contact-us__link:hover {
        color: var(--color-white)
    }
}

.contact-us__link:focus-visible {
    color: var(--color-white)
}

.contact-us__particles {
    overflow: clip;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: var(--color-black)
}

@supports not (overflow: clip) {
    .contact-us__particles {
        overflow: hidden
    }
}

.contact-us__particles canvas {
    width: auto !important;
    height: auto !important;
    min-width: 100%;
    min-height: 100%;
}

.hero {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    margin-bottom: var(--section-spacing);
    padding-top: 8rem;
    position: relative;
    background: var(--hero-background)
}

.hero__container, .hero__media {
    position: relative;
    z-index: 2
}

.hero__container {
    grid-column-start: 1;
    grid-column-end: 8;
    padding-block: 7.3rem;
    display: flex;
    flex-direction: column;
    row-gap: 3rem;
    justify-content: space-between;
    min-height: 36.4rem
}

@media screen and (max-width: 1679px) {
    .hero__container {
        padding-block: 6rem;
        min-height: 30rem
    }
}

@media screen and (max-width: 1279px) {
    .hero__container {
        padding-block: 6rem 5rem;
        min-height: 26rem
    }
}

@media screen and (max-width: 767px) {
    .hero__container {
        grid-column: 1/-1;
        min-height: unset;
        padding-block: 6rem
    }
}

@media screen and (max-width: 767px) {
    .hero__container {
        padding-block: 4rem
    }
}

.hero:has(.hero__info) .hero__container {
    min-height: 42rem;
    padding-block: 10.2rem 3.8rem
}

@media screen and (max-width: 1679px) {
    .hero:has(.hero__info) .hero__container {
        padding-block: 8rem 4rem;
        min-height: 36rem
    }
}

@media screen and (max-width: 1279px) {
    .hero:has(.hero__info) .hero__container {
        padding-block: 6rem 3rem;
        min-height: 32rem
    }
}

@media screen and (max-width: 767px) {
    .hero:has(.hero__info) .hero__container {
        grid-column: 1/-1;
        min-height: unset;
        padding-block: 6rem 3rem
    }
}

.hero__media, .hero__illustration {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end
}

.hero__media {
    grid-column-start: 10;
    grid-column-end: -1;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none
}

@media screen and (max-width: 1023px) {
    .hero__media {
        grid-column-start: 9;
        grid-column-end: -1
    }
}

@media screen and (max-width: 767px) {
    .hero__media {
        display: none
    }
}

.hero__illustration {
    padding-top: 4rem
}

.hero__illustration img, .hero__illustration video {
    width: 100%
}

.hero__icon {
    align-self: center;
    max-width: 20.7rem
}

.hero__title {
    font-family: Coda, serif;
    font-size: 4.8rem;
    line-height: 1.0833333333;
    color: var(--hero-title)
}

@media screen and (max-width: 767px) {
    .hero__title {
        font-size: 2.8rem
    }
}

.hero__description {
    font-family: Coda, serif;
    font-size: 2.3rem;
    line-height: 1.2173913043;
    color: var(--hero-description)
}

@media screen and (max-width: 767px) {
    .hero__description {
        font-size: 2rem
    }
}

.hero__description:not(:first-child) {
    margin-top: 1.8rem
}

.hero__particles {
    overflow: clip;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none
}

@supports not (overflow: clip) {
    .hero__particles {
        overflow: hidden
    }
}

.hero__particles canvas {
    width: auto !important;
    height: auto !important;
    min-width: 100%;
    min-height: 100%;
}

.hero__info:not(:first-child) {
    margin-top: 4rem
}

@media screen and (max-width: 1279px) {
    .hero__info:not(:first-child) {
        margin-top: 2.4rem
    }
}

.page {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    margin-bottom: var(--section-spacing)
}

@media screen and (max-width: 1023px) {
    .page {
        row-gap: 6rem
    }

    .page:has(.page__back:is(:first-child)) {
        row-gap: 4rem
    }
}

.page__additional {
    grid-column-start: 1;
    grid-column-end: 4
}

@media screen and (max-width: 1279px) {
    .page__additional {
        grid-column-start: 1;
        grid-column-end: 5
    }
}

@media screen and (max-width: 1023px) {
    .page__additional {
        grid-column: 1/-1;
        order: 3
    }
}

.page__content {
    grid-column-start: 5;
    grid-column-end: -1
}

@media screen and (max-width: 1023px) {
    .page__content {
        grid-column: 1/-1
    }
}

.page__back:not(:last-child), .page__nav:not(:last-child), .page__latest-articles:not(:last-child), .page__categories:not(:last-child) {
    margin-bottom: 8rem
}

@media screen and (max-width: 1439px) {
    .page__back:not(:last-child), .page__nav:not(:last-child), .page__latest-articles:not(:last-child), .page__categories:not(:last-child) {
        margin-bottom: 6rem
    }
}

.blog {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    row-gap: 4rem;
    margin-bottom: var(--section-spacing)
}

.blog__filters {
    grid-column-start: 1;
    grid-column-end: 9;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1.6rem
}

@media screen and (max-width: 1023px) {
    .blog__filters {
        grid-column: 1/-1;
        gap: .8rem
    }
}

.blog__search-form {
    grid-column-start: 10;
    grid-column-end: -1;
    align-self: start
}

@media screen and (max-width: 1023px) {
    .blog__search-form {
        grid-column-start: 1;
        grid-column-end: 7;
        order: -1
    }
}

@media screen and (max-width: 767px) {
    .blog__search-form {
        grid-column: 1/-1
    }
}

.blog__list, .blog__pagination {
    grid-column: 1/-1
}

.blog__list {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 10.4rem var(--gutter)
}

@media screen and (max-width: 1023px) {
    .blog__list {
        grid-template-columns:repeat(2, 1fr);
        gap: var(--gutter)
    }
}

@media screen and (max-width: 767px) {
    .blog__list {
        grid-template-columns:repeat(1, 1fr)
    }
}

.blog__pagination {
    margin-top: 6.4rem
}

@media screen and (max-width: 1023px) {
    .blog__pagination {
        margin-top: 1rem
    }
}

.contact {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    margin-bottom: var(--section-spacing)
}

@media screen and (max-width: 1023px) {
    .contact {
        row-gap: 6rem
    }
}

.contact__content {
    grid-column-start: 1;
    grid-column-end: 4;
    display: flex;
    flex-direction: column;
    row-gap: 4rem
}

@media screen and (max-width: 1279px) {
    .contact__content {
        grid-column-start: 1;
        grid-column-end: 5
    }
}

@media screen and (max-width: 1023px) {
    .contact__content {
        grid-column: 1/-1;
        row-gap: 2.4rem
    }
}

.contact__form {
    grid-column-start: 5;
    grid-column-end: -1
}

@media screen and (max-width: 1023px) {
    .contact__form {
        grid-column: 1/-1
    }
}

.contact__info {
    font-family: Coda, serif;
    font-size: 1.8rem;
    line-height: 1.2222222222
}

@media screen and (max-width: 767px) {
    .contact__info {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1279px) {
    .contact__info {
        max-width: 70%
    }
}

@media screen and (max-width: 1023px) {
    .contact__info {
        max-width: 100%
    }
}

.contact__media {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    border-radius: 1.5rem
}

@supports not (overflow: clip) {
    .contact__media {
        overflow: hidden
    }
}

.contact__media:before {
    content: "";
    display: block;
    padding-top: 57.2916666667%
}

.contact__media video, .contact__media img, .contact__media iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.contact__media video, .contact__media img {
    object-fit: cover
}

@media screen and (max-width: 1023px) {
    .contact__media {
        width: calc(50% - var(--gutter) / 2)
    }
}

@media screen and (max-width: 767px) {
    .contact__media {
        width: 100%
    }
}

.contact__heading {
    display: flex;
    flex-direction: column;
    row-gap: .8rem
}

.contact__heading:not(:last-child) {
    margin-bottom: 4rem
}

@media screen and (max-width: 1023px) {
    .contact__heading:not(:last-child) {
        margin-bottom: 2.4rem
    }
}

.contact__title {
    font-family: Coda, serif;
    font-size: 3.3rem;
    line-height: 1.0606060606
}

@media screen and (max-width: 767px) {
    .contact__title {
        font-size: 2.4rem
    }
}

.items-list {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    row-gap: 2.4rem;
    position: relative;
    z-index: 2;
    background: var(--color-black)
}

@media screen and (max-width: 1023px) {
    .items-list {
        padding-bottom: var(--section-spacing)
    }
}

.items-list:not(:last-child) {
    padding-bottom: var(--section-spacing)
}

.about-us + .items-list {
    padding-top: var(--section-spacing)
}

.items-list__title {
    font-family: Coda, serif;
    font-size: 3.3rem;
    line-height: 1.0606060606;
    grid-column-start: 1;
    grid-column-end: 8;
    color: var(--title-color)
}

@media screen and (max-width: 767px) {
    .items-list__title {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .items-list__title {
        grid-column: 1/-1
    }
}

.items-list__cta {
    grid-column-start: 9;
    grid-column-end: -1;
    display: flex;
    justify-content: flex-end
}

@media screen and (max-width: 767px) {
    .items-list__cta {
        grid-column: 1/-1;
        justify-content: flex-start;
        margin-top: -1.4rem
    }
}

.items-list__items {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 10.4rem var(--gutter)
}

@media screen and (max-width: 1023px) {
    .items-list__items {
        grid-template-columns:repeat(2, 1fr);
        gap: var(--gutter)
    }
}

@media screen and (max-width: 767px) {
    .items-list__items {
        grid-template-columns:repeat(1, 1fr)
    }
}

.about-us {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    background: var(--color-brand);
    padding-block: var(--section-spacing)
}

@media screen and (max-width: 1023px) {
    .about-us {
        row-gap: 3rem
    }
}

.about-us__content {
    grid-column-start: 1;
    grid-column-end: 9
}

@media screen and (max-width: 1023px) {
    .about-us__content {
        grid-column: 1/-1
    }
}

.about-us__media {
    grid-column-start: 10;
    grid-column-end: -1;
    display: grid;
    grid-template-areas:"stack";
    align-items: center;
    justify-items: center;
    max-width: 28.6rem;
    margin-left: auto
}

.about-us__media > * {
    grid-area: stack
}

@media screen and (max-width: 1023px) {
    .about-us__media {
        grid-column: 1/-1;
        order: -1;
        max-width: 24rem;
        margin-left: 0
    }
}

@media screen and (max-width: 767px) {
    .about-us__media {
        max-width: 20rem
    }
}

.about-us__icon {
    width: 100%
}

.about-us__image {
    overflow: clip;
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000);
    display: block;
    position: relative;
    width: 15rem;
    border: 1px solid var(--color-blue-dark-2);
    border-radius: 50%
}

@supports not (overflow: clip) {
    .about-us__image {
        overflow: hidden
    }
}

.about-us__image:before {
    content: "";
    display: block;
    padding-top: 100%
}

.about-us__image video, .about-us__image img, .about-us__image iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.01)
}

.about-us__image video, .about-us__image img {
    object-fit: cover
}

@media screen and (max-width: 767px) {
    .about-us__image {
        width: 13rem
    }
}

.about-us__title {
    font-family: Coda, serif;
    font-size: 4.8rem;
    line-height: 1.0833333333
}

@media screen and (max-width: 767px) {
    .about-us__title {
        font-size: 2.8rem
    }
}

.about-us__title:not(:last-child) {
    margin-bottom: 3.2rem
}

@media screen and (max-width: 1023px) {
    .about-us__title:not(:last-child) {
        margin-bottom: 2.4rem
    }
}

.about-us__description {
    max-width: 80rem
}

.about-us__description:not(:last-child) {
    margin-bottom: 4rem
}

@media screen and (max-width: 1023px) {
    .about-us__description:not(:last-child) {
        margin-bottom: 2.4rem
    }
}

.featured-items {
    width: 100%;
    padding-inline: var(--margin);
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    row-gap: 2.4rem;
    background: var(--color-black)
}

.featured-items:not(:last-child) {
    padding-bottom: var(--section-spacing)
}

.about-us + .featured-items {
    padding-top: var(--section-spacing)
}

.featured-items__title {
    font-family: Coda, serif;
    font-size: 3.3rem;
    line-height: 1.0606060606;
    grid-column-start: 1;
    grid-column-end: 8;
    color: var(--title-color)
}

@media screen and (max-width: 767px) {
    .featured-items__title {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .featured-items__title {
        grid-column: 1/-1
    }
}

.featured-items__cta {
    grid-column-start: 9;
    grid-column-end: -1;
    display: flex;
    justify-content: flex-end
}

@media screen and (max-width: 767px) {
    .featured-items__cta {
        grid-column: 1/-1;
        justify-content: flex-start;
        margin-top: -1.4rem
    }
}

.featured-items__list {
    grid-column-start: 1;
    grid-column-end: 5;
    display: flex;
    flex-direction: column;
    row-gap: 4.8rem;
    max-width: 41.6rem
}

@media screen and (max-width: 1023px) {
    .featured-items__list {
        grid-column-start: 1;
        grid-column-end: 7;
        row-gap: 2.4rem;
        max-width: unset
    }
}

@media screen and (max-width: 767px) {
    .featured-items__list {
        grid-column: 1/-1
    }
}

.featured-items__featured-item {
    grid-column-start: 5;
    grid-column-end: -1
}

@media screen and (max-width: 1023px) {
    .featured-items__featured-item {
        grid-column-start: 7;
        grid-column-end: -1
    }
}

@media screen and (max-width: 767px) {
    .featured-items__featured-item {
        grid-column: 1/-1
    }
}

.main-hero {
    width: 100%;
    padding-inline: var(--margin);
    overflow: clip;
    padding-top: 18.4rem;
    background: var(--color-black)
}

@supports not (overflow: clip) {
    .main-hero {
        overflow: hidden
    }
}

@media screen and (max-width: 1023px) {
    .main-hero {
        padding-top: 14rem
    }
}

.main-hero__container {
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    column-gap: var(--gutter);
    padding-bottom: 12rem
}

@media screen and (max-width: 1023px) {
    .main-hero__container {
        row-gap: 3rem;
        padding-bottom: 6rem
    }
}

@media screen and (max-width: 767px) {
    .main-hero__container {
        padding-bottom: 4rem
    }
}

.main-hero__content {
    grid-column-start: 1;
    grid-column-end: 8;
    display: flex;
    flex-direction: column;
    row-gap: 3.2rem;
    color: var(--color-white)
}

@media screen and (max-width: 1023px) {
    .main-hero__content {
        row-gap: 2.4rem
    }
}

@media screen and (max-width: 1679px) {
    .main-hero__content {
        grid-column-start: 1;
        grid-column-end: 9
    }
}

@media screen and (max-width: 1365px) {
    .main-hero__content {
        grid-column-start: 1;
        grid-column-end: 8
    }
}

@media screen and (max-width: 1023px) {
    .main-hero__content {
        grid-column: 1/-1
    }
}

.main-hero__author {
    grid-column-start: 11;
    grid-column-end: -1;
    display: flex;
    align-self: end;
    justify-content: flex-end
}

@media screen and (max-width: 1365px) {
    .main-hero__author {
        grid-column-start: 10;
        grid-column-end: -1
    }
}

@media screen and (max-width: 1023px) {
    .main-hero__author {
        grid-column: 1/-1;
        justify-content: flex-start;
        padding-left: 4.2rem
    }
}

.main-hero__title {
    font-family: Coda, serif;
    font-size: 4.8rem;
    line-height: 1.0833333333
}

@media screen and (max-width: 767px) {
    .main-hero__title {
        font-size: 2.8rem
    }
}

.main-hero__animation {
    color: var(--color-brand)
}

.main-hero__description {
    max-width: 80rem
}

.main-hero__media {
    margin-bottom: -8.5rem;
    padding-bottom: 17rem;
    position: relative
}

@media screen and (max-width: 1023px) {
    .main-hero__media {
        margin-bottom: -2rem;
        padding-bottom: 10rem
    }
}

@media screen and (max-width: 767px) {
    .main-hero__media {
        padding-bottom: 8rem
    }
}

.main-hero__logo {
    display: block;
    width: 100%
}

.main-hero__logo img, .main-hero__logo svg {
    display: block;
    width: 100%
}

.main-hero__particles {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none
}

.main-hero__particles canvas {
    width: auto !important;
    height: auto !important;
    min-width: 100%;
    min-height: 100%;
}

html {
    --rem-scaling-base: min(12px, .390625vw);
    font-size: .5208333333vw
}

@media screen and (min-width: 1921px) {
    html {
        font-size: .390625vw
    }
}

@media screen and (max-width: 1679px) {
    html {
        font-size: .5952380952vw
    }
}

@media screen and (max-width: 1439px) {
    html {
        font-size: .625vw
    }
}

@media screen and (max-width: 1365px) {
    html {
        font-size: .6666666667vw
    }
}

@media screen and (max-width: 1279px) {
    html {
        font-size: .6944444444vw
    }
}

@media screen and (max-width: 1023px) {
    html {
        font-size: .8680555556vw
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 1.5625vw
    }
}

@media screen and (max-width: 519px) {
    html {
        font-size: 2.0833333333vw
    }
}
