:root 
{


  /** Default Height & Default UI Width
  */
  --dfh: 65px; 
  --rdh: -65px;
  --dfw: 1400px;


  /* Billboard / Page Banner */
  --main-hero-bgc: hsl(216, 100%, 26%);


}
html
{
  width:  100vw;
  height: 100vh;
  overflow: hidden;
  font-size: var(--fs);
  color: var(--txt-1);
  line-height: var(--lh);
  color-scheme: dark light;
  font-family: var(--base-font);
  background-color: var(--bgc-0);
}


body
{
  width: 100%;
  height: 100%;
}


body main:first-child
{
  display: flex;
  height: 100vh;
  overflow: hidden;
  overflow-y: scroll;
  flex-direction: column;
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
}




/*----------------------------------------------------------------------------
* Gradient keyframes for Frame Elements
*----------------------------------------------------------------------------*/
@keyframes bg-gradient-animation 
{
  0% {background-position: left;}
  50% {background-position: right;}
}


@keyframes bg-frame-gradient-animation 
{
  0% {background-position: right;}
  70% {background-position: left;}
}










/*----------------------------------------------------------------------------
* UI Utils Properties
*----------------------------------------------------------------------------*/
.menu 
{
  font-size: 1rem;
  border-radius: 7px;
  z-index: 100 !important;
}

.vs, .hs{ 
  border-color: var(--bdr); 
}


.muted 
{
  opacity: 0.7 !important;
}


.chevron-down-ico 
{
  max-width: 10px !important;
}


/** Anchor type links 
*/
.a-link {
  color: #0055ff;
  list-style: none;
  cursor: pointer;
  flex-grow: 0;
  max-width: fit-content;
  display: inline-block;
  transition: scale ease-in-out 0.0s;
}
.a-link:active { scale: var(--scale); }


.muted-link { color: inherit !important; }









/*----------------------------------------------------------------------------
* Main Navbar Properties
*----------------------------------------------------------------------------*/
#navbar 
{
  gap: 1rem;
  display: flex;
  font-size: 1rem;
  padding-left: 2.5rem;
}

#navbar .menu-container
{
  top: 100%;
  color: var(--txt-0);
}
#navbar .menu-container .menu
{
  top: 2px;
}

#navbar .navlink 
{
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: normal;
  letter-spacing: 0.050rem;
}




#navbar .navlink:active { scale: var(--scale); }










/*----------------------------------------------------------------------------
* UI Top Section / Main Header
*----------------------------------------------------------------------------*/
#topsect 
{
  top: 0;
  z-index: 9;
  position: sticky;
  /* box-shadow: var(--base-shdw-soft); */
  min-height: var(--dfh) !important;
  border-bottom: 1px solid var(--bdr-1);
}

#topsect::before 
{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  position: absolute;
  backdrop-filter: blur(30px);
  background-color: hsl(0, 0%, 100%, 0.8);
  transition: background-color ease-in-out 0.70s;
}

#topsect #navbar 
{
  color: var(--txt-0);
}

#topsect .menu 
{
  color: var(--txt-0);
}

#header 
{
  inset: 0;
  z-index: 1;
  height: 100%;
  max-width: var(--dfw);
  margin: auto;
  display: flex;
  align-items: center;
}

#header > * 
{
  height: 100%;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: flex-start;
}

#header .logo-container
{
  height: 30px;
  max-width: 170px !important;
  min-width: 120px !important;
}

#header .logo-container .logo
{
  filter: invert();
}


#header .linked:active 
{
  scale: var(--scale);
}

#header button 
{
  font-size: 1.1rem;
  border: 1px solid var(--bdr-1);
}


#header [data-ico] 
{
  width: 32px;
  aspect-ratio: 1/1;
  border-radius: 100vh;
}


#header [data-ico]::before 
{
  width: 60%;
  filter: invert();
}


#header .ui-button 
{
  border-radius: 50vw !important;
}

#header .aft { gap: 0.7rem; }


#navbar-selector
{
  display: none;
}










/*----------------------------------------------------------------------------
* UI Top Section / Main Header
*----------------------------------------------------------------------------*/
.swap 
{
  border: none !important;
  box-shadow: none !important;
  
}
.swap::before 
{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  position: absolute;
  backdrop-filter: blur(30px);
  background-color: transparent !important;
  transition: background-color ease-in-out 0.70s;
}

.swap #navbar 
{
  color: #ffffff !important;
}

.swap #navbar .navlink .ico 
{
  filter: invert() !important;
}

.swap .logo-container .logo 
{
  filter: none !important;
}

.swap button 
{
  font-size: 1rem;
  color: #ffffff;
  border: none !important;
  backdrop-filter: saturate(150%);
  background: var(--frost-bg);
} 








/*----------------------------------------------------------------------------
* Top Content Section
*----------------------------------------------------------------------------*/
[data-ui="top-content-section"]
{
  display: flex;
  height: 55vh;
  min-height: 700px;
  margin-top: var(--rdh);
  flex-direction: column;
}










