@font-face {
  font-family: monty;
  src: url('../Assets/Fonts/Montserrat-Medium.ttf');
}

* {
  margin: 0;
  padding: 0;
  font-family: monty;
}

body {
  overflow-x: hidden;
  overflow-y: hidden;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body::-webkit-scrollbar {
  width: 1vw;
  background: #020040;
  height: 10vh;
}

body::-webkit-scrollbar-thumb {
  background-color: #ffffff;
  border-radius: 4px;
  -webkit-transition-duration: 0.4s;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset;
  /* Safari */
  overflow: scroll;
  overflow: overlay;
  transition-duration: 0.4s;
}

body::-webkit-scrollbar-track {
  background: #020040;
}

/* PRELOADER */

.preloader {
  display: grid;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  grid-auto-columns: auto;
  grid-auto-rows: auto;
  align-items: center;
  justify-content: center;

}

#preload {
  position: fixed;
  background-color: #020024;
  height: 100vh;
  width: 100vw;
  z-index: 9999999;
  margin: 0;
  padding: 0;
}

.mobile {
  display: none;
}

.total {
  align-self: center;
  justify-content: center;
}

.speakers,
.forum {
  display: flex;
  padding: 20px;
  flex-wrap: wrap;
  align-self: center;
  justify-content: center;
}

.s1 {
  animation: example 500ms linear 1200ms 1 forwards;
}

.s2 {
  animation: example 500ms linear 1300ms 1 forwards;

}

.s3 {
  animation: example 500ms linear 1400ms 1 forwards;
}

.s4 {
  animation: example 500ms linear 1500ms 1 forwards;
}

.s5 {
  animation: example 500ms linear 1600ms 1 forwards;

}

.s6 {
  animation: example 500ms linear 1700ms 1 forwards;

}

.s7 {
  animation: example 500ms linear 1800ms 1 forwards;

}

.s8 {
  animation: example 500ms linear 1900ms 1 forwards;

}

.s9 {
  animation: example 500ms linear 2000ms 1 forwards;

}

.f1 {
  animation: example 500ms linear 1100ms 1 forwards;

}

.f2 {
  animation: example 500ms linear 1200ms 1 forwards;

}

.f3 {
  animation: example 500ms linear 1300ms 1 forwards;

}

.f4 {
  animation: example 500ms linear 1400ms 1 forwards;

}

.f5 {
  animation: example 500ms linear 1500ms 1 forwards;

}

.sf {
  padding: 20px;
  position: relative;
  margin-left: 1px;
  color: #ffd700;
  font-size: 56px;
}

.disappear {
  animation: vanish 1s forwards;
  animation-delay: 0s;
}

#pre-logo {
  position: absolute;
  background-size: contain;
  height: 175px;
  width: 175px;
  top: 3.4%;
  left: 2.8%;
}

@keyframes vanish {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes example {

  0% {
    transform: rotateX(0deg);
  }

  25% {
    transform: rotateX(90deg);
  }

  50% {
    transform: rotateX(180deg);
  }

  75% {
    transform: rotateX(270deg);
  }

  100% {
    transform: rotateX(360deg);
  }
}


/* ------------- NAV BAR ------------ */
a {
  text-decoration: none;
  color: #fff;
}

nav {
  width: 100vw;
  height: 20vh;
  display: grid;
  grid-template-columns: 15% 20% 50% 15%;
}

#logo {
  padding-top: 10%;
  padding-left: 20%;
}

#logo img {
  width: 100%;
}

#nav-loc-body {
  display: grid;
  grid-template-columns: 25% 25% 25% 25%;
  place-items: center;
  margin-top: -5%;
}

.nav-btn {

  border-radius: 4px;
  padding: 10%;
  height: 10%;
  background-color: white;
  border: none;
  font-size: 22px;
  color: #020024;
  display: flex;
  align-items: center;
  justify-content: center;
  transition-duration: 400ms;
}

.nav-btn a {
  color: #020024;
}

.nav-btn::after {
  position: absolute;
  content: "";
  width: 80%;
  height: 3px;
  top: 100%;
  left: 10%;
  background: #C88843;
  transition: transform 0.75s;
  transform: scaleX(0);
  transform-origin: right;
}

.nav-btn:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.nav-btn:hover {
  scale: 1.05;
}

#contact-us-btn-body {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 10%;
  z-index: 1;
}

button {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
}

button.btn {
  width: 100%;
  height: auto;
  margin-top: -15%;
}

