@font-face {
    font-family: RetroBoldy;
    src: url(../fonts/RetroBoldyRegular-6Yw6v.ttf);
}


:root {
    --color-primary: #0B2034;
    --color-secondary: #1FC3A5;
    --color-white: #ffffff;
    --color-black: #000000;
    --color-red: #D90000;
}

html {
    font-size: 10px;
    font-family: 'Lato', sans-serif;
}

body {
    height: 100vh;
    overflow: hidden;
}

* {
    margin: 0;
    padding: 0;
}

.container {
    max-width: 120rem !important;
}

.button {
    background-color: var(--color-black);
    padding: 1.4rem 2rem;
    /* border-radius: 5rem; */
    width: fit-content;
    color: var(--color-white);
    font-size: 1.6rem;
    display: flex;
    text-decoration: none;
    cursor: pointer;
}

.button:hover {
    color: var(--color-white);
}

.button p {
    padding: 0;
    margin: 0;
    font-weight: 500;
    margin-right: 1.2rem;
}

.button img {
}

/* nav section */
.nav {
    width: 100%;
}

.nav .container {
    display: flex;
    justify-content: space-between;
    transform: translate(0, 4rem);
    z-index: 2;
}


.nav .title a {
    color: var(--color-white);
    text-decoration: none;
}

.nav .title a > span {
    display: block;
}

.nav .title a .primary {
    font-size: 3.1rem;
    font-family: 'Dancing Script', cursive;
}

.nav .title a .secondary {
    font-size: 1.4rem;
    font-weight: 400;
}

.nav .menu-icon-container {
    background-color: var(--color-white);
    border-radius: 50%;
    width: 4.8rem;
    height: 4.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.nav .menu {
    position: absolute;
    top: 0;
    left: -100vw;
    width: 100vw;
    height: 100vh;
    background-color: #1FC3A5;
    z-index: 1;
    overflow: hidden;
}

.nav .menu .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.nav .menu.active {
    left: 0;
    transition: all .8s ease;
}

.nav .menu-items {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.nav .menu-item {
    font-size: 5.2rem;
    font-weight: bold;
    margin-bottom: 2rem;
    position: relative;
    width: fit-content;
    overflow-x: hidden;
}

.nav .menu-item::after {
    content: "";
    position: absolute;
    left: -100%;
    /* bottom: -5px; */
    bottom: 0;
    width: 100%;
    height: 5px;
    background-color: white;
    border-radius: 5px;
}

.nav .menu-item:hover:after {
    left: 0;
    transition: all 0.5s;
}

.nav .menu-item a {
    text-decoration: none;
    color: inherit;
}

.nav .menu-text {
    font-size: 1.4rem;
    font-weight: 500;
    opacity: 0.8;
}

/* nav ends */


/* hero section */

.hero {
    background-color: var(--color-primary);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: center; */
    padding: 0 1.4rem;
    position: relative;
}

.hero .logo-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: -6rem;
    flex: 1;
}

.hero .logo {
    max-height: 21rem;
    max-width: 100%;
    filter: brightness(0) invert(1);
    }

.hero .ring {
    border-radius: 50%;
    padding: 4px;
    border: 8px solid white;
}

.hero .ring-inner {
    padding: 3.8rem 3rem;
    border-color: #f30707;
    animation: ring-lights-inner 1s ease 2.5s 3;
    /* animation-direction: alternate-reverse; */
}

.hero .ring-middle {
    border-color: #FF01A9;
    animation: ring-lights-middle 1s ease 2.5s 3;
    /* animation-direction: alternate-reverse; */
}

.hero .ring-outer {
    border-color: #1FC2A5;
    transform: translate(0, 6rem);
    animation: ring-lights-outer 1s ease 2.5s 3;
    /* animation-direction: alternate-reverse; */
}

@keyframes ring-lights-inner {
    0% { 
        border-color: #f30707;
    }
    33% { 
        border-color: #f30707;
    }
    34% { 
        border-color: #f30707b3; 
    }
    100% { 
        border-color: #f30707B3; 
    }
}

@keyframes ring-lights-middle {
    0% { 
        border-color: #FF01A9B3; 
    }
    33% { 
        border-color: #FF01A9B3; 
    }
    34% { 
        border-color: #FF01A9;
    }
    66% { 
        border-color: #FF01A9; 
    }
    67% { 
        border-color: #FF01A9B3; 
    }
    100% { 
        border-color: #FF01A9B3; 
    }
}

@keyframes ring-lights-outer {
    0% { 
        border-color: #1FC3A580; 
    }
    66% { 
        border-color: #1FC3A580; 
    }
    67% { 
        border-color: #1FC3A5; 
    }
    100% { 
        border-color: #1FC3A5; 
    }
}

.hero .ring-container {
    /* background-color: blue; */
    overflow: hidden;
}

.hero .logo-text-container {
    width: 100%;
    text-align: center;
    margin-top: 0.6rem;
}

.hero .logo-text {
    max-height: 11rem;
    max-width: 100%;
    filter: brightness(0) invert(1);
}

.hero .logo-subtext-container {
    font-size: 2.2rem;
    font-style: italic;
    color: var(--color-white);
    margin-top: 2rem;
}

.hero .underline {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
}

.hero .underline .line {
    background-color: var(--color-white);
    width: 5rem;
    height: 0.5rem;
    border-radius: 2rem;
    margin-right: 0.5rem;
}

.hero .underline .dot {
    width: 0.6rem;
    height: 0.6rem;
    background-color: #D90000;
    border-radius: 50%;
}
/* hero ends */


/* about section */

.about {
    background-color: var(--color-secondary);
    padding: 10rem 0;
    color: var(--color-primary);
}

.about .container {
    display: flex;
    justify-content: space-between;
    /* align-items: stretch; */
}

.about .text-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.about .title {
    font-size: 6rem;
    font-weight: 700;
}

.about .text {
    margin-bottom: 3rem;
    font-weight: 500;
}

.about .text > p {
    font-size: 1.8rem;
    line-height: 2.8rem;
}


.about .image-container {
}

.about .image-inner-container {
    display: flex;
    justify-content: flex-end;
    height: 100%;
    position: relative;

}

.about .image-inner-container::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom: 8rem solid var(--color-secondary);
    border-left: 8rem solid grey;
}

