@font-face{
  font-family:"Manrope";
  src: local("Manrope"),
  url('./fonts/Manrope-Regular.ttf');
  font-weight: normal;
  font-style: normal;
}
@font-face{
  font-family:"Manrope";
  src: url('./fonts/Manrope-Bold.ttf');
  font-weight: bold;
  font-style: normal;
}

@font-face{
  font-family:"Manrope";
  src: url('./fonts/Manrope-SemiBold.ttf');
  font-weight: 500;
  font-style: normal;
}

@font-face{
  font-family:"Manrope";
  src: url('./fonts/Manrope-Medium.ttf');
  font-weight: 100;
  font-style: normal;
}

@font-face{
  font-family:"Manrope";
  src: url('./fonts/Manrope-SemiBoldItalic.ttf');
  font-weight: 400;
  font-style: italic;
}

html{
  width: 100%;
  height: 100%;
  font-family: 'Manrope', sans-serif;
  overflow-x: clip;
}
body{
  padding: 0;
  margin: 0;
  font-family: 'Manrope', sans-serif;
  width: 100vw;
  height: 100%;
  opacity: 0;
  transition: opacity 1s;
}
body.loaded{
  opacity: 1;
}

a{
  font-family: 'Manrope', sans-serif;
  & :hover{
    text-underline-offset: 5px;
  }
}

button{
  font-family: 'Manrope', sans-serif;
}


h1{
  color: #FFF;
  font-size: 42px;
  font-weight: 500;
}
div{
  /*word-break: break-word;*/
}

.dualFlexBox{
  display: flex;
  flex-direction: row;
  width: 80%;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  margin-top: 55px;
  max-width: 1200px;
  /*column-gap: 20px;*/
  & h1{
    color: #000;
    font-weight: bold;
  }
  & > div {
    width: 50%;
  }
}

.flexBox{
  background-color: #F4F4F4;
  display: flex;
  flex-direction: column;
  width: 80%;
  align-items: center;
  margin: auto;
  margin-top: 55px;
  max-width: 1200px;
  /*column-gap: 20px;*/
  & h1{
    color: #000;
    font-weight: bold;
  }
  & > div {
    width: 50%;
  }
}


.lineBreak{
  border-bottom: 1px solid #CECECE;
  display: flex;
  height: 1px;
  margin: auto;
  width: 80%;
  max-width: 1200px;
  padding-top: 53px; /*Total space is 55px, this plus height and border*/
}

.pageSection{
  background-color: #ffffff;
  display: grid;
  width: 100%;
  height: 100%;
  background-size: cover;
}

