/* text-box */

div.text-box {
    width: 100%;
    max-width: max(900px, calc(1024vw / 19.2));
}

div.text-box>*:not(:last-child) {
    margin-bottom: max(30px, -webkit-calc(40vw / 19.2));
    margin-bottom: max(30px, -moz-calc(40vw / 19.2));
    margin-bottom: max(30px, calc(40vw / 19.2));
}

/* text */

div.text-a,
div.text-b {
    padding: 0 0 0 31.25vw;
    margin: max(60px, -webkit-calc(100vw / 19.2)) 0;
    margin: max(60px, -moz-calc(100vw / 19.2)) 0;
    margin: max(60px, calc(100vw / 19.2)) 0;
}

div.text-a.no-margin,
div.text-b.no-margin {
    margin: 0;
}

div.text-b {
    background: var(--gradient-1);
}

div.text-b div.text-box {
    position: relative;
}

div.text-b div.text-box::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 50vw;
    height: 100%;
    -webkit-transform: translateX(50%);
    -moz-transform: translateX(50%);
    -ms-transform: translateX(50%);
    -o-transform: translateX(50%);
    transform: translateX(50%);
    z-index: -1;
}

div.text-b div.text-box p {
    font-size: max(20px, calc(34vw / 19.2));
    font-weight: 300;
    text-transform: uppercase;
    line-height: 1.5333;
    color: white !important;
    padding: max(60px, calc(140vw / 19.2)) max(50px, calc(80vw / 19.2));
    -webkit-transform: translateX(min(-50px, -webkit-calc(-80vw / 19.2)));
    -moz-transform: translateX(min(-50px, -moz-calc(-80vw / 19.2)));
    -ms-transform: translateX(min(-50px, calc(-80vw / 19.2)));
    -o-transform: translateX(min(-50px, calc(-80vw / 19.2)));
    transform: translateX(min(-50px, calc(-80vw / 19.2)));
}

div.text-b div.text-box strong {
    color: white !important;
}

/* link arrow */

a.link-arrow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: max(30px, -webkit-calc(30vw / 19.2));
    gap: max(30px, -moz-calc(30vw / 19.2));
    gap: max(30px, calc(30vw / 19.2));
    padding-right: 30px;
    text-decoration: none;
    color: var(--blue);
    -webkit-transition: .25s;
    -o-transition: .25s;
    -moz-transition: .25s;
    transition: .25s;
}

a.link-arrow span {
    font-size: max(20px, -webkit-calc(20vw / 19.2));
    font-size: max(20px, -moz-calc(20vw / 19.2));
    font-size: max(20px, calc(20vw / 19.2));
    font-weight: 700;
    line-height: 1.25;
}

a.link-arrow span.arrow {
    width: max(60px, -webkit-calc(80vw / 19.2));
    width: max(60px, -moz-calc(80vw / 19.2));
    width: max(60px, calc(80vw / 19.2));
    position: relative;
    -webkit-transition: .25s;
    -o-transition: .25s;
    -moz-transition: .25s;
    transition: .25s;
}

a.link-arrow span.arrow span:nth-child(1) {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--azure);
}

a.link-arrow span.arrow span:nth-child(2),
a.link-arrow span.arrow span:nth-child(3) {
    position: absolute;
    top: 50%;
    right: 4px;
    width: max(20px, -webkit-calc(20vw / 19.2));
    width: max(20px, -moz-calc(20vw / 19.2));
    width: max(20px, calc(20vw / 19.2));
    height: 1px;
    background: var(--azure);
}

a.link-arrow span.arrow span:nth-child(2) {
    -webkit-transform: rotate(45deg) translate(0, min(-10px, -webkit-calc(-10vw / 19.2)));
    -moz-transform: rotate(45deg) translate(0, min(-10px, -moz-calc(-10vw / 19.2)));
    -ms-transform: rotate(45deg) translate(0, min(-10px, calc(-10vw / 19.2)));
    -o-transform: rotate(45deg) translate(0, min(-10px, calc(-10vw / 19.2)));
    transform: rotate(45deg) translate(0, min(-10px, calc(-10vw / 19.2)));
}

a.link-arrow span.arrow span:nth-child(3) {
    -webkit-transform: rotate(-45deg) translate(0, max(10px, -webkit-calc(10vw / 19.2)));
    -moz-transform: rotate(-45deg) translate(0, max(10px, -moz-calc(10vw / 19.2)));
    -ms-transform: rotate(-45deg) translate(0, max(10px, calc(10vw / 19.2)));
    -o-transform: rotate(-45deg) translate(0, max(10px, calc(10vw / 19.2)));
    transform: rotate(-45deg) translate(0, max(10px, calc(10vw / 19.2)));
}

/* final image */

div.final-img {
    position: relative;
}

div.final-img img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
}

div.final-img div.copy {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 75%;
    color: white;
    transform: rotate(-90deg) translate(50%, 150%);
    z-index: 2;
}

/* responsive */

@media only screen and (min-width: 1025px) {
    a.link-arrow:hover {
        color: var(--azure);
    }

    a.link-arrow:hover span.arrow {
        width: max(160px, -webkit-calc(160vw / 19.2));
        width: max(160px, -moz-calc(160vw / 19.2));
        width: max(160px, calc(160vw / 19.2));
    }
}

@media only screen and (max-width: 1023px) {

    div.text-a,
    div.text-b {
        padding: 0 30px;
    }

    div.text-b div.text-box p {
        padding: 30px 0;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none;
    }

    div.text-b div.text-box::after {
        right: unset;
        left: 0;
        width: 105vw;
        -webkit-transform: translateX(-31px);
        -moz-transform: translateX(-31px);
        -ms-transform: translateX(-31px);
        -o-transform: translateX(-31px);
        transform: translateX(-31px);
    }

    a.link-arrow {
        padding-right: 0;
    }
}

@media only screen and (max-width: 768px) {
    a.link-arrow {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: unset;
        -webkit-align-items: unset;
        -moz-box-align: unset;
        -ms-flex-align: unset;
        align-items: unset;
    }
}