@charset "UTF-8";
/* Body */

body, html {
	font-family:"Roboto", sans-serif;
	background-color: #FFFFFF;
	margin: 0 auto;
	font-style: normal;
	font-weight: 200;
	width: 100vw;
    height: 100%;
	overflow-x: hidden;

}

:root{
  --crt-navy:#2C4268;
  --crt-blue:#306F9C;
  --pg-green:#2AB471;
  --pg-mint:#C6FFD7;
  --pg-ice:#F2FFF5;
}

body{ font-size: calc(15px + 0.390625vw); }

#content a{ color: rgba(0,132,201,1); }
#content a:hover{ color: rgba(243,112,60,1); }
#content li{ line-height:1.4; font-size:18px; font-weight:500; }  /* deduped */
.content h3{ text-align:left; }

/* HERO */
.top-banner{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2.5rem;
  padding:4vw 3vw 3vw;
  box-sizing:border-box;
  width:100%;
  margin-top:7vw;
  overflow:hidden; /* clip the grain (::before) */

  /* Fallback (no color-mix support) */
  background:
    linear-gradient(100deg,
      #2C4268 0%,
      #306F9C 18%,
      #2AB471 58%,
      #C6FFD7 88%);
  /* Enhanced (keeps fallback for older engines) */
  background:
    radial-gradient(80% 120% at 85% 40%,
      color-mix(in srgb, var(--pg-mint) 85%, white) 0%,
      color-mix(in srgb, var(--pg-mint) 40%, transparent) 40%,
      transparent 65%),
    linear-gradient(100deg,
      var(--crt-navy) 0%,
      var(--crt-blue) 18%,
      var(--pg-green) 58%,
      var(--pg-mint) 88%);
}

.top-banner::before{
  content:"";
  position:absolute; inset:-2rem;
  background-image:url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'>\
  <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0 .05 .1 0'/></feComponentTransfer></filter>\
  <rect width='100%' height='100%' filter='url(#n)'/></svg>");
  opacity:.25; pointer-events:none; z-index:0;
}

.photobanner{
  position:relative;
  width:40%;
  flex: 0 1 40%;   /* flex-basis for nicer wrapping */
}
.photobanner img{
  position:relative;
  z-index:1;              /* above the halo */
  width: clamp(280px, 28vw, 560px);
  height:auto;
  display:block;
  margin:0 auto;
}

.text-box p{ max-width:54ch; }
.color{ /* the GREEN word */
  color: color-mix(in srgb, var(--pg-green) 75%, #A9F7B7);
  text-shadow: 2px 1px 2px rgba(31,46,74,.9);
}


.text-box{
   width:min(56ch,55%);          /* reasonable line length */
  font-size: clamp(16px, 1.6vw, 20px);
}

.text-box h1{
  font-size: clamp(28px, 4.2vw, 64px);
  color: rgba(44,66,104,1);
  letter-spacing: 0.2px;
  line-height:1.05;
  margin:0 0 .8rem;
    text-shadow:2px 2px 2px color-mix(in srgb, var(--pg-mint) 75%, white);
}
 

/* REMOVE the negative margin that causes overlap */
.text-box p{
  margin: .5rem 0 0 0;
  color:#fff;

}

#green-icon{
  width: 1.4em;
  height: 1.4em;
  vertical-align: -.25em;         /* align with text nicely */
  margin-right: .4rem;
}

.photobanner{ width: 40%; }
.photobanner img{
  width: clamp(250px, 25vw, 460px);
  height: auto;
  display:block;
  margin: 0 auto;
}
.color{
  color: rgba(169,247,183,1);
  text-shadow: 2px 1px 2px rgba(31,46,74,1);
}

.uses {
	width: 100%;
	display: flex;
	margin: 8vw auto 2vw;
	background: rgb(48,111,156);
    background: linear-gradient(307deg, rgba(48,111,156,1) 0%, rgba(67,172,242,1) 17%, rgba(255,255,255,1) 71%, rgba(255,255,255,1) 100%);
}

.text {
	position: relative;
	width:100%;
}
 .text-b {
	width:100%;
}
.text-b {
	float:left;
}

.product-logo{
  position:relative;
  margin: 7vw 0 1.5vw;
  display:flex;
  align-items:center;     /* prevents stretch */
  justify-content: space-around;
  gap: 2rem;
}
.product-logo .logo{
  height: clamp(56px, 3vw, 900px);
  width:auto;
}
.product-logo .hero{
  max-width: clamp(130px, 20vw, 130px);
  height:auto;
  object-fit: contain;
}

.containerT {
    display: flex;
	width: 100%;
    background-color: #f4f4f4;
    color:rgba(69,69,69,.8);
    font-family: "Nunito Sans", Arial, Helvetica, sans-serif;
}
.link-rows {
display: flex;
	justify-content: space-around;
	gap: 1vw;
margin: 2vw auto;
	
}
.link-rows img {
	width: 33%;
	margin: 1vw 4vw;
	
}
.link-rows a {
	border-radius: 5px;
	text-align: center;
	box-shadow: 2px 5px 10px rgba(100,100,100,.3);
	align-content: center;
	padding: 1vw;
	text-decoration: none;
	color:rgba(60,85,125,1.00);
}
.links .pg {
	width: 35%;
}
.links .fs {
	width: 15%;
}
.darkmode .containerT {
    background-color: #1A1B1F;
    color: #8a8a8a;
}
.tabs-container { 
    width: 94%;
    margin: 3vw auto;
	z-index:90;
}

.tabs {
	margin-bottom:-.3vw;
    display: flex;
      justify-content: space-between;
}

.tabs a {
    cursor: pointer;
    padding: 1vw;
    width:25%;
    text-align: center;
    font-weight: bold;
    border-top-left-radius: 10px;
	border-top-right-radius: 10px;
    transition: background 0.1s, color 0.1s;
    background-color:rgba(255,255,255,1.00);
                
}

.darkmode .tabs a {
    background: linear-gradient(145deg, #1c1d21, #17181c);
    box-shadow:  3px 3px 6px #101114, 
                 -3px -3px 6px #24252a;
}

.tabs a:hover {
    background: linear-gradient(145deg, #f4f4f4, #cecece);
    color: #888;
}
.darkmode .tabs a:hover {
    background: #141414;
    color: #bbb;
}

/* Styling for active tab */
.tabs a.active {
    background-color: #f4f4f4;
    color: #bdbdbd;
    cursor: default;
    padding: 14px 22px 10px 26px;
    background: #f4f4f4;
    box-shadow: inset 3px 3px 5px #cbcbcb, 
                inset -3px -3px 5px #ffffff;
}
.darkmode .tabs a.active {
    background: #1A1B1F;
    box-shadow: inset  3px 3px 6px #101114, 
                inset -3px -3px 6px #24252a; 
    color: #6a6a6a;
}
/* Style the tab content */
.tabcontent {
    padding: 2vw;
    min-height: 100%;
	box-sizing: border-box;
    display: none;    
    border-radius: 18px;
    background: #f4f4f4;
	overflow: scroll;
    box-shadow:  3px 3px 6px #bebebe, 
                 -3px -3px 6px #ffffff;
}
.darkmode .tabcontent {
    background: linear-gradient(145deg, #1c1d21, #17181c);
    box-shadow:  3px 3px 6px #101114, 
                 -3px -3px 6px #24252a;
}
.content .active {
    display: block;
	

}

.tabcontent p {
    margin-bottom: 2vw;
}
.tabcontent p:last-child {
    margin-bottom: 0;

}
.rows-a {
	width: 100%;

}
.column-a {
	width: 45%;
	float:left;
}
.column-a img {
	width: 75%;
}
.rows-a::after {
	content:"";
	clear: both;
	display: block;
}
.icon {
    padding-left: 8px;
    width: 12%;
}

.dark-mode-switch {
    position: relative;
  
}
.dark-mode-switch .switch {
/*     margin-left: 4px; */
}
.switch-label {
    cursor: pointer;
    font-size: 0.85em;
}
/* the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 22px;
    margin-left: 4px;
}
/* Hide default HTML checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1A1B1F;
    transition: .2s;
    box-shadow:  2px 2px 3px #ffffff, 
                 -2px -2px 3px #bebebe;
}
.darkmode .slider {
    box-shadow:  2px 2px 3px #34353a, 
                 -2px -2px 3px #000104;
}
.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 2px;
    background: #9294b8;
    -webkit-transition: .4s;
    transition: .4s;
}
input:checked + .slider {
    background-color: #f4f4f4;
}
input:checked + .slider:before {
    transform: translateX(21px);
}
/* Rounded sliders */
.slider.round {
    border-radius: 11px;
}
.slider.round:before {
    border-radius: 50%;
}
.iframe {
	margin-right: 2vw;
	min-height: 300px;
	box-shadow: 2px 2px 5px rgba(100,100,100,.3);
	border: none;
	border-radius: 5px;
	overflow: hidden;
}
.pdf-box {
	display: flex;
	flex-wrap: wrap;
	width: 100vw;
	min-height: 400px;
	
}
.pdf {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

.download {
	cursor: pointer;
    padding: 1vw;
    width:33%;
    text-align: center;
    font-weight: bold;
    border-radius: 5px;
	border:none;
	box-shadow: 2px 2px 5px rgba(100,100,100,.3);
    transition: background 0.1s, color 0.1s;
    background-color:rgba(255,255,255,1.00);
	color: rgba(104,104,104,1.00);
}
.darkmode .download {
	    background: linear-gradient(145deg, #1c1d21, #17181c);
    box-shadow:  3px 3px 6px #101114, 
                 -3px -3px 6px #24252a;
	color:rgba(244,244,244,1.00);

}
.download:hover {
    background: linear-gradient(145deg, #f4f4f4, #cecece);
    color: #888;
}
.darkmode .download:hover {
    background: #141414;
    color: #bbb;
}
.block {
	display: flex;
	justify-content: space-around;
	margin-top:3vw;

}
.green-logo {
	width: 35%;
	border-radius: 10px;
	justify-content: flex-start;
	display: flex;
}
.hold {
	
	width: 65%;
	padding: 2vw;
}
.green-logo img {
	width: 90%;
	align-self: center;
	margin-top: 3vw;

}
#green-icon {
	width: 5%;

}
	.go {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: 1vw;
		border-radius: 5px;
		padding: .33vw .39vw .33vw .5vw;
		font-size: 20px;
		background-color:rgba(60,85,125,1.00);
		color:rgba(255,255,255,1);
		z-index: 50;
		transform: perspective(1000px) rotateY(17deg);
  		box-shadow: rgba(109,61,11,.5) 0px 60px 50px -12px,
    	rgba(57,28,2,.5) 0px 35px 35px -12px;
 		transition: transform 1s ease 0s;
	} 

.go:hover {
	color: rgba(220,233,242,1.00);
	 transform: perspective(3000px) rotateY(5deg);
}


.go a {
	color:rgba(255,255,255,1);
	text-decoration: none;
	text-align: middle;

}

.cta p {


	color:rgba(240,240,240,1.00);
	text-shadow: 0px 2px 3px rgba(14,23,38,.4);	
}

#pro {
	height: 5vw;
	width: 5.3vw;
	margin: auto 0;
	
	
}

#email-icon {
	width: 5vw;
	height: 5vw;
	margin: auto 0;

}
.box{
		display: flex;
	justify-content: space-around;
	gap: 2vw;
  position: relative;
  width: 100%;
  background:rgba(243,112,60,1.00);
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 20px 50px rgb(23, 32, 90, .5);
  border: 4px solid rgba(42,152,209,1.00);
	border-radius: 5px;
  color: white;
  padding: 1vw 2vw;
}






.box span{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  box-sizing: border-box;
  
}

.box span:nth-child(1)
{
  transform:rotate(0deg);
}



.box span:nth-child(3)
{
  transform:rotate(180deg);
}



.box span:before
{
  content: '';
  position: absolute;
  width:100%;
  height: 2px;
  background:rgba(173,226,254,1.00);
  animation: animate 4s linear infinite;
}

@keyframes animate {
  0% {
  transform:scaleX(0);
  transform-origin: left;
  }
  50%
  {
    transform:scaleX(1);
  transform-origin: left;
  }
  50.1%
  {
    transform:scaleX(1);
  transform-origin: right;
    
  }
  
  100%
  {
    transform:scaleX(0);
  transform-origin: right;
    
  }
  

} 

/* ========= RESPONSIVE / SMALL SCREENS ========= */

/* 1. Tablet & small laptop (hero stacks, tabs go full width) */
@media (max-width: 900px) {

  /* HERO */
  .top-banner{
    flex-direction: column;
    align-items: flex-start;
    padding: 5vw 4vw 4vw;
    margin-top: 8vw;           /* a little breathing room under nav */
  }

  .text-box{
    width: 100%;
    font-size: 16px;           /* lock to px instead of vw on small screens */
  }

  .text-box h1{
    font-size: clamp(26px, 6vw, 34px);
    text-align: left;
  }

  .text-box p{
    font-size: 16px;
    padding-right: 8vw;
  }

  .photobanner{
    width: 100%;
  }

  .photobanner img{
    max-width: 70%;
    margin: 1.5rem 0 0 auto;   /* tucks product toward the right */
  }

  /* PRODUCT LOGO STRIP */
  .product-logo{
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 4vw;
  }

  .product-logo .logo{
    height: 64px;
  }

  .product-logo .hero{
    max-width: 160px;
  }

  /* TABS / CONTENT AREA */
  .tabs-container{
    width: 100%;
    margin: 4vw auto;
  }

  .tabs{
    margin-bottom: -1vw;
    flex-direction: column;
    gap: .5rem;
  }

  .tabs a{
    width: 100%;
    padding: 2.2vw 3vw;
  }

  .tabcontent{
    max-height: none;
    overflow: auto;            /* let content scroll naturally */
  }

  /* GREEN BLOCK + CTA */
  .block{
    flex-wrap: wrap;
    gap: 1.5rem;
  }

  .green-logo{
    width: 30%;
  }

  .hold{
    width: 70%;
  }

  .box{
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem;
    gap: 1rem;
  }

  .go{
    align-self: center;
  }

  .link-rows{
    flex-wrap: wrap;
  }
}

/* 2. Phone sizes (narrower hero, bigger tap targets) */
@media (max-width: 650px) {

  /* HERO */
  .top-banner{
    margin-top: 10vw;
    padding: 6vw 4vw 5vw;
  }

  .text-box{
    width: 100%;
  }

  .text-box h1{
    font-size: 7vw;
    text-align: center;
    text-shadow: 1px 1px 3px rgba(255,255,255,.5);
  }

  .text-box p{
    font-size: 17px;
    padding: 1vw 4vw 0;
    text-align: left;
  }

  .photobanner img{
    width: 65vw;
    max-width: 340px;
    margin: 1.5rem auto 0;
  }

  /* LOGOS */
  .product-logo img{
    width: 22vw;
    max-width: 140px;
  }

  /* CTA */
  .go{
    justify-content: space-around;
    margin-left: 0;
    font-size: 18px;
  }

  #email-icon{
    width: 8vw;
    height: 8vw;
  }

  #pro{
    width: 9vw;
    height: 9vw;
  }

  /* DOWNLOAD BUTTONS */
  .download{
    width: 100%;
    margin: 4vw 0;
  }

  /* IMAGES IN LINK ROWS */
  .link-rows{
    gap: 3vw;
  }

  .link-rows img{
    width: 40%;
    margin: 2vw auto;
  }

  .green-logo{
    width: 25%;
  }

  .hold{
    width: 75%;
  }
}

/* 3. Very small phones */
@media (max-width: 400px) {

  .top-banner{
    margin-top: 12vw;
  }

  .text-box h1{
    font-size: 8.5vw;
  }

  .text-box p{
    font-size: 16px;
  }

  .product-logo{
    margin-top: 6vw;
  }
}