@font-face {
    font-family: 'silk serif';
    src: url('./assets/fonts/silkserif-regularitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Plain Light';
    src: url('./assets/fonts/plain-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: white;
    font-family: "Plain Light";
}

html,
body {
    height: 100%;
    width: 100%;
    cursor: none;

}

body {
    overflow-x: hidden;
}

#crsr {
    pointer-events: none;
    height: 3vw;
    width: 3vw;
    border-radius: 50%;
    position: fixed;
    background-color: transparent;
    z-index: 999;
    border: 1px solid #ffffffdf;
    mix-blend-mode: difference;
    transform: translate(-50%, -50%);
}

#loader {
    position: fixed;
    height: 100vh;
    width: 100%;
    z-index: 999;
    background-color: #000000;
    padding: 25vh 10vw;

}

.line {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: fit-content;
    overflow: hidden;
    gap: 3vw;
}

#line1-part1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2vw;
    width: fit-content;
}

#line1-part1 h5,
#line1-part1 h6 {
    font-size: 4vw;
    font-family: 'silk serif';
}

#line1-part1 h5 {
    width: 5vw;
}

.line h1 {
    font-size: 6.5vw;
    text-transform: uppercase;
    font-weight: 500;
}

.line h2 {
    font-size: 6vw;
    text-transform: uppercase;
    font-family: 'silk serif';
    animation: anime 2s infinite;
    height: 8vw;
    font-weight: 500;
}

@keyframes anime {
    0% {
        font-family: 'Plain Light';
        -webkit-text-stroke: 1px #fff;
        color: white;
        opacity: 1;

    }

    47% {
        font-family: 'Plain Light';
        -webkit-text-stroke: 1px #fff;
        color: white;
        opacity: 0;

    }

    50% {
        font-family: 'silk serif';
        -webkit-text-stroke: 1px #fff;
        color: transparent;
        opacity: 1;

    }

    100% {
        font-family: 'silk serif';
        -webkit-text-stroke: 1px #fff;
        color: transparent;
        opacity: 0;
    }

}

#main {
    position: relative;
    background-color: #151515;
}

#page1 {
    height: 100vh;
    width: 100%;
    background-color: #151515;
}

#page1 #nav {
    display: flex;
    align-self: center;
    justify-content: space-between;
}

.brand__svg {
    margin: 4vw 6vw;
}

/* Mobile menu button */
.mobile-menu-btn {
    display: none;
    height: 10vw;
    width: 10vw;
    margin: 3vw 6vw 3vw 3vw;
    border: 1px solid rgba(255,255,255,0.4);
    border-radius: 50%;
    background: transparent;
    align-items: center;
    justify-content: center;
    gap: 0.8vw;
}
.mobile-menu-btn span {
    display: block;
    height: 2px;
    width: 50%;
    background: #fff;
}

/* Mobile menu panel */
.mobile-menu-panel {
    position: fixed;
    inset: 0;
    background: #151515;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6vw;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1000;
}
.mobile-menu-panel a {
    font-size: 8vw;
    text-transform: uppercase;
}
.mobile-menu-panel.open {
    opacity: 1;
    pointer-events: auto;
}

#nav-part2 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2vw;
    font-weight: 100;
    margin-right: 4vw;
}

#nav-part2 h4 {
    padding: 4vw 1.5vw;
    /*magnet zone */
}

.extra {
    width: 5%;
    height: fit-content;
    position: absolute;
    top: 7%;
    left: 25%;

}

.extra h6 {
    font-weight: 500;
    font-size: 1.2vw;
}

.hero {
    width: 72%;
    margin-left: 28%;
    height: fit-content;
    display: flex;
    align-items: center;
    overflow: hidden;
    z-index: 9999;
}

.hero:nth-child(2) {
    margin-top: 15vh;
}

.hero h1 {
    font-size: 7.2vw;
    text-transform: uppercase;
    line-height: 7vw;
    position: relative;
}

#hero1::before {
    content: '01';
    position: absolute;
    font-family: "silk serif";
    font-size: 3.5vw;
    font-weight: 500;
    left: 21%;
    top: 32.5%;
}

.hero h2 {
    font-size: 7.2vw;
    text-transform: uppercase;
    line-height: 7vw;
    border-bottom: 0.5vw solid white;
    padding-bottom: 0.8vw;
    animation: none;
    display: inline-block;
}

.hero h2:hover {
    -webkit-text-stroke: 1px #fff;
    color: transparent;
    font-weight: 500;
    border-bottom-color: transparent;
    animation-play-state: paused;
}

#page2 {
    height: 100vh;
    width: 100%;
    background-color: #151515;
    padding-top: 7vh;
    margin-bottom: 20vh;
}

