:root {
    --s2-screen-size-factor: 0.3;
    --s2-screen-border-color: #000;
    --s2-screen-box-shadow-color: #000;
}

.section1 {
    text-align: center;
}

.section1 p:last-of-type {
    margin: 0;
}

.section2 {
    text-align: justify;
}

.section2 p:last-of-type {
    margin: 0;
}

.section2 .preview-container {
    height: calc(1080px * var(--s2-screen-size-factor));
    width: calc(1920px * var(--s2-screen-size-factor));
    margin: 0 auto;
    position: relative;
    -webkit-perspective: 500px;
    perspective: 500px;
    -webkit-perspective-origin: center;
    perspective-origin: center;
}

.section2 .screen {
    background-position-x: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 10px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-box-shadow: 0 0 10px 2px var(--s2-screen-box-shadow-color);
    box-shadow: 0 0 10px 2px var(--s2-screen-box-shadow-color);
}

.section2 .screen-lg {
    height: 90%;
    width: 90%;
    border: 7px solid var(--s2-screen-border-color);
    background-image: url("/resources/images/site1lg.png");
    -webkit-animation: scroll 7s 1s ease infinite alternate;
    animation: scroll 7s 1s ease infinite alternate;
    -webkit-transform: rotateZ(-2deg) rotateY(10deg);
    transform: rotateZ(-2deg) rotateY(10deg);
}

.section2 .screen-sm {
    width: calc(360px * var(--s2-screen-size-factor));
    height: calc(800px * var(--s2-screen-size-factor));
    position: absolute;
    right: 0;
    bottom: 0;
    border: 5px solid var(--s2-screen-border-color);
    background-image: url("/resources/images/site1sm.png");
    -webkit-animation: scroll 7s ease infinite alternate;
    animation: scroll 7s ease infinite alternate;
    -webkit-transform: rotateZ(3deg) rotateY(-20deg);
    transform: rotateZ(3deg) rotateY(-20deg);
}

.section3 {
    height: 600px;
    position: relative;
}

.section3::before {
    content: '';
    background-image: url("/resources/images/home3.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position-y: 50%;
    background-position-x: 45%;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .8;
}

.section3>* {
    position: absolute;
    z-index: 1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    padding: 5px 20px;
    border-radius: 20px;
}

.section3 h3 {
    left: 50%;
    top: 50%;
    color: #333;
    background-color: #0f0
}

.section3 .step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    opacity: .5;
    background-color: #fff;
    -webkit-transition: opacity .3s, -webkit-box-shadow .3s;
    transition: opacity .3s, -webkit-box-shadow .3s;
    -o-transition: opacity .3s, box-shadow .3s;
    transition: opacity .3s, box-shadow .3s;
    transition: opacity .3s, box-shadow .3s, -webkit-box-shadow .3s;
    font-size: 1.2rem;
}

.section3 .step.current {
    opacity: 1;
    -webkit-box-shadow: 0 0 10px 5px #0f0;
    box-shadow: 0 0 10px 5px #0f0
}

.section3 .step span {
    background-color: #0f0;
    border-radius: 50%;
    line-height: 20px;
    width: 30px;
    display: inline-block;
    text-align: center;
    color: #fff;
    margin-right: 10px;
}

.section3 .step:nth-of-type(1) {
    left: 65%;
    top: 20%;
}

.section3 .step:nth-of-type(2) {
    left: 75%;
    top: 50%;
}

.section3 .step:nth-of-type(3) {
    left: 65%;
    top: 80%;
}

.section3 .step:nth-of-type(4) {
    left: 35%;
    top: 80%;
}

.section3 .step:nth-of-type(5) {
    left: 25%;
    top: 50%;
}

.section3 .step:nth-of-type(6) {
    left: 35%;
    top: 20%;
}

@-webkit-keyframes scroll {
    0% {
        background-position-y: 0%;
    }

    100% {
        background-position-y: 100%;
    }
}

@keyframes scroll {
    0% {
        background-position-y: 0%;
    }

    100% {
        background-position-y: 100%;
    }
}

@media(max-width: 1399px) {
    :root {
        --s2-screen-size-factor: 0.25;
    }

    .section3 .step:nth-of-type(2) {
        left: 80%;
    }

    .section3 .step:nth-of-type(5) {
        left: 20%;
    }
}

@media(max-width: 1199px) {
    :root {
        --s2-screen-size-factor: 0.4;
    }

    .section2 {
        text-align: center;
    }

    .section2 .col:first-of-type {
        margin-bottom: 32px;
    }
}

@media(max-width: 991px) {
    :root {
        --s2-screen-size-factor: 0.3;
    }

    .section3 {
        height: 400px;
    }

    .section3 .step:nth-of-type(1) {
        left: 24%;
        top: 35%;
    }

    .section3 .step:nth-of-type(2) {
        left: 50%;
        top: 20%;
    }

    .section3 .step:nth-of-type(3) {
        left: 76%;
        top: 35%;
    }

    .section3 .step:nth-of-type(4) {
        left: 76%;
        top: 65%;
    }

    .section3 .step:nth-of-type(5) {
        left: 50%;
        top: 80%;
    }

    .section3 .step:nth-of-type(6) {
        left: 24%;
        top: 65%;
    }
}

@media(max-width: 767px) {
    :root {
        --s2-screen-size-factor: 0.25;
    }
}

@media(max-width: 575px) {
    :root {
        --s2-screen-size-factor: 0.15;
    }

    .section3 {
        height: auto;
    }

    .section3 h3 {
        position: static;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        text-align: center;
        margin: 16px 15px;
    }

    .section3 .step {
        position: static;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        margin: 16px 15px;
    }
}