* {
  margin: 0;
  padding: 0;
}

body {
  height: 100%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-image: radial-gradient(circle at center, rgb(0, 55, 97, .64), rgb(0, 55, 97));
  overflow: auto;
}

:root {
  --bu: rgb(0, 55, 97);
  --w: #FFFFFF;
  --art: #679873;
}

.break {
  height: 16px;
  background-color: var(--bu);
}

.ball {
  border-radius: 50%;
  background-color: var(--bu);
  height: 160px;
  width: 160px;
  position: absolute;
  left: 43%;
  transform: translateY(-136px);
  transition: .6s ease-in-out;
}

.ball img {
  height: 300px;
  width: 400px;
  position: absolute;
  left: -73%;
  top: -48%;
}

.small-div {
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, rgb(0, 55, 97), white, rgb(0, 55, 97));
}

.head {
  display: flex;
  height: 700px;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

.h1 {
  animation-name: floating;
  animation-duration: 6s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.text {
  font-size: 8vw;
  color: var(--w);
  text-shadow:
   0 0 6px #FFFFFF,
   0 0 16px #FFFFFF,
   0 0 32px #FFFFFF,
   0 0 64px #FFFFFF,
   0 0 82px #FFFFFF,
   0 0 102px #FFFFFF,
   0 0 151px #FFFFFF;
   font-family: 'overpass', sans-serif;
}

.body {
  background-color: white;
  margin: 0;
  padding: 0;
  padding-top: 40px;
}

.header {
  font-size: 3em;
  color: var(--art);
  padding-left: 6%;
  padding-top: 0px;
  padding-bottom: 10px;
  font-family: 'overpass', sans-serif;
}

.content {
  padding-left: 6%;
  padding-right: 6%;
  letter-spacing: 1px;
  font-family: 'catamaran', sans-serif;
}

.art {
  display: flex;
  justify-content: center;
}

.art img {
  width: 30vw;
  max-height: 400px;
  padding: 30px;
  border-radius: 40px;
}

.art2 {
  display: flex;
  justify-content: center;
}

.art2 img {
  width: 40vw;
  max-height: 460px;
  padding: 30px;
  border-radius: 40px;
}

.content p {
  font-size: 1.16em;
  color: black;
}

.filler {
  height: 20px;
  background-color: white;
}

.acronym {
  display: flex;
  padding-top: 40px;
  padding-bottom: 40px;
}

.acronym li {
  list-style: none;
  font-size: 1.2em;
}

.big {
  color: var(--art);
  font-size: 1.4em;
}

.rotated {
  transform: rotate(270deg);
}

.tiptop {
  font-size: 5em;
  text-align: center;
  color: var(--art);
  padding-top: 100px;
  padding-bottom: 60px;
  font-family: 'overpass', sans-serif;
}

/* gears */
.eng {
  position: absolute;
  font-size: 1.2em;
  font-weight: bolder;
  top: 2.7em;
  left: 2em;
  z-index: 20;
  color: yellow;
  font-family: 'overpass', sans-serif;
}

.eng2 {
  position: absolute;
  font-size: 1.2em;
  font-weight: bolder;
  top: 2.7em;
  left: 1.64em;
  z-index: 20;
  color: yellow;
  font-family: 'overpass', sans-serif;
}

.eng3 {
  position: absolute;
  font-size: 1.2em;
  font-weight: bolder;
  top: 2.7em;
  left: 2.3em;
  z-index: 20;
  color: yellow;
  font-family: 'overpass', sans-serif;
}

.eng4 {
  position: absolute;
  font-size: 1.2em;
  font-weight: bolder;
  top: 2.7em;
  left: 1.4em;
  z-index: 20;
  color: yellow;
  font-family: 'overpass', sans-serif;
}

.gs0 {
  display: flex;
  position: relative;
  margin-left: 40vw;
}

.gearbox2 {
  display: flex;
  position: relative;
  height: 200px;
  padding-bottom: 20px;
  padding-left: 2%;
  padding-right: 2%;
  padding-top: 20px;
}

.gear {
  position: relative;
  width: 8em;
  height: 8em;
  margin: auto;
  border-radius: 50%;
  animation-name: spincc;
  animation-duration: 6s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.middle {
  background-color: white;
}

.gear .middle {
  position: absolute;
  top: 2em;
  left: 2em;
  z-index: 10;
  width: 4em;
  height: 4em;
  border-radius: 50%;
}

.tooth {
  position: absolute;
  top: -1.2em;
  left: 2.9em;
  z-index: 1;
  width: 2em;
  height: 10.6em;
}

.tooth:nth-child(2) {
  transform: rotate(45deg);
}

.tooth:nth-child(3) {
  transform: rotate(90deg);
}

.tooth:nth-child(4) {
  transform: rotate(135deg);
}

.gs1 {
  background: var(--bu);
}

.gs1 .tooth {
  background: var(--bu);
}

.gs1 .gs2 {
  color: var(--art);
}

.g2 {
  background: var(--bu);
}

.g2 .tooth {
  background-color: var(--bu);
}

.g2 .eng2 {
  color: var(--art);
}

.g3 {
  background: var(--bu);
}

.g3 .tooth {
  background-color: var(--bu);
}

.g3 .eng {
  color: var(--art);
}

.g3 .eng3 {
  color: var(--art);
}

.g2 .eng4 {
  color: var(--art);
}

.start {
  font-size: 4vw;
  padding-top: 72px;
  color: var(--art);
  display: flex;
}

.start i {
  color: var(--art);
  padding-left: 1.6vw;
}

.process {
  display: flex;
  font-size: 4vw;
  padding-top: 60px;
  padding-bottom: 60px;
  justify-content: center;
  color: var(--bu);
}

.process i {
  padding-right: 160px;
  padding-left: 160px;
  color: var(--art);
}

/* iterations */
.con {
  padding-left: 6%;
  padding-right: 6%;
  letter-spacing: 1px;
  font-family: 'catamaran', sans-serif;
  padding-top: 60px;
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
}

.iter {
  color: var(--bu);
}

.snap {
  text-align: center;
  font-family: 'catamaran', sans-serif;
  padding-top: 40px;
}

.yep {
  background-color: var(--art);
  border-radius: 24px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 2.4vw;
}

.yep a {
  text-decoration: none;
  color: white;
}

.yep > a:hover {
  color: var(--art);
}

.yep:hover {
  background-color: var(--w);
}

.cycles {
  display: flex;
  position: relative;
  height: 100px;
  padding-left: 26%;
  padding-right: 26%;
  justify-content: space-between;
}

/*back to top*/
.backtotop {
  display: block;
  height: 40px;
  text-align: right;
  padding-right: 20px;
  background-color: white;
  padding-bottom: 12px;
}

.btt {
  background-color: var(--bu);
  color: white;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  font-size: 26px;
}

.btt:hover {
  background-color: white;
  color: var(--bu);
}

/*refrences*/
.references {
  text-align: left;
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 86px;
  padding-bottom: 12px;
}

.cite {
  font-size: 1.16em;
  padding-top: 20px;
  letter-spacing: 1px;
  font-family: 'catamaran', sans-serif;
}


@keyframes floating {
    0% {
      transform: translate(0,  0px);
       }
    50%
      {
        transform: translate(0, 32px);
      }
    100% {
      transform: translate(0, -0px);
      }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes spincc {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}


@media (max-width: 800px) {
  .ball {
    left: 38%;
  }

  .a2 {
    transform: translateY(-12.8vh);
  }

  .gs0 {
    display: none;
  }
}

@media (max-width: 500px) {
  .ball {
    left: 34%;
  }
}