.primary-button{
  box-sizing: border-box;
  background: linear-gradient(98.72deg, #149644 20.54%, #74B641 90.21%);
  box-shadow: 0px -4px 4px rgba(168, 254, 63, 0.05),
  0px 2px 6px rgba(168, 254, 63, 0.05),
  inset 0px 0px 10.9px #BFFF68,
  inset 0px 3px 7.7px rgba(141, 198, 63, 0.63);
  backdrop-filter: blur(4.7px);
  border: none;
}

.secondary-button, .secondary-button-inverted{
  min-height: 42px;
  max-height: fit-content;
  background: none;
  border: #F4F4F4 solid 2px;
}

.primary-button, .secondary-button, .secondary-button-inverted, .contactUsButtonInner{
  cursor: pointer;

  color: #F4F4F4;
  font-weight: 400;
  font-size: 16px;
  text-align: center;

  min-height: 42px;
  max-height: fit-content;
  width: fit-content;
  min-width: 130px;
  padding: 0 1em;

  border-radius: 20px;
  text-decoration: none;
  align-content: center;
  transition: all 0.3s ease-in-out;
}

.secondary-button-inverted{
  color: black;
  border: black solid 2px;
}

.secondary-button:hover, .secondary-button-inverted:hover{
  box-shadow: 0px 4px 1.3px -4px #FFFF24 inset,
              0px 0px 2px 3px #74B641;
  border: #74B641 2px solid;
}

.primary-button:hover, .contactUsButton:hover{
  box-shadow: 0px -4px 4px rgba(168, 254, 63, 0.05),
  0px 2px 6px rgba(168, 254, 63, 0.05),
  inset 0px 0px 10.9px #BFFF68,
  inset 0px 3px 7.7px rgba(141, 198, 63, 0.63),
  0px 0px 6px 3px rgba(254, 228, 33, 0.63);
  /*transition: box-shadow 0.2s ease;*/
}

.contactUsButton {
  width: max-content;
  min-width: 136px;
  border-radius: 37px;
}

.contactUsButton .contactUsButtonInner {
  box-sizing: border-box;
  background: linear-gradient(98.72deg, #149644 20.54%, #74B641 90.21%);
  box-shadow: 0px -4px 4px rgba(168, 254, 63, 0.05),
  0px 2px 6px rgba(168, 254, 63, 0.05),
  inset 0px 0px 10.9px #BFFF68,
  inset 0px 3px 7.7px rgba(141, 198, 63, 0.63);
  backdrop-filter: blur(4.7px);
  border: none;
}

.contactUsButton .contactUsButtonInner {
  position: relative;
  z-index: 1;
  margin: 2px 3px;
}

.contactUsButton {
  position: relative;
  overflow: hidden;
  display: inline;
  align-content: center;
  justify-items: center;
}

.contactUsButton::before {
  content: "";
  display: block;
  background: linear-gradient(
          90deg,
          #90D14F00 0%,
          #A8FF3F 50%,
          #90D14F00 100%
  );
  height: 300px;
  width: 70px;
  transform: translate(0);
  position: absolute;
  animation: rotate 3s linear forwards infinite;
  z-index: 0;
  top: 50%;
  left: 25%;
  transform-origin: top center;
}

@keyframes rotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.landingSection{
  background-image: url("./assets/headerGraphicUpdated.png");
  grid-template-columns: 1fr;
  grid-template-rows: 6fr;
  height: calc(100vh - 2px);
  /*height: calc(100vh + 130px); */
  grid-row-gap: 100px;
  width: 100vw;
  /*max-width: 100%;*/
  max-height: 100%;
  top: 0;
  margin-top: 138px;
  align-items: center;

  && h1{
    text-transform: uppercase;
  }
}

.bannerSection{
  align-items: end;
  background-size: cover;
  background-image: url(./assets/headerGraphicUpdated.png);
  height: 30vh;
  padding-bottom: 5%;
  padding-top: 138px;
  margin-top: 138px;
  width: 100vw;
  background-color: #000;
  display: flex;
  & h1{
    text-transform: capitalize;
    margin-bottom: 0.5em;

  }
}

.bannerText {
  width: 80%;
  max-width: 1200px;
  margin: auto;
  color: #fff;

  && h1, p{
    text-shadow: 2px 2px 10px black;
  }
}

.backToTopContainer{
  display:flex;
  flex-direction: row;
  justify-content: end;
  align-items: center;
  width: 80%;
  max-width: 1200px;
  margin: auto;

  .backToTop{
    display:flex;
    flex-direction: row;
    justify-content: end;
    align-items: center;
    gap: 10px;
    cursor: pointer;
  }

  .arrowContainer{
    width: 35px;
    height: 35px;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(2px);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-content: center;
  }

  .arrow{
    width: 10px;
    height: auto;
  }
}

.logoImg{
  text-align: center;
  width: fit-content;
}
.logoImg img{
  width: 200px;
}

header{
  align-items: center;
  width: 100vw;
  padding: 2vh 0;
  position: fixed;
  top: 0;
  background-color: transparent;
  display: flex;
  flex-direction: row;
}

.headerWrapper{
  width: 80%;
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 5%;
}
.headerContainer {
  background-color: transparent;
  border-bottom: transparent 1px solid;
  z-index: 999;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 5%;

  transition: border-bottom 0.3s ease-in-out,
              background-color 0.3s ease-in-out,
              backdrop-filter 0.3s ease-in-out,
              box-shadow 0.3s ease-in-out,
              text-shadow 0.3s ease-in-out;
}

.headerLogo{
  background-image: url("./assets/continualLogoWhite.png");
  background-position: center;
  background-size: cover;
  width: 204px;
  height: 42px;
}

.headerContainerScrollUp{
  border-bottom: #ffffff26 1px solid;
  background: #17171780;
  backdrop-filter: blur(10px);
  text-shadow: 0 1px 4px black;
  box-shadow: 0px 1px 19px 3px rgba(0,0,0,0.40);
}

.menuIcon{
  display: none;
}

.headerBarLinks{
  font-size: 18px;
  height: 46px;
  width: max-content;
  min-width: fit-content;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  text-wrap: nowrap;
  gap: 5vw;


  .headerItem{
    display: flex;
    flex-direction: column;
  }

  .underline{
    height: 2px;
    width: 0;
    background: none;
  }

  .headerItem:hover .underline{
    width:30px;
    background: linear-gradient(90.33deg, rgb(20, 150, 68) 0%, rgb(116, 182, 65) 99.06%);
    transition: all 0.3s ease-in-out;
  }
}

.headerBarLinks a{
  color: #F4F4F4;
  width: fit-content;
  font-size: 16px;
  text-decoration: none;
  text-wrap: nowrap;
  height: fit-content;
  font-weight: 600;
  padding-top: 2px;
}

.header-button{
  text-wrap: nowrap;
}

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

.subItemName {
  position: relative;
}

main {
  margin-top: -180px;
  opacity: 1;
}

.homePageText h1 {
  color: black;
  text-shadow: unset;
  margin-top: unset;
  padding-top: unset;
  margin-bottom: unset;
}

.copyright{
  place-self: center;
  padding-bottom: 7px;
  text-align: center;
  align-self: flex-end;
  color: white;
}

::backdrop {
  backdrop-filter: blur(10px);
}

.bannerText p {
  color: white;
  font-size: 18px;
  margin-top: unset;
  padding-top: 3px;
  line-height: 25px
}

.marginLeftRight {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;

}

#menu {
  display: none;
  height: 100vh;
  container-type: normal;
  overflow-y: hidden;

  .mobileMenuContainer {
    margin: 0 10vw;
    padding: 4vh 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-bottom: 1px solid #FFFFFF4D;
  }

  .mobileMenuContainer:last-child{
    border-bottom: none;
  }

  .mobileMenuTitle {
    font-size: 18px;
    font-weight: 600;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
  }

  .mobileMenuTitle:hover, .subItemName:hover{
    color: #9e9e9e; /* matching footer */
  }

  .socialMediaFooterIconSection{
    justify-content: start;
    gap: 10%;
  }

  .copyright{
    text-align: start;
    align-self: start;
    color: #DBDBDB;
    font-size: 12px;
    font-weight: 400;
    text-shadow: 0 1px 4px black;
  }
}
.showMobileMenu {
  animation: showMobileMenu 0.5s 1;
  animation-fill-mode: both;
}

.hideMobileMenu{
  animation: hideMobileMenu 0.5s 1;
  animation-fill-mode: both;
}

@keyframes showMobileMenu {
  from {
    height: 0;
  }
  to {
    height: 100vh;
  }
}
@keyframes hideMobileMenu {
  from {
    height: 100vh;
  }
  to {
    height: 0;
  }
}
.mobileMenuWrapper {
  background: linear-gradient(96.63deg, rgb(12, 12, 12) 3.98%, rgb(23, 23, 23) 94.02%);
  width: 100%;
  overflow-y: auto;
  max-height: 100vh;

}

@media (min-width: 2000px) {
  .headerContainer {
    grid-column-gap: 15%;
  }
}


.mobileMenuWrapper{
  .headerWrapper{
    padding: 2vh 0;
  }

  && img{
    cursor: pointer;
  }
}

@media (max-width: 950px) {
  .headerContainer .contactUsButton{
    display: none;
  }

  .homePageContainer {
    padding-bottom: 50px;
  }

  .menuIcon{
    display: block;
    height: fit-content;
    width: fit-content;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
  }
  .menuIcon img {
    width: 22px;
    height: auto;
  }

  .headerBarLinks {
    display: none;
    transition: all 0.3s ease-in-out;
  }
}

@media (max-width: 600px) {
  .bannerSection{
    height: 40vh;
  }
  .homePageSection {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .headerBarLinks{
    align-items: center;
    justify-items: normal;
    display: none;
    grid-template-rows: repeat(auto-fit, minmax(30px, 1fr));
    grid-row-gap: 20px;
    grid-template-columns: 1fr;
    background-color: rgba(255, 255, 255, 0.75);
    top: 60px;
    right: 0;
    z-index: 999;
    height: auto;
    max-height: 90%;
    float: right;
    position: fixed;
    color: white;
  }
  .bannerDetails, .sectionDetails P {
    font-size: 13px;
  }
  .sectionDetails P {
    margin-bottom: 15px;
  }

  .copyright {
    font-size: 11pt;
  }

  .showMobileMenu{
    animation: showMobileMenu 0.5s 1;
    animation-fill-mode: both;
  }
}