button.btn .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 50px;
  height: 50px;
  background: #020024;
  border-radius: 1.625rem;
}

.icon {
  position: absolute;
  color: white;
  left: 12px;
  font-size: 24px;
}

button.btn .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #020024;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

button:hover .circle {
  width: 100%;
}


button:hover .button-text {
  color: #fff;
}

#resp-btn {
  display: none;
  position: absolute;
  z-index: 999999;
  right: 10vw;
  top: -12.5vh;
}

#resp-nav {
  background-color: #020024;
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 999998;
  transition: ease-in-out 1s;
  display: flex;
  align-items: center;
  justify-content: top;
  flex-direction: column;
}

.resp-nav-btn {
  padding: 5%;
  margin-top: 5vh;
  color: white;
  font-size: 24px;
  width: 90%;
}

.resp-nav-btn:hover {
  text-decoration: underline;
}

/* HERO PAGE */

#sf-main-intro {
  height: 80vh;
  width: 100vw;
  max-width: 100%;
  display: flex;
}

#sf-main-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: top;
  padding: 5%;
  margin-top: 5%;

}

#welcome-to-sf {
  color: #020024;
  font-size: 48px;
  font-weight: 900;
  text-transform: uppercase;
}

#welcome-sf-p {
  text-align: center;
  margin-top: 5%;
  font-weight: 400;
}

#sf-main-img {
  width: 100%;
  height: 100%;
  background-image: url(/./Assets/Images/sfwelcome.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding-right: 10%;
}

#current-event-card {
  width: 90%;
  background-color: #020024;
  height: 100%;
  margin-top: 5%;
  border-radius: 16px;
  display: flex;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

#ce-img {
  width: 40%;
  height: 100%;
  background-size: contain;
  border-radius: 16px 0 0 16px;
}

#ce-cont {
  width: 60%;
  height: 100%;
  display: flex;
  color: white;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#ce-title {
  font-size: 24px;
}

#ce-viewmore {
  background-color: white;
  width: 50%;
  border-radius: 8px;
  padding: 2%;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  margin-top: 5%;
  transition: ease-in-out 0.5s;
}


#ce-viewmore:hover {
  scale: 1.05;
}

/* ------------- Intro ------------ */

#sf-details {
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  /* background-image: url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT-tykJ41Pfi_KjG-hCNszPX-gx2wQs3Uu3Wg&usqp=CAU); */
  background-image: url(../Assets/Images/sfevents.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;

}

.sf-details-card {
  height: 75%;
  width: 100%;
  margin: 5%;
  padding: 2%;
  border-radius: 16px;
  text-align: left;
  /* box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset; */
  border-top: 5px solid #020024;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #020024;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;
}

.sf-details-num {
  position: absolute;
  top: 5%;
  left: 10%;
  color: white;
  display: flex;
  font-size: 128px;
  z-index: -1;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
}

.sf-details-num i {
  color: rgba(255, 255, 255, 0.1);
}

.sf-details-title {
  position: absolute;
  top: 15%;
  height: 10%;
  padding: 5%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110%;
  color: white;
  text-align: center;
}

.sf-details-p {
  background-color: #020024;
  color: white;
  font-size: 15px;
  padding: 5%;
  margin-top: 35%;
  font-weight: 500;
  text-align: justify;
}

/* TIMELINE */
.title {
  font-size: xx-large;
  text-align: center;
}

#tl {
  width: 100vw;
  background-color: #ffffff;
  margin-left: -1.5%;
  background-image: url(../Assets/Images/gdbg.png);
  background-size: cover;

}

#timeline {
  width: 100%;
  height: 80%;
  min-width: 380px;
  min-height: 875px;
  position: relative;
  left: 2%;
  padding: 3%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

}

.card {
  font-size: medium;
  min-width: 250px;
  min-height: 100px;
  width: 90%;
  height: 25%;
  background-color: #020024;
  color: white;
  padding: 2%;
  border-radius: 10px;
  margin-left: 2%;
  margin-top: -1%;
}

#timeline .card:last-child {
  margin-bottom: 0%;
}

#timeline::before {
  content: '';
  height: 100%;
  width: 5px;
  background: var(--color, linear-gradient(to top,
        white 0% white 100%));
  position: absolute;
  left: 1%;
  margin-top: -1.25%;
}

.card::before {
  content: '';
  width: 10px;
  height: 10px;
  background-color: #C88843;
  border-radius: 50%;
  position: absolute;
  left: -4.7%;
}