#videocontainer {
    background-color: blue;
    height: 60vh;
    width: 70vw;
    position: relative;
    left: 30%;

    background-image: url(https://obys.agency/wp-content/uploads/2022/11/Showreel-2022-preview-1.jpg);
}

#videocontainer img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
}

#videocontainer video {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

#video-cursor {
    background-color: #FFA63D;
    height: 11vw;
    width: 11vw;
    border-radius: 50%;
    position: absolute;
    top: -10%;
    left: 66%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
}

#video-cursor svg {
    height: 3vw;
    width: 3vw;

}

#page3 {
    min-height: fit-content;
    width: 100%;
    background-color: #151515;
    position: relative;
    padding: 1vh 2vw;
    margin-bottom: 50vh;

}

#page3 h1 {
    font-size: 7.3vw;
    text-transform: uppercase;
    margin-bottom: 1.5vh;
    position: relative;
    margin-left: 50vh;
}

#page3 h1::before {
    content: '02';
    position: absolute;
    font-family: "silk serif";
    font-size: 3.5vw;
    font-weight: 500;
    left: -10%;
    top: 10%;
}

#image-container {

    padding: 1vw;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 23vh;
}

.try {
    overflow: hidden;
}

.try h2 {
    font-size: 3vw;
    margin: 2vw;
    margin-bottom: 3vw;
    margin-top: 4vw;
    position: relative;

}

.img-description {
    margin-left: 2vw;
    width: 100%;
    display: flex;

}

.img-description h4 {
    width: 35%;
    font-size: 1.2vw;
    font-weight: 500;
}

.img-description h5 {
    font-size: 1.2vw;
    font-weight: 500;
    margin-left: 38%;
}

.img-underline {
    height: 1px;
    width: 90%;
    margin-left: 2vw;
    margin-top: 2vw;
    background-color: white;
}

.img-div {
    height: 50vh;
    width: 25vw;
    position: relative;
    overflow: hidden;
    margin: 2vw;
}

.try:nth-child(2) .img-div {
    height: 60vh;
    width: 30vw;
    ;
}

.try:nth-child(5) .img-div {
    height: 65vh;
    width: 29vw;
}

.try:nth-child(6) .img-div {
    height: 65vh;
    width: 29vw;
}

.try:nth-child(7) .img-div {
    height: 55vh;
    width: 25vw;
}

.try:nth-child(9) .img-div {
    height: 65vh;
    width: 29vw;
}

.try:nth-child(5) {
    margin-top: 6vh;
    margin-left: 1vw;
}

.try:nth-child(6) {
    margin-top: -7vh;
    margin-left: .7vw;
}

.try:nth-child(7) {
    margin-top: -28vh;
}

.try:nth-child(9) {
    margin-left: 4vw;
}

.page3-circle1 {
    height: 25vw;
    width: 25vw;
    border-radius: 50%;
    border: 1px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 4vw;
    margin-top: 55vh;
    position: relative;
}

.page3-circle1 svg {
    height: 35%;
}

.page3-circle2 {
    height: 25vw;
    width: 25vw;
    border-radius: 50%;
    border: 1px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    
    position: relative;
    margin-top: -10vh;
}

.page3-circle2 svg {
    height: 35%;
    rotate: -45deg;
}

.page3-circle3 {
    height: 25vw;
    width: 25vw;
    border-radius: 50%;
    border: 1px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0vw;
    position: relative;
    margin-top: 60vh;
    margin-left: 1vw;
}

.page3-circle3 svg {
    height: 35%;
    rotate: -90deg;

}

.circle-text {
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0%;
    top: 0%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    border-radius: 50%;

    transition: all 0.4s ease-in-out;
    scale: 0;
    overflow: hidden;
}

.circle-text p {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2vw;
    width: 80%;
    font-weight: 600;
    color: black;
    scale: 0;
    transition: all 0.3s ease-in-out;
    transition-delay: 0.4s;
    opacity: 0;
}

.page3-circle1:hover .circle-text {
    scale: 1;

}

.page3-circle1:hover p {
    scale: 1;
    opacity: 1;
}

.page3-circle2:hover .circle-text {
    scale: 1;
}

.page3-circle3:hover p {
    scale: 1;
    opacity: 1;
}

.page3-circle3:hover .circle-text {
    scale: 1;
}

.page3-circle2:hover p {
    scale: 1;
    opacity: 1;
}

.img-div img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

#project-circle {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20vh;
    margin-top: -5vh;
}

#circle5 {
    height: 45vh;
    width: 45vh;
    background-color: #FFA63D;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

#circle5 h6 {
    font-family: "silk serif";
    font-size: 1.5vw;
    color: white;

}

#circle5:hover {
    scale: 0.8;
    transition: all 0.3s ease-in-out;
}

#page4 {
    min-height: 100vh;
    width: 100%;
    background-color: #151515;
    position: relative;
    padding: 7vh 0;
    margin-bottom: 25vh;
}

