@font-face {
  font-family: "Cal Sans";
  src: url('/assets/cal-sans/CalSans-SemiBold.woff2');
}

:root {
	--bs-body-font-size: 1.3rem;
}

body {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  color: #22263f;
}

b {
	font-weight: 700;
}

/* usage samples with adjusted letter spacings */
h1 {
  font-family: "Cal Sans";
  font-size: 4rem;
  font-weight: normal;
}

h2 {
  font-family: "Cal Sans";
  font-size: 3rem;
  letter-spacing: 0.01em;
  font-weight: normal;
}

h3 {
  font-family: "Cal Sans";
  font-size: 2.5rem;
  letter-spacing: 0.015em;
  font-weight: normal;
}

h4 {
  font-family: "Cal Sans";
  font-size: 2rem;
  letter-spacing: 0.02em;
}

h5 {
  font-family: "Cal Sans";
  font-size: 1.8rem;
  letter-spacing: 0.03em;
}

h6 {
  font-family: "Cal Sans";
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}

h1, h2, h3, h4 {
	color: #001141;
}

.text-highlight {
  font-size: 1.5rem;
}

.display-huge {
	font-size: clamp(24px, 8.2vw, 140px);
    line-height: 1;
}

.text-darkblue {
  color: #001141;
  transition: all 0.4s;
}

.text-darkblue:hover {
  color: #000;
  font-weight: bold;
}

.text-serif {
	font-family: 'DM Serif Display', serif;
}

.bg-off-white {
	background-color: #f9f9fa;
}

.bg-darkblue {
	background-color: #001141;
}

.bg-light-grey {
	background-color: #edf1f2;
}

header {
  background: rgb(230, 236, 243, 0.9);
  transition: all 0.75s;
  width: 100%;
  max-width: 1600px;
}


header.navbar-scrolled {
  background: rgb(230, 236, 243, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  width: 80%;
  transition: all 0.75s;
}

header.navbar-scrolled.home {
  background: rgba(26, 20, 44, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  width: 80%;
  transition: all 0.75s;
}

header .logo {
  transition: all 0.25s;
  height: 100px;
  width: 100px;
}

header.navbar-scrolled .logo {
  height: 60px;
  width: 60px;
  transition: all 0.75s;
}

.active {
	font-weight: 700;
}


.header-banner {
	padding-top: 170px;
}



@keyframes gradientRotation {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

.gradient-text {
    background: linear-gradient(-45deg, #FF0061, #F75851, #FAA549, #3896D3, #B8D1F2);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: gradientRotation 3s linear infinite alternate;
    line-height: 125%;
}

.btn-gradient {
	background: linear-gradient(-89deg,#fb00ff,#fd3198 32%,#fe4d5d 70%,#ff7900);
    color: #fff;
}

.btn-gradient:hover {
	background: linear-gradient(-89deg,#ff7900, #fe4d5d 32%, #fd3198 70%, #fb00ff);
    background-size: 300%;
    color: #fff;
    animation-duration: 4s;
    animation-direction: alternate-reverse;
    animation-iteration-count: infinite;
}

/* Extra small devices (phones) */
@media only screen and (max-width: 767.98px) {

  h1, .h1 {
	  font-size: 3rem;
  }

  h2, .h2 {
	  font-size: 2.4rem;
  }
  
  h3, .h3 {
  font-size: 2rem;
  }

  p, ul, ol {
	  font-size: 1.2rem;
  }
  
  	.text-highlight {
	  font-size: 1.3rem;
	}
  
  .header-banner {
	padding-top: 100px;
   }
    
	.display-huge {
      font-size: clamp(24px, 16vw, 140px);;
      line-height: 1;
	}
    
    .gradient-text {
	    line-height: 1;
    }

}