@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

/* global styles */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0;
}

h2 {
    font-family: 'Roboto Condensed', Roboto, Segoe UI, Noto Sans, Open Sans, Inter, Helvetica Neue, Arial, sans-serif;
    font-size: 3.73rem;
    letter-spacing: -4px;
    line-height: 1.1;
}

h3 {
    font-family: 'Roboto Condensed', Roboto, Segoe UI, Noto Sans, Open Sans, Inter, Helvetica Neue, Arial, sans-serif;
    font-size: 1.5rem;
    line-height: 1.1;
}

h4 {
    font-family: 'Roboto Condensed', Roboto, Segoe UI, Noto Sans, Open Sans, Inter, Helvetica Neue, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 300;
}

p {
    margin-bottom: 0;
}

body {
    font-family: 'Roboto', Segoe UI, Noto Sans, Open Sans, Inter, Helvetica Neue, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #111314;
    background-color: #f3f8ea;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.primary__btn {
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    color: #111314;
    background: linear-gradient(90deg, #111314 50%, #8dffa8 0);
    padding: 1rem 2.5rem;
    border-radius: 50px;
    background-size: 200% 100%;
    background-position: 100%;
    transition: background-position .6s cubic-bezier(.16, 1, .3, 1), color .3s cubic-bezier(.16, 1, .3, 1);
    max-width: 12.08rem;
}

.primary__btn:hover {
    background-position: 0%;
    color: #8dffa8;
}

@media screen and (max-width: 768px) {
    .container__responsive {
        padding: 0 12px;
    }

    h2 {
        font-size: 2.4rem;
        letter-spacing: -2px;
    }
}

/* header main */

.header__sticky {
    display: block;
    position: fixed;
    top: 25px;
    width: 100%;
    max-width: 1297px;
    z-index: 9999;
}

.header__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #111314;
    border-radius: 6px;
    padding: 20px 60px;
}

#hideHeader {
    transition: all .4s ease !important;
}

.logo a {
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
    color: #f3f8ea;
    line-height: 0;
}

.logo img {
    width: 48px;
    padding-right: 6px;
}

.nav__toggle {
    display: none;
}

