@charset 'utf-8';
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Roboto+Condensed:wght@400;700&display=swap');

/* reset */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, a, abbr, acronym, address,
img, center, ol, ul, li, dl, dt, dd, form, fieldset, label, legend, input, select, button, textarea, table, tbody, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, nav, section, time, mark, audio, video {
	border: 0; font-size: 100%; font: inherit; vertical-align: baseline; padding: 0; margin: 0; }
header, footer, nav, section, article { display: block; }
ol, ul { list-style: none; }
table { border-spacing: 0; }
input, button { background: none; }
button::-moz-focus-inner, input[type=submit]::-moz-focus-inner, input[type=button]::-moz-focus-inner { padding:0; border:0; }

/* basic */

html, body { width: 100%; min-height: 100vh; }
body { background: #fff; color: #1e1e1e; font: 400 1em/1 'Montserrat', sans-serif; }
a { color: #e50058; text-decoration: underline; outline: none; }
a:hover { text-decoration: none; }
a.reversed { text-decoration: none; }
a.reversed:hover { text-decoration: underline; }
b { font-size: 700; }
input:focus { outline: none; }
input::-webkit-input-placeholder { color: #777; opacity: 1; }
input::-moz-placeholder { color: #777; opacity: 1; }
input::-ms-placeholder { color: #777; opacity: 1; }
.nowrap { white-space: nowrap; }
img { display: block; max-width: 100%; width: auto; height: auto; }
svg { display: block; }

/* layout */

.wrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 100vh;
}

header[role=banner] {
    order: -1;
    z-index: 2;
}

header[role=banner], footer[role=contentinfo] { position: relative; }
footer[role=contentinfo] { z-index: 1; }

.inner, nav .menu, .container .inner {
    width: 100%;
    max-width: 100rem;
    padding: 0 3rem;
    margin: auto;
    box-sizing: border-box;
}

section { position: relative; }
section .inner { padding: 6.25rem 3rem; }
.centered { text-align: center; }

.double .inner {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
}

.double.spoilered .inner { align-items: flex-start; }

.double .inner > * {
    flex: 1;
    box-sizing: border-box;
}

.double.ltr .inner > *:first-child { padding-right: 1.5rem; }
.double.ltr .inner > *:last-child { padding-left: 1.5rem; }

.rtl .inner { flex-direction: row-reverse; }

.double.rtl .inner > *:first-child { padding-left: 1.5rem; }
.double.rtl .inner > *:last-child { padding-right: 1.5rem; }

.dark {
    background-color: #1e1e1e;
    color: #fff;
}

. { background-image: url(../images/pixels_dark.jpg) center top / 20rem auto repeat; }

.light { background: #fff; }
.basic { font-size: 1.125rem; }
.dark.pink { background-color: #ab3965; }
.dark.blue { background-color: #3987aa; }
.dark.green { background-color: #8a9937; }

.container {
    border-bottom: 0.5rem solid #e50058;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.container .inner {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.content { text-align: center; }

.container h1 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

/* basic */

h2 {
    font: 700 2.5rem/1.25 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
    margin-bottom: 4rem;
}

h3 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
}

.basic h2 {
    font-size: 2rem;
    margin-bottom: 3rem;
}

.basic h2::before {
    content: '';
    background: url(../images/sprite.svg#pixels) center / cover no-repeat;
    display: inline-block;
    width: 0.5rem;
    height: 1.5rem;
    margin: 0 0.625rem 0 -1.125rem;
}

.basic article > * { margin-left: 1.125rem; }

section p { font-size: 1.25rem; }

section.basic article p {
    font-size: 1.125rem;
    line-height: 1.5rem;
}

section:not(.basic) p {
    margin-bottom: 3rem;
    line-height: 1.25;
}

.basic article p:not(:last-child) { margin-bottom: 1.5rem; }

/* form elements */

fieldset {
    display: block;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}

fieldset, fieldset + input[type=submit] { margin-top: 1.5rem; }

input[type=text], input[type=email], input[type=tel], textarea {
    background: #fbfbfc;
    border: #ebebeb 0.0625rem solid;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    text-decoration: none;
    display: block;
    min-width: 10rem;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    transition: background 0.2s linear, border 0.2s linear;
}

input[type=text], input[type=email], input[type=tel] {
    line-height: 3rem;
    height: 3rem;
    padding: 0 0.75rem;
}

textarea {
    min-height: 8.75rem;
    padding: 1rem;
    resize: vertical;
}

input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, textarea:focus {
    background: #fff;
    border-color: #7fbf40;
}

input[type=submit], input[type=button], button, .button {
    background-color: #e50058;
    border: 0.0625rem solid transparent;
    border-radius: 0.25rem;
    color: #fff;
    font-weight: 700;
    line-height: 3.125rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    display: block;
    width: 100%;
    max-width: 20rem;
    height: 3.125rem;
    padding: 0 1.5rem;
    margin: 0 auto;
    cursor: pointer;
    outline: none;
    transition: background-color 0.2s linear;
    -webkit-appearance: none;
    box-sizing: border-box;
}

input[type=submit]:hover, input[type=button]:hover, button:hover, .button:hover {
    background: #aecb06;
    text-decoration: none;
}

/* header */

.top_line { background: #e50058; }
.top_line span { display: none; }

h1 {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    line-height: 2.5rem;
}

header .inner {
    position: relative;
    height: 10rem;
}

.logo {
    text-align: center;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 8.375rem;
    height: 7.625rem;
    margin: auto;
}

.logo svg {
    width: 100%;
    height: 100%;
}

header .contacts {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    height: 100%;
}

.contacts a {
    display: block;
    position: relative;
    color: #fff;
}

.contacts .phone a {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding-left: 1.6875rem;
}

.contacts .email a {
    line-height: 1.125rem;
    padding-left: 2rem;
}

.contacts a::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.phone a::before {
    background: url(../images/sprite.svg#phone) center / cover no-repeat;
    width: 1.1875rem;
    height: 1.5rem;
}

.email a::before {
    background: url(../images/sprite.svg#email) center / cover no-repeat;
    width: 1.5rem;
    height: 1.125rem;
}

/* navigation */

nav {
    background: #fff;
    transition: background 0.2s linear;
}

.menu {
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu li:not(:last-child) { margin-right: 2.5rem; }

.menu a {
    color: #1e1e1e;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 2.5rem;
    transition: color 0.2s linear;
}

.menu a:hover { color: #e50058; }
.switch, nav .socials, nav .contacts { display: none; }

.dummy_nav {
    height: 0;
    width: 100%;
}

.fixed_menu nav {
    background: #e50058;
    position: fixed;
    z-index: 99;
    left: 0;
    right: 0;
    transition: top 0.3s linear;
}

/* .fixed_menu nav { top: 0; } for permanently fixed menu */
.nav_down nav { top: 0; }
.nav_up nav { top: -3rem; }

.fixed_menu nav a, .fixed_menu nav a:hover { color: #fff; }


/* intro */

.intro .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100vh;
    position: relative;
    z-index: 1;
}

.intro h2 {
    text-transform: none;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 2rem;
}

.video_box {
    background: #1e1e1e url(../images/intro.jpg) center / cover no-repeat;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 0;
    height: 100vh;
}

video, .video_box::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    margin: auto;
}

video { z-index: 1; }

.video_box::before {
    content: '';
    background: #000;
    display: block;
    opacity: 0.4;
    z-index: 2;
}

/*.video_box::after {
    content: '';
    background: url(../images/preloader.svg) center / 8rem 8rem no-repeat;
    display: block;
    width: 8rem;
    height: 8rem;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
    margin: auto;
}*/

/* posters */

.posters h2 { margin-bottom: 3rem; }

/* outro */

.outro.double .inner { align-items: flex-start; }

.outro.double .inner h2 {
    text-transform: none;
    text-align: center;
    font-weight: 400;
    margin-bottom: 4rem;
    flex: 0 1 auto;
    padding-left: 0;
}

.double .inner > *:nth-child(2) { padding-right: 1.5rem; }
.double .inner > *:nth-child(3) { padding-left: 1.5rem; }



/* dl wraps */

.dl_wrap { display: flex; }
.dl_wrap dl { position: relative; }

.dl_wrap .img {
    position: absolute;
    top: 0;
    width: 10rem;
    height: 10rem;
    margin: auto;
}

.dl_wrap svg {
    width: 10rem;
    height: 10rem;
}

.dl_wrap.vertical {
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: -4rem;
}

.dl_wrap.vertical dl {
    line-height: 1.25;
    width: 33.333%;
    padding-top: 12rem;
    margin-bottom: 4rem;
}

.dl_wrap.vertical dt { font-size: 1.125rem; }

.dl_wrap.vertical .img {
    left: 0;
    right: 0;
}

.dl_wrap.horizontal {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.dl_wrap.horizontal > dl {
    min-height: 10rem;
    padding-left: 12rem;
}

.dl_wrap.horizontal > * { text-align: left; }
.dl_wrap.horizontal > dl:not(:last-child) { margin-bottom: 4rem; }

.dl_wrap.horizontal > dl > dt {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 1rem;
}

.dl_wrap.horizontal .text {
    font-size: 1.125rem;
    line-height: 1.25rem;
}

.dl_wrap.horizontal .img { left: 0; }

.centered .dl_wrap {
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}
.centered .dl_wrap.horizontal > dl {
    width: 50%;
    box-sizing: border-box;
}

.centered .dl_wrap.horizontal dl:nth-child(odd) { padding-right: 1.5rem; }
.centered .dl_wrap.horizontal dl:nth-child(even) { padding-left: 13.5rem; }
.centered .dl_wrap.horizontal dl:nth-child(even) .img { left: 1.5rem; }

/* spoilers */

.spoiler {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 1.25rem;
}

.spoiler dt {
    color: #e50058;
    border-bottom: dashed 0.0625rem;
    cursor: pointer;
}

.dark .spoiler dt { color: #fff; }
.spoiler dt:hover { border-color: transparent; }
.spoiler:not(.collapsed) dt { margin-bottom: 1rem; }
.spoiler.collapsed dd { display: none; }

.spoiler ul { list-style: disc; }
.spoiler ol { list-style: decimal; }

.spoiler ul, .spoiler ol { margin: 0 0 1.5rem 1.5rem; }

.spoiler li {
    font-size: 0.875rem;
    line-height: 1.5;
    margin-left: 0.5rem;
}

.spoiler li:not(:last-child) { margin-bottom: 0.5rem; }

/* form */

.form {
    border: solid 0.0625rem #e1e1e1;
    border-radius: 0.25rem;
    max-width: 30rem;
    padding: 3rem;
    margin: auto;
    box-sizing: border-box;
}

.form input[type=submit] { max-width: inherit; }

/* footer */

footer .inner {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-around;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

footer .logo {
    top: 3rem;
    bottom: auto;
}

footer .contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

footer .socials, footer .contacts { margin: 1.25rem 0 4rem; }
footer .socials li:not(:last-child) { margin-bottom: 1rem; }
footer .contacts li:not(:last-child){ margin-bottom: 2rem; }

.copyrights {
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: center;
    width: 100%;
}

.copyrights br { display: none; }
.socials a { font-size: 1.25rem; }
.socials .tiktok a { color: #009ee3; }

.socials a::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 2rem;
    height: 2rem;
    margin-right: 1rem;
}

.socials .instagram a::before { background: url(../images/sprite.svg#insta) center / cover no-repeat; }
.socials .tiktok a::before { background: url(../images/sprite.svg#tiktok) center / cover no-repeat; }

.fogma {
    background: url(../images/sprite.svg#fogma) center / cover no-repeat;
    text-indent: -9999rem;
    overflow: hidden;
    display: block;
    position: absolute;
    right: 3rem;
    bottom: 3rem;
    width: 2rem;
    height: 2rem;
    opacity: 0.7;
    transition: opacity 0.2s linear;
}

.fogma:hover { opacity: 1; }

.credits {
    text-decoration: underline;
    position: relative;
    cursor: pointer;
}

.credits:hover { text-decoration: none; }

.credits_info {
    background: #fff;
    border-radius: 0.25rem;
    color: #1e1e1e;
    font-size: 0.75rem;
    display: none;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 24rem;
    padding: 1rem;
    margin: auto;
    box-sizing: border-box;
}

.no-touch .credits:hover .credits_info, .touch .credits.active .credits_info { display: block; }

/* scrollers */

.scroller { position: relative; }

section .swiper-container { background: #1e1e1e; }
.swiper-slide { width: 100% !important; }

.swiper-controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2rem;
    z-index: 1;
}

.swiper-controls, .swiper-bullets, .swiper-controls li {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.swiper-bullets { margin: 0 1rem; }

.swiper-bullets li {
    border-radius: 50%;
    text-indent: -999rem;
    overflow: hidden;
    width: 1.5rem;
    height: 1.5rem;
    transition: opacity 0.2s linear;
}

.swiper-bullets li:before {
    content: '';
    background: #fff;
    border-radius: 50%;
    display: block;
    width: 0.5rem;
    height: 0.5rem;
}

.swiper-bullets li:not(.current) {
    opacity: 0.5;
    cursor: pointer;
}

.swiper-bullets li:hover { opacity: 1; }

.swiper-arrow {
    width: 0.875rem;
    height: 1.5rem;
    transition: opacity 0.2s linear;
}

.swiper-arrow:not(.swiper-button-disabled) { cursor: pointer; }
.swiper-button-disabled { opacity: 0.5; }
.swiper-arrow.prev { background: url(../images/sprite.svg#prev) center / cover no-repeat; }
.swiper-arrow.next { background: url(../images/sprite.svg#next) center / cover no-repeat; }

/* viewer */

.overlay {
    background: rgba(255,255,255,0.8);
    display: none;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.close_bttn {
    background: rgba(255,255,255,0.8) url(../images/sprite.svg#close_bttn) center / 2rem 2rem no-repeat;
    border-radius: 50%;
    text-indent: -9999rem;
    overflow: hidden;
    position: absolute;
    z-index: 2;
    top: 2rem;
    right: 2rem;
    width: 4rem;
    height: 4rem;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s linear;
    
}

.close_bttn:hover { opacity: 1; }

.viewer {
    position: relative;
    width: 100%;
    height: 100%;
}

.viewer.single {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.viewer .swiper-container { height: 100%; }

.viewer .swiper-slide {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.viewer img { max-height: 100%; }

.viewer .swiper-arrow {
    border-radius: 50%;
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 4rem;
    height: 4rem;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s linear;
}

.viewer .swiper-arrow:hover { opacity: 1; }
.viewer .swiper-button-disabled, .viewer .swiper-button-disabled:hover { opacity: 0; }

.viewer .swiper-arrow.prev {
    background: rgba(255,255,255,0.8) url(../images/sprite.svg#back) 1rem center / 1.6875rem 2rem no-repeat;
    left: 2rem;
}

.viewer .swiper-arrow.next {
    background: rgba(255,255,255,0.8) url(../images/sprite.svg#forth) 1.25rem center / 1.6875rem 2rem no-repeat;
    right: 2rem;
}

.touch .viewer .swiper-arrow { display: none; }
section .swiper-slide, .zoom { cursor: zoom-in; }

/* form */

.formNoError { display: none; }

.formError {
    color: #dd2211;
    font-size: 0.75rem;
    text-align: left;
    display: block;
    margin-bottom: 0.5rem;
}

input.rsform-error, textarea.rsform-error { border-color: #dd2211; }

/* media queries, yeah! */

@media screen and (max-width: 85.375rem) {

    header .contacts, footer .inner { justify-content: space-between; }

}

@media screen and (max-width: 75em) {

    section .inner { padding: 5rem 3rem; }
    .dl_wrap .img, .dl_wrap svg { width: 7.5rem; height: 7.5rem; }
    .dl_wrap.vertical dl { padding-top: 9.5rem; }
    .dl_wrap.horizontal > dl { padding-left: 9.5rem; min-height: 7.5rem; }
    .dl_wrap.horizontal > dl > dt { font-size: 1.25rem; }
    .dl_wrap.horizontal .text, .dl_wrap.vertical dt { font-size: 1rem; }
    .centered .dl_wrap.horizontal dl:nth-child(even) { padding-left: 11.5rem; }
}

@media screen and (max-width: 64em) {
    
    header .inner, .top_line h1 { display: none; }
    
    .top_line {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 2.5rem;
    }
    
    .top_line span {
        font-weight: 700;
        line-height: 2.5rem;
        text-transform: uppercase;
        display: block;
        cursor: pointer;
    }
    
    .switch {
        display: block;
        width: 1.25rem;
        height: 2.5rem;
        position: fixed;
        top: 0;
        left: 5%;
        cursor: pointer;
    }
    
    .switch li {
        background: #fff;
        position: absolute;
        width: 1.25rem;
        height: 0.125rem;
        margin: auto;
        transition: transform 0.3s linear, opacity 0.3s linear, top 0.3s linear, bottom 0.3s linear;
        transform-origin: center;
    }
    
    .switch li:nth-child(1) { top: 0.8125rem; }
    .switch li:nth-child(2) { top: 0; bottom: 0; }
    .switch li:nth-child(3) { bottom: 0.8125rem; }
    
    .menu_active .switch li:first-child { transform: rotate(45deg); top: 1.1875rem; }
    .menu_active .switch li:last-child { transform: rotate(-45deg); bottom: 1.1875rem; }
    .menu_active .switch li:nth-child(2) { opacity: 0; }
    
    nav {
        background: #fff;
        box-shadow: 0.25rem 0 0.25rem 0 rgba(0,0,0,0.05), 0.125rem 0 0.125rem 0 rgba(0,0,0,0.05);
        border-bottom: none;
        overflow-y: auto;
        position: fixed;
        z-index: 90;
        top: 2.5rem;
        bottom: 0;
        left: -18.25rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        width: 18rem;
        box-sizing: border-box;
        transition: left 0.3s ease-out;
    }
    
    .menu_active nav { left: 0; }
    nav > * { width: 100%; box-sizing: border-box; }
    
    nav .menu {
        flex-direction: column;
        align-items: flex-start;
        padding: 2rem;
        margin: 0;
        box-sizing: border-box;
        order: -1;
    }
    
    .menu li:not(:last-of-type) { margin: 0 0 1.25rem 0; }
    .menu a { line-height: 1rem; }
    .menu a:hover { text-decoration: underline; }
    
    nav .contacts, nav .socials { display: block; }
    nav .socials li:not(:last-child), nav .contacts li:not(:last-child) { margin-bottom: 0.75rem; }
    nav .contacts { padding: 2rem 2rem 0; order: 1; height: auto; margin-top: auto; }
    nav .contacts a { color: #1e1e1e;  }
    nav .contacts .phone a { font-size: 1rem; padding-left: 2.5rem; }
    nav .contacts .email a { font-family: 'Roboto Condensed', sans-serif; font-size: 0.85rem; padding-left: 2.5rem; }
    nav .contacts .phone a::before { background-image: url(../images/sprite.svg#phone_dark); left: 0.125rem; }
    nav .contacts .email a::before { background-image: url(../images/sprite.svg#email_dark); }
    nav .socials { padding: 1.25rem 2rem 2rem; order: 2; }
    nav .socials a { font-size: 1rem; }
    nav .socials a::before { width: 1.5rem; height: 1.5rem; }
    
    section .inner { padding: 4rem 5%; }
    .double .inner, .rtl .inner { flex-direction: column; align-items: stretch; }
    .double.ltr .inner > *:first-child, .double.rtl .inner > *:last-child, .double .inner > :nth-child(2) { padding-right: 0; }
    .double.ltr .inner > *:last-child, .double.rtl .inner > *:first-child, .double .inner > :nth-child(3) { padding-left: 0; }
    .double .inner > *:first-child { margin-bottom: 2rem; }
    h2 { font-size: 2rem; margin-bottom: 2rem; }
    .basic h2 { margin-bottom: 2rem; }
    .dl_wrap.vertical { margin-left: -1rem; margin-right: -1rem; }
    .dl_wrap.vertical dl { width: 50%; padding-left: 1rem; padding-right: 1rem; box-sizing: border-box; }
    .centered .dl_wrap.horizontal { flex-direction: column; align-items: stretch; }
    .centered .dl_wrap.horizontal > dl { width: auto; }
    .centered .dl_wrap.horizontal dl:nth-child(odd) { padding-right: 0; }
    .centered .dl_wrap.horizontal dl:nth-child(even) { padding-left: 9.5rem; }
    .centered .dl_wrap.horizontal dl:nth-child(even) .img { left: 0; }
    .outro.double .inner h2 { margin-bottom: 3rem; }
    .outro .dl_wrap { margin-bottom: 3rem; }
    
    footer .inner { flex-direction: column; align-items: center; padding-left: 5%; padding-right: 5%; }
    footer .logo { position: static; margin-bottom: 2rem; }
    footer .socials { margin: 0 0 1.25rem 0; }
    footer .contacts { align-items: center; margin: 0 0 4rem 0; }
   
    .fogma {
        background-size: 2rem 2rem;
        background-position: left center;
        color: #fff;
        font-size: 0.875rem;
        line-height: 1;
        text-indent: inherit;
        text-decoration: none;
        position: static;
        left: 0;
        right: 0;
        width: 4rem;
        padding: 0.125rem 0 0 3rem;
        margin: 2rem auto auto;
        opacity: 1;
    }
    
}

@media screen and (max-width: 50em) {
    
    .double .inner { padding-bottom: 0; }
    .double .scroller, .double .photo_box { margin: 0 -5.5%; }
    .copyrights br { display: block; }
    .credits_info { width: 20rem; }
    
}

@media screen and (max-width: 30em) {
    
    input[type=submit], input[type=button], button, .button { font-size: 0.875rem; line-height: 2.5rem; height: 2.5rem; max-width: 15rem; }
    input[type=text], input[type=email], input[type=tel] { line-height: 2.5rem; height: 2.5rem; }
    section .inner { padding: 3rem 5%; }
    h2, .basic h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
    h3 { font-size: 1.25rem; }
    .basic h2::before { height: 1.25rem; margin-left: -1rem; }
    .basic article > * { margin-left: 1rem; }
    section.basic article p, section:not(.basic) p { font-size: 1rem; line-height: 1.25; }
    .spoiler { margin-top: 1rem; }
    .spoiler dt { font-size: 1rem; }
    .dl_wrap.vertical { margin-bottom: -3rem; }
    .dl_wrap.vertical dl { margin-bottom: 3rem; }
    .dl_wrap.horizontal > dl > dt { font-size: 1rem; }
    .dl_wrap.horizontal .text, .dl_wrap .spoiler dt { font-size: 0.875rem; }
    .dl_wrap .img, .dl_wrap svg { width: 6.25rem; height: 6.25rem; }
    .centered .dl_wrap.horizontal dl:nth-child(even), .dl_wrap.horizontal > dl { padding-left: 8.25rem; }
    .dl_wrap.vertical dl { padding-top: 8rem; }
    .dl_wrap.horizontal > dl:not(:last-child) { margin-bottom: 3rem; }
    .form { padding: 2rem; }
    .credits_info { transform: translateX(-70%); }
    
}

@media screen and (max-width: 25em) {
    
    .dl_wrap .img, .dl_wrap svg { width: 5rem; height: 5rem; }
    .centered .dl_wrap.horizontal dl:nth-child(even), .dl_wrap.horizontal > dl { padding-left: 6.5rem; }
    .dl_wrap.vertical dl { padding-top: 6.5rem; }
    .dl_wrap.horizontal .text, .dl_wrap.vertical dt, section.basic article p, section:not(.basic) p, .spoiler dt { font-size: 0.875rem; }
    .spoiler dt { border: none; text-decoration: dashed underline; }
    .spoiler dt:hover { text-decoration: none; }
    .spoiler li { font-size: 0.75rem; }
    .form { padding: 1.5rem; }
    footer .contacts { margin-bottom: 2rem; }
    footer .contacts .phone a, footer .socials a { font-size: 1rem; }
    footer .contacts .email a { font-family: 'Roboto Condensed', sans-serif; font-size: 0.85rem; }
    footer .socials a::before { width: 1.5rem; height: 1.5rem; }
    .copyrights { font-size: 0.75rem; }
    
}
