.contactUsSection {
  background-image: linear-gradient(#301d6e, #683680);
  overflow: hidden;
  color: white;
  text-align: center;
  position: relative;
}

.main {
  /* height: 100vh; */
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  justify-content: center;
  align-items: center;
}

.main:before, .main:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
}

.main:before {
  right: 0;
  bottom: 0;
  height: 30em;
  width: 30em;
  border-radius: 30em;
  background: linear-gradient(#301d6e, #2d0070);
  align-self: flex-end;
  -webkit-animation: gradient-fade 8s ease-in-out 3s infinite alternate;
  animation: gradient-fade 8s ease-in-out 3s infinite alternate;
}

.main:after {
  top: 0;
  left: 0;
  height: 18em;
  width: 18em;
  border-radius: 18em;
  background: linear-gradient(#301d6e, #2d0070);
  -webkit-animation: gradient-fade-alt 6s ease-in-out 3s infinite alternate;
          animation: gradient-fade-alt 6s ease-in-out 3s infinite alternate;
}

.main__text-wrapper {
  position: relative;
  padding: 2em;
}

.main__text-wrapper:before, .main__text-wrapper:after {
  content: "";
  display: block;
  position: absolute;
}

.main__text-wrapper:before {
  z-index: -1;
  top: -3em;
  right: -3em;
  width: 13em;
  height: 13em;
  opacity: 0.7;
  border-radius: 13em;
  background: linear-gradient(#15e0ff, #8a15ff);
  -webkit-animation: rotation 7s linear infinite;
  animation: rotation 7s linear infinite;
}

.main__text-wrapper:after {
  z-index: -1;
  bottom: 0;
  width: 20em;
  height: 20em;
  border-radius: 20em;
  background: linear-gradient(#d000c5, #8a15ff);
  -webkit-animation: rotation 7s linear infinite;
  animation: rotation 7s linear infinite;
}

.arrow {
  z-index: 1000;
  opacity: 0.5;
  position: absolute;
}

.arrow--top {
  top: 0;
  left: -5em;
}

.arrow--bottom {
  bottom: 0;
  right: 3em;
}

.circle {
  transform: translate(50%, -50%) rotate(0deg);
  transform-origin: center;
}

.circle--ltblue {
  height: 20em;
  width: 20em;
  border-radius: 20em;
  background: linear-gradient(#15e0ff, #3800e7);
}

.backdrop {
  position: absolute;
  width: 100vw;
  height: 100vh;
  display: block;
  background-color: pink;
}

.dotted-circle {
  position: absolute;
  top: -150px;
  right: -200px;
  opacity: 0.3;
  -webkit-animation: rotation 38s linear infinite;
  animation: rotation 38s linear infinite;
}
.dotted-circleone {
  position: absolute;
  top: 0;
  left: -400px;
  opacity: 0.3;
  -webkit-animation: rotation 38s linear infinite;
  animation: rotation 38s linear infinite;
}

.draw-in {
  stroke-dasharray: 1000;
  stroke-dashoffset: 10;
  -webkit-animation: draw 15s ease-in-out alternate infinite;
  animation: draw 15s ease-in-out alternate infinite;
}

@-webkit-keyframes draw {
  from {
    stroke-dashoffset: 1000;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes draw {
  from {
    stroke-dashoffset: 1000;
  }
  to {
    stroke-dashoffset: 0;
  }
}

.item-to {
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  transform-origin: bottom;
}

.bounce-1 {
  -webkit-animation-name: bounce-1;
  animation-name: bounce-1;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

.bounce-2 {
  -webkit-animation-name: bounce-2;
  animation-name: bounce-2;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

.bounce-3 {
  -webkit-animation-name: bounce-3;
  animation-name: bounce-3;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

@-webkit-keyframes bounce-1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(50px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes bounce-1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(50px);
  }
  100% {
    transform: translateY(0);
  }
}

@-webkit-keyframes bounce-2 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes bounce-2 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0);
  }
}

@-webkit-keyframes bounce-3 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(30px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes bounce-3 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(30px);
  }
  100% {
    transform: translateY(0);
  }
}

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

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

@-webkit-keyframes gradient-fade {
  from {
    transform: translate(10%, -10%) rotate(0deg);
  }
  to {
    transform: translate(50%, -50%) rotate(360deg);
  }
}

@keyframes gradient-fade {
  from {
    transform: translate(10%, -10%) rotate(0deg);
  }
  to {
    transform: translate(50%, -50%) rotate(360deg);
  }
}

@-webkit-keyframes gradient-fade-alt {
  from {
    transform: translate(-20%, 20%) rotate(0deg);
  }
  to {
    transform: translate(-60%, 60%) rotate(360deg);
  }
}

@keyframes gradient-fade-alt {
  from {
    transform: translate(-20%, 20%) rotate(0deg);
  }
  to {
    transform: translate(-60%, 60%) rotate(360deg);
  }
}

.geo-arrow {
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-miterlimit: 10
}

.zIndex99 {
  z-index: 9;
  position: relative
}

@media only screen and (max-width: 768px) {

  .main:before {
    right: 0;
    top: 0 !important;
    height: 10em;
    width: 10em;
  }
  .main:after {
    bottom: 0 !important;
    left: 0;
    height: 10em;
    width: 10em;
  }

}