.navigation__main {
    display: flex;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.navigation__main a {
    font-size: 14px;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 500;
    color: #f3f8ea;
    padding: 7px 17px;
    border-radius: 3px;
    transition: background-color .3s cubic-bezier(.16, 1, .3, 1);
}

.navigation__main__mobile a {
    font-size: 14px;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 500;
    color: #f3f8ea;
    padding: 7px 17px;
    border-radius: 3px;
    transition: background-color .3s cubic-bezier(.16, 1, .3, 1);
}

.navigation__main a:hover {
    background-color: #373737;
}

a:is(:link, :active).active {
    background-color: #373737;
}


@media screen and (max-width: 768px) {
    .header__sticky {
        max-width: 696px;
    }

    .header__main {
        padding: 20px;
    }

    .logo {
        z-index: 9990;
    }

    .logo a span {
        display: none;
    }

    .navigation__main {
        position: fixed;
        inset: 0;
        flex-direction: column;
        padding: 12rem 2rem 0;
        background-color: #373737;
        transform: translateX(100%);
        transition: 350ms ease-out;
    }

    .navigation__main[data-visible="true"] {
        transform: translateX(0%);
    }

    .navigation__main a {
        font-size: 32px;
    }

    .navigation__main__mobile a {
        font-size: 32px;
    }

    a:is(:link, :active).active {
        background-color: #373737;
    }

    .nav__toggle {
        display: block;
        position: absolute;
        z-index: 9990;
        background-image: url("/img/hamburger.svg");
        background-repeat: no-repeat;
        background-color: transparent;
        width: 30px;
        height: 20px;
        border: 0;
        top: 20px;
        right: 20px;
    }

    .nav__toggle[aria-expanded="true"] {
        background-image: url("/img/hamburger-x.svg");
    }

    .mobile__nav {
        position: fixed;
        height: 100%;
        background-color: #373737;
        width: 100%;
        z-index: 2;
        /* display: flex; */
        gap: 1rem;
        padding: 0;
        margin: 0;
    }

    .navigation__main__mobile {
        flex-direction: column;
        padding: 12rem 2rem 0;
        list-style: none;
    }
}

@media screen and (max-width: 1366px) {
    .header__sticky {
        max-width: 1116px;
    }
}

@media screen and (max-width: 414px) {
    .header__sticky {
        max-width: 364px;
    }
}

@media screen and (max-width: 390px) {
    .header__sticky {
        max-width: 342px;
    }
}

@media screen and (max-width: 375px) {
    .header__sticky {
        max-width: 327px;
    }
}

/* home hero */

.home__hero {
    background: #1c1d20;
}

.hero__content {
    text-align: center;
    padding: 24.2vh 0;
}

.hero__content span {
    letter-spacing: -1px;
    color: #8dffa8;
}

.hero__content h2 {
    font-size: 7rem;
    font-weight: 700;
    letter-spacing: -4px;
    line-height: 0.9;
    color: #f3f8ea;
    margin: 10px 0 20px 0;
}

.hero__content .designer {
    color: #f3f8ea;
    letter-spacing: -4px;
}

.hero__content p {
    font-size: 18px;
    line-height: 1.4;
    color: #f3f8ea;
    padding: 0 20%;
}

.marquee3k {
    overflow-x: hidden;
    background-color: #111314;
}

.marquee3k h3 {
    font-size: 32px;
    color: #f3f8ea;
    padding: 20px 0;
}

.marquee3k span {
    color: #8dffa8;
    padding: 0 15px;
}

@media screen and (max-width: 768px) {
    .hero__content h2 {
        font-size: 3.1rem;
        letter-spacing: -3px;
    }

    .hero__content p {
        padding: 0 8px;
    }

    .hero__content .designer {
        letter-spacing: -2px;
    }
}

/* selected works */

.home__works {
    padding: 7rem 0;
}

.selected__works p {
    padding: 20px 15% 40px 0;
}

.selected__works__list {
    padding-top: 7rem;
}

.selected__works__list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.selected__works__list ul li {
    border-top: 1px solid #cccccc;
}

.selected__works__list ul li a {
    font-family: 'Roboto Condensed', sans-serif;
    text-decoration: none;
    font-size: 26px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -1px;
    color: #111314;
    background-color: transparent;
    padding: 1.3rem 2.7rem;
    transition: background-color .30s ease-out;
    -moz-transition: background-color .30s ease-out;
    -webkit-transition: background-color .30s ease-out;
    -o-transition: background-color .30s ease-out;
}

.selected__works__list ul li a:hover {
    background-color: #111314;
    color: #f3f8ea;
}

.type {
    font-weight: 300;
}

.selected__works__images {
    position: relative;
}

.selected__works__images img {
    position: absolute;
    right: 0;
    top: -32rem;
}

.project__01__link {
    display: grid;
    grid-template-columns: calc(90% / 12 * 4) calc(100% / 12 * 4);
}

.project__01__img {
    display: none;
}

.project__02__link {
    display: grid;
    grid-template-columns: calc(90% / 12 * 4) calc(100% / 12 * 4);
}

.project__02__img {
    display: none;
}

.project__03__link {
    display: grid;
    grid-template-columns: calc(90% / 12 * 4) calc(100% / 12 * 4);
}

.project__03__img {
    display: none;
}

.project__04__link {
    display: grid;
    grid-template-columns: calc(90% / 12 * 4) calc(100% / 12 * 4);
}

.project__04__img {
    display: none;
}

.project__05__link {
    display: grid;
    grid-template-columns: calc(90% / 12 * 4) calc(100% / 12 * 4);
}

.project__05__img {
    display: none;
}

.project__06__link {
    display: grid;
    grid-template-columns: calc(90% / 12 * 4) calc(100% / 12 * 4);
}

.project__06__img {
    display: none;
}

.project__06__link {
    border-bottom: 1px solid #cccccc;
}

@media screen and (max-width: 768px) {
    .selected__works__list ul li a {
        font-size: 20px;
        padding: 1rem 0;
    }

    .project__01__link {
        grid-template-columns: calc(100% / 6 * 4) calc(100% / 12 * 4);
    }

    .project__02__link {
        grid-template-columns: calc(100% / 6 * 4) calc(100% / 12 * 4);
    }

    .project__03__link {
        grid-template-columns: calc(100% / 6 * 4) calc(100% / 12 * 4);
    }

    .project__04__link {
        grid-template-columns: calc(100% / 6 * 4) calc(100% / 12 * 4);
    }

    .project__05__link {
        grid-template-columns: calc(100% / 6 * 4) calc(100% / 12 * 4);
    }

    .project__06__link {
        grid-template-columns: calc(100% / 6 * 4) calc(100% / 12 * 4);
    }
}

/* home about */

.home__about {
    padding: 7rem 0;
    background-color: #1c1d20;
    color: #f3f8ea;
}

.home__about p {
    padding: 20px 25% 40px 0;
}

.home__about .col-sm-6 {
    padding: 7rem 0;
}

.home__about .col-sm-6 img {
    border-radius: 6px;
}

.about__services {
    text-align: center;
}

.about__services p {
    padding: 20px 12% 4rem;
}

.about__services h4 {
    padding-top: 20px;
}

@media screen and (max-width: 768px) {
    .home__about p {
        padding: 20px 18% 40px 0;
    }

    .home__about .col-sm-6 {
        padding: 0;
    }

    .home__about .designer {
        margin-top: 5rem;
    }

    .home__about .developer {
        margin-top: 2rem;
        margin-bottom: 5rem;
    }

    .about__services p {
        padding: 20px 0 2rem 0;
    }

    .about__services h4 {
        padding-bottom: 3rem;
    }

    .about__services .col-sm-3:last-child h4 {
        padding-bottom: 0;
    }
}

/* contact */

.contact {
    padding-top: 7rem;
}

.contact p {
    padding: 20px 25% 40px 0;
}

.socials {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    padding: 4rem 0;
    margin: 7rem 0;
}

.socials ul {
    display: flex;
    gap: 12rem;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .contact p {
        padding: 20px 10% 40px 0;
    }

    .socials ul {
        gap: 4rem;
    }
}

/* footer main */

.footer {
    padding: 3rem 0 1rem;
    background-color: #1c1d20;
    color: #f3f8ea;
    border-top: 1px dashed #f3f8ea;
}

.footer__main {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.footer__main h3 span {
    color: #8dffa8;
}

.connect h4 {
    font-weight: 700;
}

.connect p {
    padding-top: 8px;
}
.connect a {
    display: block;
    text-decoration: none;
    color: #f3f8ea;
    margin-top: 8px;
    transition: all .3s ease;
}
.connect a:hover {
    text-decoration: underline;
    color: #dee2d5;
}

.footer__copy {
    border-top: 1px solid #373737;
    padding-top: 8px;
}

.footer__copy small {
    font-size: 0.7rem;
}

@media screen and (max-width: 768px) {
    .footer__main {
        flex-direction: column;
        margin-bottom: 3rem;
    }

    .footer__main h3 {
        margin-bottom: 3rem;
    }
}

/* contact main */

.contact__header {
    padding-top: 7.5rem;
}

.header__marquee3k {
    background-color: transparent;
}

.header__marquee3k h3 {
    font-size: 6rem;
    font-weight: 700;
    color: #e5e5e5;
    letter-spacing: -4px;
    line-height: 1;
}

.header__marquee3k h3 span {
    color: #e5e5e5;
}

.contact__main {
    padding-top: 1.5rem;
}

/* about main */

.about__main {
    padding-top: 7.5rem;
    background-color: #1c1d20;
}

.about__main .header__marquee3k h3 {
    color: rgba(17, 19, 20, 0.4);
}

.about__main .header__marquee3k h3 span {
    color: rgba(17, 19, 20, 0.4);
}

.about__content {
    border-bottom: 1px solid #cccccc;
}

.about__content .col-sm-8 {
    text-align: center;
}

.about__content span {
    letter-spacing: -1px;
    color: #8dffa8;
}

.about__content h2 {
    color: #f3f8ea;
    margin-bottom: 2rem;
}

.about__content p {
    color: #f3f8ea;
}

.about__content .col-sm-8 p {
    font-size: 18px;
    padding: 4rem 10% 2rem;
}

.about__content .col-sm-6 p {
    padding-left: 5rem;
}

.about__content .about__info p {
    padding-right: 5rem;
    padding-left: 0;
}

.about__content .primary__btn {
    margin: 5rem 0 7rem;
}

.about__main .about__services {
    color: #f3f8ea;
    padding: 7rem 0;
}

@media screen and (max-width: 768px) {
    .about__content .col-sm-8 p {
        padding: 4rem 0 2rem;
    }

    .about__content .col-sm-6 p {
        padding-left: 0;
        margin-bottom: 2rem;
    }

    .about__content .about__info p {
        padding-right: 0;
        margin-bottom: 0;
    }

    .about__content .primary__btn {
        margin: 4rem 0;
    }

    .about__main .about__services {
        padding-top: 4rem;
    }
}

/* work main */

.work__header {
    padding-top: 7.5rem;
}

.work__projects .col-sm-8 {
    text-align: center;
}

.work__projects .col-sm-8 span {
    letter-spacing: -1px;
}

.work__projects .col-sm-8 p {
    padding: 20px 20% 5rem;
}

.work__projects .all__projects {
    border-top: 1px solid #cccccc;
    padding: 2rem 0;
}

.all__projects img {
    border-radius: 6px;
    margin-top: 1rem;
}

.project__title {
    display: flex;
    justify-content: space-between;
    padding: 1.5rem 2rem;
}

.project__title b {
    font-weight: 700;
}

.secondary__btn {
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    color: #111314;
    position: relative;
}

.secondary__btn:hover {
    color: #111314;
}

.secondary__btn::before {
    content: "";
    position: absolute;
    bottom: -0.2em;
    left: 0;
    width: 100%;
    height: 2px;
    background-image: linear-gradient(to right, rgb(34, 34, 34) 45%, rgba(34, 34, 34, 0.3) 55%);
    background-repeat: no-repeat;
    background-size: 220% 100%;
    background-position: 100% 50%;
    transition: background-position .6s cubic-bezier(.16, 1, .3, 1), color .3s cubic-bezier(.16, 1, .3, 1);
}

.secondary__btn:hover::before {
    background-position: 0% 50%;
}

/* work 01 */

.work__01__banner {
    background-image: url(/img/work-01-hero-banner.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: auto 100%;
    height: 100vh;
}

.explore__btn {
    position: absolute;
    bottom: 15px;
    left: 50%;
    width: 5.5rem;
    height: 5.5rem;
    background-color: #8dffa8;
    color: #111314;
    padding: 24px 0 0;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 50%;
    z-index: 1;
    opacity: .7;
    -webkit-transform: translate(-50%, -30%);
    -ms-transform: translate(-50%, -30%);
    transform: translate(-50%, -30%);
    transition: transform 0.5s ease;
}

.explore__btn::after {
    content: url(/img/explore-arrow.png);
    display: inherit;
    padding-top: 8px;
}

.explore__btn:hover {
    color: #111314;
    opacity: 1;
    -webkit-transform: translate(-50%, -30%) scale(1.2);
    -ms-transform: translate(-50%, -30%) scale(1.2);
    transform: translate(-50%, -30%) scale(1.2);
}

.work__title {
    padding: 7rem 0 5rem;
}

.work__title p {
    padding: 20px 33% 0 0;
}

.work__info {
    padding: 7rem 0;
}

.work__info P {
    padding-right: 22%;
}

.work__view {
    padding-top: 7rem;
}

/* work 02 */

.work__02 {
    color: #f3f8ea;
    background-color: #1c1d20;
}

.work__02__banner {
    background-image: url(/img/work-02-hero-banner.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: auto 100%;
    height: 100vh;
}

/* work 03 */

.work__03__banner {
    background-image: url(/img/work-1-hero-banner.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: auto 100%;
    height: 100vh;
}


@media screen and (max-width: 768px) {
    .work__title p {
        padding: 20px 0 0 0;
    }

    .work__info {
        padding: 5rem 0;
    }

    .work__info P {
        padding-right: 1.5rem;
    }

    .work__view {
        padding-top: 5rem;
    }

    .work__image {
        padding-bottom: 5rem;
    }
}

/* works view */

.works__view {
    width: 100%;
    max-width: 100%;
    display: flex;
    padding-top: 7rem;
}

.previous {
    position: relative;
    overflow: hidden;
}

.previous a {
    display: block;
}

.next {
    position: relative;
    overflow: hidden;
}

.next a {
    display: block;
}

.previous a:hover img,
.next a:hover img {
    transform: scale(1.1);
    transition: transform 1s ease;
    transform-origin: center center;
}

.previous a img,
.next a img {
    transform: scale(1);
    transition: transform 1s ease;
    transform-origin: center center;
}

.work__view__title {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    text-align: center;
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    transform: translate(-50%, -50%);
    z-index: 2;
}

.work__view__title span {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: -1px;
    color: #8dffa8;
}

.work__view__title h3 {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -1px;
    color: #f3f8ea;
}

.previous:hover span,
.next:hover span {
    color: #f3f8ea;
}

.previous:hover h3,
.next:hover h3 {
    color: #8dffa8;
}

.previous__work__mob {
    display: none;
}

.next__work__mob {
    display: none;
}

@media screen and (max-width: 768px) {
    .previous__work__mob {
        display: block;
    }

    .previous__work {
        display: none;
    }

    .next__work {
        display: none;
    }

    .next__work__mob {
        display: block;
    }

    .work__view__title h3 {
        font-size: 24px;
    }
}