#page4-content {
    width: 72vw;
    margin-left: 28vw;
}

#page4-content h1 {
    font-size: 7vw;
    text-transform: uppercase;
    margin-bottom: 1.5vh;
    position: relative;
}

#page4-content h1::before {
    content: '03';
    position: absolute;
    font-family: "silk serif";
    font-size: 3.5vw;
    font-weight: 500;
    left: -10%;
    top: 10%;
}

#page4-content .underline {
    height: 1px;
    width: 92%;
    background-color: white;
    margin-top: 3vw;
    margin-bottom: 5vw;
}


#page4-content>p {
    font-size: 2.3vw;
    margin-bottom: 3vw;
    width: 50%;
}

#page4-flex {
    display: flex;
    margin-top: 10vh;
}

#page4-flex img {
    width: 48%;
}

#page4-flex p {
    font-size: 1.3vw;
    margin-left: 2vw;
    width: 25%;
}

#page4-blue {
    background-color: #3f7df4;
    width: 43vw;
    padding: 4.5vw;
    position: relative;
    margin-top: -18vh;
    margin-left: 24vw;
}

.blue-div-elem {
    display: flex;
    align-items: start;
    justify-content: space-between;
    padding: 1.7vw 0;
    border-bottom: 2px solid rgba(255, 255, 255, 0.724);
}

.blue-div-elem p {
    width: 50%;
    font-size: 1.1vw;
}

.blue-div-elem h4 {
    font-size: 2vw;
    font-weight: 500;
}

#page5 {
    min-height: 100vh;
    width: 100%;
    background-color: #151515;
    position: relative;
}

.elem {
    white-space: nowrap;
    overflow-x: hidden;
}

.elem h1 {
    -webkit-text-stroke: 1px white;
    color: transparent;
    font-size: 8vw;
    font-weight: 300;
    display: inline-block;
    text-transform: uppercase;
    animation-name: slider;
    animation-duration: 20s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.elem2 {
    white-space: nowrap;
    overflow-x: hidden;

}

.elem2 h1 {
    -webkit-text-stroke: 1px white;
    color: transparent;
    font-size: 8vw;
    font-weight: 300;
    display: inline-block;
    text-transform: uppercase;
    transform: translateX(calc(-100% - 20px));
    animation-name: slider;
    animation-duration: 20s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-direction: reverse;
}

@keyframes slider {
    from {
        transform: translateX(0);
    }

    to {
        transform: translate(calc(-100% - 20px));
    }

}

.elem span {
    -webkit-text-stroke: 1px white;
    color: transparent;
    font-size: 8vw;
    font-weight: 300;
    font-family: "silf serif";
    font-style: italic;
}

.elem2 span {
    -webkit-text-stroke: 1px white;
    color: transparent;
    font-size: 8vw;
    font-weight: 300;
    font-family: "silf serif";
    font-style: italic;

}

#footer {
    min-height: 85vh;
    width: 100vw;
    position: relative;
    background-color: #151515;
}

#footer h1 {
    font-size: 8vw;
    width: 80%;
    margin-left: 28vw;
    text-transform: uppercase;
    font-weight: 500;
    position: relative;
    
}


#footer h1::before {
    content: '04';
    position: absolute;
    font-family: "silk serif";
    font-size: 3.5vw;
    font-weight: 500;
    left: -10%;
    top: 10%;
}

.underline2 {
    height: 2px;
    width: 67%;
    background-color: white;
    margin-top: 2.5vw;
    margin-bottom: 3vw;
    margin-left: 28vw;
}

#footer-div {
    width: 60%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-left: 28vw;
    margin-bottom: 5.5vw;
}

#footer-div h6 {
    font-size: 1.3vw;
    margin-bottom: 2vw;
}

#footer-div h5 {
    font-size: 1.8vw;
    font-weight: 500;
}

#footer>h5 {
    font-size: 1.3vw;
    font-weight: 500;
    margin-left: 28vw;
}

._canvas_container {
    z-index: 999999 !important;
    pointer-events: none;
}

#flag {
    height: 24vw;
    position: absolute;
    left: 0;
    right: 0;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: -999;
}

.img-title {
    width: 100%;
    height: 7vw;
    overflow: hidden;
    color: white;
    animation: none;
    display: inline-block;
    animation-play-state: paused;
    position: relative;
    
}

.text1,
.text2 {
    position: absolute;
    left: 0;
    pointer-events: none;
    top: 0;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    #page2 {
        padding-top: 4vh;
        margin-bottom: 12vh;
    }
    #videocontainer {
        width: 90vw;
        left: 5vw;
        height: 50vh;
    }
    #page3 h1 {
        margin-left: 10vw;
        font-size: 8.5vw;
    }
    .img-div {
        width: 40vw;
        height: 40vh;
    }
}