.about .image {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

@media (max-width: 767px) {
    .about {
        padding: 7rem 1.4rem;
    }
    .about .title {
        font-size: 5.2rem;
    }
}
/* about ends */

/* tagline section  */

.tagline {
    background-color: var(--color-primary);
    padding: 10rem 0;
}

.tagline .container {
    /* text-align: right; */
}

.tagline .texts {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-family:'Chilanka', 'Lato', sans-serif;
}

.tagline .text {
    font-size: 3.6rem;
    font-weight: 500;
    margin-bottom: 0;
    padding-bottom: 1rem;
    cursor: pointer;
}


.tagline .text:nth-child(3n+0) {
    color: grey;
}

.tagline .text:nth-child(3n+1) {
    color: grey;
}

.tagline .text:nth-child(3n+2) {
    color: grey;
}

.tagline .text.active:nth-child(3n+0) {
    color: #1FC3A5;
    text-shadow: 0 0 7px #1FC3A580, 
                     0 0 10px #1FC3A580, 
                     0 0 21px #1FC3A580,
                     0 0 42px #1FC3A5;
}

.tagline .text.active:nth-child(3n+1) {
    color: #ff01aa;
    text-shadow: 0 0 7px #FF01A980, 
                     0 0 10px #FF01A980, 
                     0 0 21px #FF01A980,
                     0 0 42px #FF01A9;
}

.tagline .text.active:nth-child(3n+2) {
    color: #f6a121;
    text-shadow: 0 0 7px #f6a12180, 
                     0 0 10px #f6a12180, 
                     0 0 21px #f6a12180,
                     0 0 42px #f6a121;
}

.tagline .text.animate:nth-child(3n+0) {
    color: #1FC3A5;
    animation: dangling-lights-first 2s ease infinite;
}

.tagline .text.animate:nth-child(3n+1) {
    color: grey;
    animation: dangling-lights-second 2s ease infinite;
}

.tagline .text.animate:nth-child(3n+2) {
    color: grey;
    animation: dangling-lights-third 2s ease infinite;
}

.tagline .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@media(max-width: 1136px) {
    .tagline .text {
        font-size: 3rem;
    }
}

@media(max-width: 988px) {
    .tagline .text {
        font-size: 2.6rem;
    }
}

@media(max-width: 800px) {
    .tagline .text {
        font-size: 2.4rem;
    }
}

@media (max-width: 767px) {
    .tagline {
        padding: 7rem 1.4rem;
    }
    .tagline .image {
        margin-bottom: 4rem;
    }
}


@keyframes dangling-lights-first {
    0% { 
        color: #1FC3A5;
        text-shadow: 0 0 7px #1FC3A580, 
                     0 0 10px #1FC3A580, 
                     0 0 21px #1FC3A580,
                     0 0 42px #1FC3A5;
    }
    33% { 
        color: #1FC3A5; 
        text-shadow: 0 0 7px #1FC3A580, 
                     0 0 10px #1FC3A580, 
                     0 0 21px #1FC3A580,
                     0 0 42px #1FC3A5;
    }
    34% { 
        color: grey; 
        text-shadow: none;
    }
    100% { 
        color: grey; 
        text-shadow: none;
    }
}

@keyframes dangling-lights-second {
    0% { 
        color: grey; 
        text-shadow: none;
    }
    33% { 
        color: grey; 
        text-shadow: none;
    }
    34% { 
        color: #FF01A9; 
        text-shadow: 0 0 7px #FF01A980, 
                     0 0 10px #FF01A980, 
                     0 0 21px #FF01A980,
                     0 0 42px #FF01A9;
    }
    66% { 
        color: #FF01A9; 
        text-shadow: 0 0 7px #FF01A980, 
                     0 0 10px #FF01A980, 
                     0 0 21px #FF01A980,
                     0 0 42px #FF01A9;
    }
    67% { 
        color: grey; 
        text-shadow: none;
    }
    100% { 
        color: grey; 
        text-shadow: none;
    }
}

@keyframes dangling-lights-third {
    0% { 
        color: grey; 
        text-shadow: none;
    }
    66% { 
        color: grey; 
        text-shadow: none;
    }
    67% { 
        color: #f6a121; 
        text-shadow: 0 0 7px #f6a12180, 
                     0 0 10px #f6a12180, 
                     0 0 21px #f6a12180,
                     0 0 42px #f6a121;
    }
    100% { 
        color: #f6a121; 
        text-shadow: 0 0 7px #f6a12180, 
                     0 0 10px #f6a12180, 
                     0 0 21px #f6a12180,
                     0 0 42px #f6a121;
    }
}
/* tagline ends */


/* events section */

.gradient {
    overflow-x: hidden;
}

.gradient p {
    font-size: 1.8rem;
    font-weight: 500;
    padding: 2rem 5rem;
    background: linear-gradient(90.03deg, #D90000 0.02%, #FF01A9 50%, #1FC3BD 99.98%);
    color: var(--color-white);
    margin: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.gradient p span {
    white-space: nowrap;
}

.gradient p span:not(:last-child) {
    margin-right: 4.1rem;
}

.events {
    background-color: hsl(0, 0%, 98%);
}

.event {
    display: flex;
    align-items: center;
}

.event:not(:last-child) {
    margin-bottom: 14rem;
}

.event:nth-child(2n){
    flex-direction: row-reverse;
}

.event .image {
    max-height: 30rem;
    margin-right: 4rem;
}

.event:nth-child(2n) .image {
    margin-right: 0;
}

.event:nth-child(2n) .text-content {
    margin-right: 4rem;
}

.event .text-content {
    max-width: 61rem;
}

.event .title {
    font-size: 6rem;
    font-weight: 700;
    margin-bottom: 1.1rem;
}

.event .description {
    font-size: 1.6rem;
    line-height: 2.4rem;
    font-weight: 500;
    margin-bottom: 2.2rem;
}

.events .container {
    padding: 14rem 0;
}

@media (max-width: 767px) {
    .events .container {
        padding: 7rem 1.4rem;
    }
}

@media (max-width: 767px) {
    .event,
    .event:nth-child(2n) {
        flex-direction: column;
        align-items: flex-start;
    }
    .event .image {
        margin: 0;
        max-width: 100%;
    }
    .event:not(:last-child) {
        margin-bottom: 7rem;
    }
    .event .title {
        font-size: 5.2rem;
    }
}

/* events ends */

/* footer section */

.footer {
    background-color: var(--color-primary);
    padding: 10.8rem 0 4.8rem 0;
    margin: 0;
    color: var(--color-white);
}

.footer .title {
    background: var(--color-white);
    width: fit-content;
    background: linear-gradient(90.03deg, #D90000 0.02%, #FF01A9 50%, #1FC3BD 99.98%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 6rem;
    margin-bottom: 9px;
}

.footer .subtitle {
    font-size: 1.6rem;
    max-width: 76.4rem;
    margin-bottom: 8.3rem;
}

.footer .links {
    font-size: 1.6rem;
    display: flex;
    flex-direction: row;
    list-style-type: none;
    margin-bottom: 10rem;
}

.footer ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.footer .link-wrapper:not(:last-child) {
    margin-right: 4rem;
}

.footer .link-wrapper:nth-child(2) {
    max-width: 40rem;
}

.footer .link {
    margin-bottom: 1rem;
    /* line-height: 1.92rem; */
}

.footer .link a {
    text-decoration: none;
    color: inherit;
}

.footer .link-title {
    position: relative;
    width: fit-content;
    margin-bottom: 2rem;
}

.footer .link-title::after {
    content: "";
    height: 2px;
    background-color: var(--color-white);
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -4px;
}


.footer .copyright {
    font-size: 1.6rem;
    display: flex;
    justify-content: space-between;
}

.footer .social a {
    text-decoration: none;
    margin-right: 0.8rem;
}

.footer .social img:not(:last-child){
}

@media (max-width: 673px) {
    .footer .links {
        flex-direction: column;
    }
    
    .footer .link-wrapper:not(:last-child) {
        margin-bottom: 2rem;
    }

    .footer .copyright {
        flex-direction: column;
    }

    .footer .social{
        text-decoration: none;
        margin-right: 0;
        margin-top: 1rem;
    }
    .footer .title {
        font-size: 5.2rem;
    }
}

@media (max-width: 767px) {
    .footer {
        padding: 7rem 1.4rem;
    }
    .footer .subtitle {
        margin-bottom: 6rem;
    }
    .footer .links {
        margin-bottom: 6rem;
    }
}

/* footer ends */


/* spinner starts */

.spinner {
    -webkit-animation: rotator 1.4s linear infinite;
            animation: rotator 1.4s linear infinite;
  }
  
  @-webkit-keyframes rotator {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(270deg);
    }
  }
  
  @keyframes rotator {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(270deg);
    }
  }
  .path {
    stroke-dasharray: 187;
    stroke-dashoffset: 0;
    transform-origin: center;
    -webkit-animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite;
            animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite;
  }
  
  @-webkit-keyframes colors {
    0% {
      stroke: #4285F4;
    }
    25% {
      stroke: #DE3E35;
    }
    50% {
      stroke: #F7C223;
    }
    75% {
      stroke: #1B9A59;
    }
    100% {
      stroke: #4285F4;
    }
  }
  
  @keyframes colors {
    0% {
      stroke: #4285F4;
    }
    25% {
      stroke: #DE3E35;
    }
    50% {
      stroke: #F7C223;
    }
    75% {
      stroke: #1B9A59;
    }
    100% {
      stroke: #4285F4;
    }
  }
  @-webkit-keyframes dash {
    0% {
      stroke-dashoffset: 187;
    }
    50% {
      stroke-dashoffset: 46.75;
      transform: rotate(135deg);
    }
    100% {
      stroke-dashoffset: 187;
      transform: rotate(450deg);
    }
  }
  @keyframes dash {
    0% {
      stroke-dashoffset: 187;
    }
    50% {
      stroke-dashoffset: 46.75;
      transform: rotate(135deg);
    }
    100% {
      stroke-dashoffset: 187;
      transform: rotate(450deg);
    }
  }

.spinner-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: 100;
    background-color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}
/* spinner ends */