.heading {
  font-size: large;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 25%;
  color: #ffd700;
}

.content {
  padding-top: 3%;
  font-style: italic;
  text-align: justify;
}



.question {
  margin: 0%;
}

section p {
  padding-top: 1%;
}

#QA-area {
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  top: 15%;
  color: #fff;
  background-color: #020024;
}

section {
  padding: 2%;
  width: 80%;
  margin-top: 2%;
  border-radius: 16px;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  border: 1px solid white;
  margin-bottom: 2%;
}

#QA-title {
  text-align: center;
  padding: 5%;
  font-size: 36px;
  color: #020024;
  text-decoration: underline;
  text-underline-offset: 50%;
}

section {
  display: grid;
  grid-template-columns: 1fr 5fr;
  grid-template-rows: 1fr;
  column-gap: 25px;
}

/*New Model*/
section:nth-child(even) {
  grid-template-columns: 5fr 1fr;
}

.icon1 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 500%;
  color: #ffd700;
}

/* FOOTER */

footer {
  height: 50vh;
  display: flex;
  width: 100vw;
  background-color: #020024;
  align-items: center;
  justify-content: center;
  color: white;
  padding: 2%;
}

footer div {
  width: 100%;
  padding: 5%;
}

#address h3 {
  color: #C88843;
}

#address address {
  margin-top: 5%;
  font-weight: 100;
}

#links {
  padding: 5%;
}

#links h3 {
  font-weight: 300;
  padding-top: 5%;
  padding-bottom: 10%;

}

#links h2 {
  color: #C88843;
}

#links ul{
  margin-top: 5%;
}

#links li {
  list-style-type: none;
}

#socials {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-left: -20%;
}
#socials h2 {
  font-size: larger;
}

#socials i {
  font-size: xx-large;
  padding: 5%;
}

#socials div {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

#socials a {
  padding: 5%;
}

/* RESPONSIVE */

@media only screen and (max-width: 1024px) {
  #nav-loc-body {
    display: none;
  }

  #contact-us-btn-body {
    display: none;
  }

  nav {
    width: 100vw;
    height: 10vh;
    grid-template-columns: 20% 60% 20%;
  }

  #logo {
    padding-top: 20%;
    padding-left: 20%;
  }

  #logo img {
    width: 120%;
  }

  #resp-btn {
    display: block;
    padding-top: 40%;
  }

  #resp-btn i {
    font-size: 36px;
  }

  #resp-nav {
    height: 100vh;
    width: 100vw;
  }
#sf-main-intro {
    height: 60vh;
    max-width: 100vw;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
 #sf-main-img {
    background-position: center center;
    background-size: contain;
    padding-right: 0%;
    height: 80%;
  }
}

@media only screen and (max-width: 512px) {
  #nav-loc-body {
    display: none;
  }

  #contact-us-btn-body {
    display: none;
  }

  nav {
    width: 100vw;
    height: 10vh;
    grid-template-columns: 20% 60% 20%;
  }

  #logo {
    padding-top: 20%;
    padding-left: 20%;
  }

  #logo img {
    width: 120%;
  }

  #resp-btn {
    display: block;
    padding-top: 40%;
  }

  #resp-btn i {
    font-size: 36px;
  }

  #resp-nav {
    height: 100vh;
    width: 100vw;
  }

  #sf-main-intro {
    height: 80vh;
    max-width: 100vw;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  #welcome-to-sf {
    font-size: 28px;
  }

  #sf-main-img {
    background-position: center center;
    background-size: contain;
    padding-right: 0%;
    height: 50%;
  }

  #ce-img {
    background-position: initial;
  }

  #ce-viewmore {
    padding: 0.5%;
    width: 80%;
    border-radius: 4px;
    box-shadow: none;
    margin-top: 0;
    margin-bottom: 5%;
  }

  #ce-title {
    font-size: 24px;
  }

  .sf {
    padding: 8px;
    color: #ffd700;
    font-size: 28px;
  }

  #pre-logo {
    height: 75px;
    width: 75px;
    top: 2.2%;
    left: 3.4%;
  }

  #sf-details {
    margin-top: 0;
    flex-direction: column;
    height: 200vh;
    background-size: cover;
  }

  .sf-details-num {
    height: 20%;
  }

  .sf-details-card {
    padding-top: 0;
    height: 100%;
    width: 80%;
  }

  .sf-details-p {
    font-size: 13px;
    width: 90%;
    height: 50%;
  }
  footer {
    height: 80vh;
    flex-direction: column;
    padding: 5%;
  }
  #address address {
    font-size: small;
  }
}