/*----------------------------------------------------------------------------
* Hero Properties
*----------------------------------------------------------------------------*/
.board-row,
.banner-row 
{
  height: 100vh;
  margin-top: var(--rdh);
  color: #ffffff;
  background-color: var(--main-hero-bgc);
}


.banner-row::before,
.banner-row::after
{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
} 

.banner-row::before 
{
  z-index: -1;
}
.banner-row::after 
{
  z-index: 1;
}

.board-filter::before
{
  content: '';
  background-size: cover;
  background-image:
  linear-gradient(rgba(0, 0, 70, 0.7) 0 0);
}

.board-row .hero-board-container,
.banner-row .hero-board-container 
{
  top: 0;
  bottom: 0;
  align-items: center;
}


.board-content 
{
  right: 0%;
  z-index: 10;
  max-width: unset !important;
  align-items: center;
  justify-content: center;
}


.board-content >  * 
{
  max-width: 800px;
  text-align: center;
  align-items: center;
  justify-content: center;
}


.board-content h3 
{
  opacity: 0.5 !important;
  max-width: 750px !important;
}
.board-content .button-container 
{
  margin: 0 !important;
}
.board-content button 
{ 
  font-size: 1.2rem !important; 
}

.board-content button  .ico 
{
  width: 22px !important;
}


video 
{
  object-position: 50% 30%;
}

#vid2,
#vid3,
#vid4
{
  filter: 
  saturate(150%) 
  brightness(130%) 
  contrast(120%);
}











/*----------------------------------------------------------------------------
* Main Hero container
*----------------------------------------------------------------------------*/
#main-hero 
{
  color: #ffffff;
  height: 50vh;
  min-height: 650px;
  padding-top: var(--dfh);
  background-color: var(--main-hero-bgc);
}

#main-hero::before 
{
  content: '';
  opacity: 0.5;
  filter: saturate(250%);
  background-image: url(../img/stock/stripes.svg);
}

#main-hero::after 
{
  content: '';
  opacity: 0.7;
  background-image: var(--bg-gradient-purple);
}

#main-hero .hero-board .content 
{
  max-width: 48%;
}

#main-hero .button-container > * 
{
  gap: 0.5rem;
  flex-grow: 0;
  color: #ffffff;
  padding-inline: 3rem;
  /* border: 1px solid var(--base-prime); */
}

#main-hero .button-container > * .ico 
{
  width: 20px;
  filter: invert();
}

.board-container .hero-board .image-container img 
{
  max-width: 100%;
}

#main-hero .button-container > *:first-child 
{
  color: var(--txt-0);
  background-color: var(--base-prime);
}

.snippet-image-container::before 
{
  background-image: none;
}

.snippet-card-container .ico 
{
  filter: var(--invert-purple);
}


#ai-hero-frame .image-container img
{
  width: 100%;
  filter: saturate(500%);
}











/*----------------------------------------------------------------------------
* Main Footer Properties
*----------------------------------------------------------------------------*/
#footer 
{
  padding: 3rem 0;
  display: flex;
  flex-grow: 1;
  z-index: 0;
  flex-direction: column;
  color: var(--ftr-clr);
  align-items: center;
  justify-content: flex-start;
  background-color: var(--ftr-bgc);
}

#footer > section 
{
  gap: 3rem;
  width: 100%;
  inset: unset;
  margin: unset;
  display: flex;
  flex-wrap: wrap;
  max-width: var(--dfw);
}

#footer > section > * 
{
  gap: 0.5rem;
  display: flex;
  min-width: 150px;
  flex-direction: column;
}


.footer-block-header 
{
  font-size: 1.1rem;
  color: var(--ftr-hdr-clr) !important;
}


#footer .link-block 
{
  display: flex;
  flex-direction: column;
}


#footer .link-block > *
{
  display: flex;
  flex-grow: 1;
  color: #8ca0b3;
  cursor: pointer;
  border-radius: 5px;
  padding: 0.5rem 0.5rem;
  letter-spacing: 0.020rem;
}


#footer .link-block > *:active 
{
  scale: var(--scale);
}


#footer .link-block > *:hover 
{
  color: #b5d2ec;
  background-color: var(--ftr-hlc);
}


#footer .slogan 
{
  text-wrap: nowrap;
  min-width: fit-content;
}

#footer .logo-container
{
  width: 150px;
  filter: saturate(250%);
}

#footer .logo 
{
  filter: none;
}


#footer .social-button 
{
  filter: var(--invert-azul);
}



#footer .copyright-block 
{
  width: 100%;
  padding: 1.5rem 0;
}


#footer .copyright-block .frw,
#footer .copyright-block .aft 
{
  gap: 0.5rem;
  display: flex;
  flex-grow: 1;
  font-weight: normal !important;
  min-width: fit-content;
}


#footer .copyright-block .aft
{
  opacity: 0.9;
  letter-spacing: 0.070rem;
}

.copy-symbol 
{
  filter: var(--invert-azul) !important;
}


#footer .copyright-block > section 
{
  padding: 2rem 0;
  border-top: 1px solid var(--ftr-hlc);
}