*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --index: calc(1vw + 1vh);
    --color-header: #f4efec;
    --color-text: #cdc6c3;
    --gallery-gap: calc(var(--index) * 7.5);
}   

@font-face {
    font-family: raleway-c;
    src: url(../fonts/raleway-regular.woff2);
}

@font-face {
    font-family: outfit-c;
    src: url(../fonts/outfit-regular.woff2);
}

h1, h2, h3, h4, h5, h6 {
    font-family: outfit-c;
}

/* will-change */
.content, .hero, .main-header, .gallery > * {
    will-change: transform;
}

body {
    background-image: url(../img/bg.jpg);
    background-size: 50px;
    color: #fafafa;
    font-family: raleway-c;
    overflow-x: hidden;
}

.hero {
    width: calc(var(--index) * 36);
    position: absolute;
    left: 37vw;
    top: 22vh;
    z-index: -1;
}

.main-header {
    height: 100vh;
}

.container {
    padding: 0 7vw;
}

.main-title {
    font-size: calc(var(--index) * 8);
    position: absolute;
    width: min-content;
    bottom: 12vh;
    line-height: .9;
}

.gallery {
    display: flex;
    padding: calc(var(--index) * 8) 0;
}

.gallery > * { /* (>) потомок (*) первый */
    flex: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.gallery__item {
    max-width: calc(var(--index) * 21);
    margin-bottom: var(--gallery-gap);
    max-height: 180vh;
    border-radius: 8px;
}

.gallery__left {
    margin-top: calc(var(--gallery-gap) * 1.75);
}

.gallery__right {
    margin: 0;
    margin-bottom: var(--gallery-gap);
}

.text-block {
    color: var(--color-text);
    position: relative;
}

.text-block__h {
    font-size: 2rem;
    line-height: 2.4rem;
    color: var(--color-header);
    margin-bottom: 1.5rem;
}

.text-block__p {
    line-height: 1.75;
}

/* preloader */

.loader {
    background: none repeat scroll 0 0 #323131;
    /*box-shadow: inset 0 0 250px rgb(0 0 0 / .3);*/
    bottom: 0;
    height: 100%;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 9999; 
}
  
.loader_inner {
    background-image: url("../img/preloader/preloader.gif");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: transparent;
    height: 300px;
    width: 300px;
    margin-top: -150px;
    margin-left: -150px;
    left: 50%;
    top: 50%;
    position: absolute; 
}