@media(min-width:426px) {
  #timeline {
    width: 80%;
    left: 10%;
    min-width: 550px;
    min-height: none;
    padding: 1%;
  }

  .card {
    min-width: 250px;
    width: 45%;
    font-size: 90%;
    margin-left: 0%;
  }

  #timeline .card:nth-child(even) {
    position: relative;
    left: 55%;
  }

  #timeline::before {
    left: 50%;
  }

  .card:nth-child(odd)::before {
    position: absolute;
    left: 101.7%;
  }

  .card:nth-child(even)::before {
    position: absolute;
    left: -10.5%;
  }

  .card .heading {
    color: #ffd700;
  }
}

@media (min-width:767px) {
  .heading {
    font-size: x-large;
  }

  .content {
    font-size: 100%;
  }
}

@media (min-width:1440px) {
  .content {
    font-size: 120%;
  }
}


@media (max-width:425px) {
  #QA-area {
    min-height: 800px;
  }

  #QA-title {
    text-decoration: none;
    text-underline-offset: 10%;
  }

  section {
    padding: 5%;
    min-height: 200px;
    grid-template-columns: 100%;
  }
  section:nth-child(even) {
    display: flex;
    flex-direction: column-reverse;
    /* grid-template-columns: 100%; */
  }
  section:last-child {
    margin-bottom: 10%;
  }
  section:first-child {
    margin-top: 10%;
  }
  section .question {
    text-align: center;
    display: flex;
    flex-direction: column-reverse;
    /* grid-template-columns: 100%; */
  }
  .question {
    font-size: large;
    text-align: center !important;
  }
  section p {
    font-weight: 100;
  }
  .icon {
    font-size: 200%;
  }
}

@media (max-width:768px) {
  #QA-area {
    min-height: 800px;
  }
}

/* Contact Us */

@media (max-width:600px) {

  body,
  html {
    padding: 0;
    margin: 0;
  }

  .outer-div {
    background-color: #020024;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }

  .left-side {
    color: white;
    width: 100%;
    padding: 2%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
  }

  .left-side-form {
    padding: 2%;
    box-sizing: border-box;


  }

  .right-side {

    display: flex;
    justify-content: center;
    width: 100%;
    padding: 2%;
    box-sizing: border-box;

  }

  .input,
  .textarea {
    width: 100%;
    padding: 4%;
    margin-top: 2%;
    border: none;
    font-size: 15px;
    border-radius: 5px;
    outline: none;
    outline-offset: none;
    box-sizing: border-box;
  }

  .textarea {
    height: 100px;
    resize: none;
  }

  .submit {
    padding: 2.5%;
    font-size: 15px;
    text-align: center;
    width: 100%;
    margin-top: 2%;
    position: relative;
    background-color: white;
    border: none;
    border-radius: 25px;
    align-self: center;

  }

  .submit:hover {
    background-color: #020024;
    color: white;
    cursor: pointer;
    border: 2px solid white;
  }

  
  .outer-div img {
    height: 50%;
    width: 80%;
    margin: 10% 0%;
  }
}

@media (min-width:601px) {

  body,
  html {
    margin: 0;
    padding: 0;

  }

  .outer-div {
    background-color: #020024;
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    box-sizing: border-box;

  }

  .left-side {
    color: white;
    width: 55%;
    padding: 2%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
  }

  .left-side-form {
    padding: 2%;
    box-sizing: border-box;


  }

  .right-side {
    margin: 2%;
    display: flex;
    justify-content: center;
    width: 45%;
    padding: 2%;
    box-sizing: border-box;

  }

  .input,
  .textarea {
    width: 90%;
    padding: 3%;
    margin-top: 2%;
    font-size: 15px;
    border: none;
    border-radius: 5px;
    outline: none;
  }

  .textarea {
    height: 100px;
    resize: none;

  }

  .submit {
    padding: 1.5%;
    width: 25%;
    margin-top: 2%;
    position: relative;
    background-color: white;
    border: 2px solid white;
    border-radius: 25px;
    align-self: center;

  }

  .submit:hover {
    background-color: #020024;
    color: white;
    cursor: pointer;
    border: 2px solid white;
  }

  
  .outer-div img {
    height: 90%;
    width: 90%;
    align-self: center;
  }
}