html {
    scroll-behavior: smooth;
}

main {
    background-color: var(--offWhite);
    padding: 10vw 10vw;
}

nav {
    margin-top: 0;
}

.service {
    width: 100%;
    height: fit-content;
    display: flex;
    justify-content: space-between;
    background-size: cover;
    background-repeat: no-repeat;
}

.service.right .image:nth-child(1) {order: 2;}
.service.right .text:nth-child(2) {order: 1;}

.image {
    width: 30%;
    background-size: cover;
}

.text {
    height: 100%;
}

h1 {
    position: relative;
    font-family: 'Playfair Display';
}

#aboutStroke {
    position: absolute;
}

#aboutStroke img,
#aboutStroke svg {
    width: 100%;
    fill: var(--complementDarker);
}

.text {
    color: var(--textLighter);
}

.text h2 {
    font-family: 'Playfair Display';
    color: var(--accent);
}

html:lang(ru) {
    line-height: 1.75;
}

.text a {
    font-weight: 500;
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: var(--offWhite);
    background-color: var(--complementDarker);
    border: solid var(--complementDarker) 2px;
    transition: background-color 200ms ease-out, color 200ms ease-out;
}

.text a:hover,
.text a:active {
    background-color: var(--offWhite);
    color: var(--complementDarker);
}

@media screen and (max-width: 991.98px),
       screen and (max-width: 1024.98px) and (orientation: portrait) {

    html {
        scroll-padding-top: 20vw;
    }

    main {
        padding-bottom: 1vw;
        top: 16vw;
    }

    h1 {
        width: fit-content;
        margin: auto;
        font-size: 8vw;
        margin-bottom: 20vw;
    }

    #aboutStroke {
        width: 150%;
        left: -25%;
    }

    .service {
        margin-bottom: 20vw;
        border-radius: 5vw;
        overflow: hidden;
    }

    .service.left {
        padding-left: 30%;
    }

    .service.right {
        padding-right: 30%;
    }

    .image {
        display: none;
    }

    .text {
        background-color: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(20px); /* Blurs background */
        -webkit-backdrop-filter: blur(20px); /* For Safari */
        padding: 5vw;
        
        width: 100%;
    }

    .text h2 {
        font-size: 6vw;
        margin-bottom: 1.5vw;
    }

    html:lang(ru) .text h2 {
        font-size: 5vw;
    }
    
    .paragraph, 
    .text a {
        font-size: 2.75vw;
    }

    .paragraph ul {
        margin: 3vw;
        font-size: 2.5vw;
    }

    .paragraph li {
        margin-bottom: 1vw;
    }

    .text a {
        margin-top: 5vw;
        height: 8vw;
        font-size: 2.5vw;
        border-radius: 3vw;
        padding: 0 3vw;
    }
}

@media screen and (min-width: 767.01px) and (max-width: 991.98px),
       screen and (min-width: 991.98px) and (max-width: 1024.98px) and (orientation: portrait) {

    main {
        top: 0px;
    }

    h1 {
        width: fit-content;
        margin: auto;
        font-size: 6vw;
        margin-bottom: 15vw;
    }

    #aboutStroke {
        width: 150%;
        left: -25%;
    }

    .service {
        margin-bottom: 12vw;
    }
    
    .text h2 {
        font-size: 4vw;
        margin-bottom: 2vw;
    }
    
    .paragraph, 
    .text a {
        font-size: 2vw;
    }

    .paragraph ul {
        margin: 3vw;
        font-size: 1.75vw;
    }

    .paragraph li {
        margin-bottom: 1vw;
    }

    .text a {
        margin-top: 5vw;
        height: 6vw;
        font-size: 1.75vw;
        border-radius: 1.5vw;
        padding: 0 2vw;
    }
}

@media screen and (min-width: 992px) and (max-width: 1024.98px) and (orientation: landscape),
       screen and (min-width: 1025px) {

    html {
        scroll-padding-top: 170px;
    }

    h1 {
        width: fit-content;
        font-size: 52px;
        line-height: 1.3;
        margin-bottom: 140px;
    }

    main {
        padding-bottom: 150px;
        top: 0;
    }

    #aboutStroke {
        width: 200%;
        top: 55px;
        left: -150px;
    }

    .service {
        margin-top: 120px;
        background-image: none !important;
    }

    .text {
        width: 65%;
    }

    .text h2 {
        font-size: 36px;
        margin-bottom: 15px;
    }

    .paragraph ul {
        font-size: 16px;
        margin: 20px 50px;
    }

    .paragraph li {
        margin-bottom: 10px;
    }

    .text a {
        margin-top: 30px;
        height: 50px;
        font-size: 14px;
        border-radius: 15px;
        padding: 0 30px;
    }
}