@media (max-width: 768px) {
    html,
    body {
        cursor: auto;
    }

    #crsr {
        display: none;
    }

    #nav {
        padding: 4vw 6vw;
    }

    .brand__svg {
        margin: 0;
    }

    #nav-part2 {
        font-size: 4vw;
        margin-right: 0;
        gap: 6vw;
        display: none;
    }
    .mobile-menu-btn {
        display: inline-flex;
    }

    body.menu-open {
        overflow: hidden;
    }

    #nav-part2 h4 {
        padding: 2vw 0;
    }

    .extra {
        position: static;
        width: auto;
        margin: 4vw 6vw 0;
    }

    .extra h6 {
        font-size: 3.5vw;
    }

    .hero {
        width: 100%;
        margin-left: 0;
        padding: 0 6vw;
    }

    .hero:nth-child(2) {
        margin-top: 10vh;
    }

    .hero h1,
    .hero h2 {
        line-height: 1.1;
    }

    #hero1::before {
        left: 6vw;
        top: 10%;
        font-size: 6vw;
    }

    #page2 {
        padding-top: 4vh;
        margin-bottom: 10vh;
    }

    #videocontainer {
        width: 100vw;
        left: 0;
        height: 40vh;
    }

    #video-cursor {
        display: none;
    }

    #page3 {
        margin-bottom: 20vh;
        padding: 0 6vw;
    }

    #page3 h1 {
        margin-left: 0;
        font-size: 10vw;
    }

    #page3 h1::before {
        left: -12%;
        top: 0;
        font-size: 6vw;
    }

    #image-container {
        margin-bottom: 10vh;
    }

    .img-div {
        width: 88vw;
        height: 40vh;
        margin: 4vw 0;
    }

    /* Stack images for tap-to-toggle on mobile */
    .img-div img {
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        transition: opacity 0.4s ease;
    }
    .img-div img:first-child {
        opacity: 1;
    }

    .img-description {
        flex-direction: column;
        gap: 2vw;
    }

    .img-description h4,
    .img-description h5 {
        width: 100%;
        font-size: 3.5vw;
        margin-left: 0;
    }

    .img-underline {
        width: 100%;
        margin-left: 0;
    }

    .page3-circle1,
    .page3-circle2,
    .page3-circle3 {
        display: none;
    }

    #page4 {
        padding: 6vh 0;
        margin-bottom: 15vh;
    }

    #page4-content {
        width: 100%;
        margin-left: 0;
        padding: 0 6vw;
    }

    #page4-content h1 {
        font-size: 10vw;
    }

    #page4-content h1::before {
        left: -10%;
        font-size: 6vw;
    }

    #page4-content .underline {
        width: 100%;
        margin-top: 4vw;
    }

    #page4-content>p {
        width: 100%;
        font-size: 4vw;
    }

    #page4-flex {
        flex-direction: column;
        gap: 4vw;
        margin-top: 6vh;
    }

    #page4-flex img {
        width: 100%;
    }

    #page4-flex p {
        width: 100%;
        font-size: 3.8vw;
        margin-left: 0;
    }

    #page4-blue {
        width: 100%;
        margin-left: 0;
        margin-top: 4vh;
        padding: 6vw;
    }

    /* Accordion behavior for awards on mobile */
    .blue-div-elem {
        flex-direction: column;
        gap: 2vw;
    }
    .blue-div-elem p {
        max-height: 0;
        overflow: hidden;
        opacity: 0.6;
        transition: max-height 0.3s ease, opacity 0.3s ease;
        width: 100%;
    }
    .blue-div-elem.open p {
        max-height: 40vw;
        opacity: 1;
    }

    .blue-div-elem p {
        width: 60%;
        font-size: 3.5vw;
    }

    .blue-div-elem h4 {
        font-size: 5vw;
    }

    #footer h1 {
        margin-left: 0;
        padding: 0 6vw;
        width: 100%;
        font-size: 12vw;
    }

    #footer h1::before {
        left: 0;
    }

    .underline2 {
        width: 88vw;
        margin-left: 6vw;
    }

    #footer-div {
        width: 88vw;
        margin-left: 6vw;
        flex-direction: column;
        gap: 6vw;
    }

    #footer-div h6 {
        font-size: 3.5vw;
    }

    #footer-div h5 {
        font-size: 4.5vw;
        font-weight: 500;
    }

    #footer>h5 {
        margin-left: 6vw;
        font-size: 3.2vw;
    }

    #flag {
        display: none;
    }
}

@media (max-width: 480px) {
    #videocontainer {
        height: 32vh;
    }

    .img-div {
        height: 32vh;
    }

    .line h1,
    .line h2 {
        font-size: 10vw;
    }

    #nav-part2 {
        font-size: 4.5vw;
    }
}
