@charset "utf-8";
/* CSS Document */
* + * {
  margin: 0 0 0em;
}
* + * {
  padding: 0 0 var(--space-xs);
}
:root {
  --color-text: rgba(255, 255, 255, 1.0);
  --color-surface: rgba(0, 0, 0, 1.00);
  --color-bl: rgba(110, 161, 212, 1.00);
  --color-dkbl: rgba(27, 80, 145, 1.00);
  --color-gr: rgba(96, 200, 179, 1.00);
  --color-dkgr: rgba(39, 157, 159, 1.00);
  --color-or: rgba(255, 190, 152, 1.00);
  --color-dkor: rgba(255, 167, 79, 1.00);
  --color-pi: rgba(232, 129, 166, 1.00);
  --color-dkpi: rgba(206, 51, 117, 1.00);
  --font-base: system-ui, san-serif;
  /* @link https://utopia.fyi/type/calculator?c=320,18,1.2,1240,24,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  --font-2: clamp(0.78rem, calc(0.72rem + 0.31vw), 0.96rem);
  --font-1: clamp(0.94rem, calc(0.85rem + 0.46vw), 1.20rem);
  --font0: clamp(1.13rem, calc(0.99rem + 0.65vw), 1.50rem);
  --font1: clamp(1.35rem, calc(1.17rem + 0.91vw), 1.88rem);
  --font2: clamp(1.62rem, calc(1.37rem + 1.26vw), 2.34rem);
  --font3: clamp(1.94rem, calc(1.60rem + 1.72vw), 2.93rem);
  --font4: clamp(2.33rem, calc(1.87rem + 2.31vw), 3.66rem);
  --font5: clamp(2.80rem, calc(2.18rem + 3.09vw), 4.58rem);
  --space-3xs: clamp(0.31rem, calc(0.31rem + 0.00vw), 0.31rem);
  --space-2xs: clamp(0.56rem, calc(0.54rem + 0.11vw), 0.63rem);
  --space-xs: clamp(0.88rem, calc(0.85rem + 0.11vw), 0.94rem);
  --space-s: clamp(1.13rem, calc(1.08rem + 0.22vw), 1.25rem);
  --space-m: clamp(1.69rem, calc(1.62rem + 0.33vw), 1.88rem);
  --space-l: clamp(2.25rem, calc(2.16rem + 0.43vw), 2.50rem);
  --space-xl: clamp(3.38rem, calc(3.24rem + 0.65vw), 3.75rem);
  --space-2xl: clamp(4.50rem, calc(4.33rem + 0.87vw), 5.00rem);
  --space-3xl: clamp(6.75rem, calc(6.49rem + 1.30vw), 7.50rem);
  /* One-up pairs */
  --space-3xs-2xs: clamp(0.31rem, calc(0.20rem + 0.54vw), 0.63rem);
  --space-2xs-xs: clamp(0.56rem, calc(0.43rem + 0.65vw), 0.94rem);
  --space-xs-s: clamp(0.88rem, calc(0.74rem + 0.65vw), 1.25rem);
  --space-s-m: clamp(1.13rem, calc(0.86rem + 1.30vw), 1.88rem);
  --space-m-l: clamp(1.69rem, calc(1.40rem + 1.41vw), 2.50rem);
  --space-l-xl: clamp(2.25rem, calc(1.73rem + 2.61vw), 3.75rem);
  --space-xl-2xl: clamp(3.38rem, calc(2.81rem + 2.83vw), 5.00rem);
  --space-2xl-3xl: clamp(4.50rem, calc(3.46rem + 5.22vw), 7.50rem);
  /* Custom pairs */
  --space-s-l: clamp(1.13rem, calc(0.65rem + 2.39vw), 2.50rem);
}
@media (prefers-color-scheme: dark) {
  :root {
    --color-text: rgba(255, 255, 255, 1.0);
    --color-surface: rgba(0, 0, 0, 1.00);
    --color-bl: rgba(110, 161, 212, 1.00);
    --color-dkbl: rgba(27, 80, 145, 1.00);
    --color-gr: rgba(96, 200, 179, 1.00);
    --color-dkgr: rgba(39, 157, 159, 1.00);
    --color-or: rgba(255, 190, 152, 1.00);
    --color-dkor: rgba(255, 167, 79, 1.00);
    --color-pi: rgba(232, 129, 166, 1.00);
    --color-dkpi: rgba(206, 51, 117, 1.00);
  }
}
/* Box sizing rules */
*, *::before, *::after {
  box-sizing: border-box;
}
/* Remove default margin */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"], ol[role="list"] {
  list-style: none;
}
.bolda {
  font-weight: 500;
}
/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}
/* Set core body defaults */
body {
  font-family: var(--font-base);
  color: var(--color-text);
  font-size: var(--font0);
  background-color: #000000;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cg fill='%231b5191' fill-opacity='0.21'%3E%3Cpath fill-rule='evenodd' d='M0 0h4v4H0V0zm4 4h4v4H4V4z'/%3E%3C/g%3E%3C/svg%3E");
  text-rendering: optimizeSpeed;
    
}
h1, h2, h3 {
  line-height: 1.3;
  margin-top: var(--space-l);
}
h1 {
  font-size: var(--font4);
  color: var(--color-text);
  font-weight: 900;
}
h2 {
  font-size: var(--font3);
  color: var(--color-text);
  font-weight: 800;
}
h3 {
  font-size: var(--font2);
  color: var(--color-text);
  font-weight: 700;
}
h4 {
  font-size: var(--font1);
  color: var(--color-text);
  font-weight: 600;
}
p {
  font-size: var(--font0);
  line-height: var(--space-m);
}
ul {
  font-family: var(--ff-base);
  color: var(--color-text);
  font-size: var(--font0);
  line-height: var(--space-m);
}
h1, h2, h3, h4, h5, h6, blockquote {
  text-wrap: balance;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img, picture {
  max-width: 100%;
  display: block;
}
/* Inherit fonts for inputs and  */
input, textarea, select {
  font: inherit;
}
/*	------------flex stuff---------------------------------*/
.flex-container {
  max-width: 94ch;
  margin: 0 auto;
  padding: var(--space-2xs);
  display: flex;
  flex-direction: column;
  background: var(--color-surface);
  margin-bottom: var(--space-s);
  border-radius: 0.2em;
  border: thin solid var(--color-dkbl);
}
.flex-container img {
  z-index: 100;
}
.flex-item {
  margin: var(--space-3xs);
}
.flex-container-top {
  max-width: 94ch;
  margin: 0;
  /*border: thin solid var(--color-dkor);*/
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  z-index: 100;
}
.flex-item-title {
  position: sticky;
  top: 2.75em;
  padding-top: var(--space-3xs);
  background: var(--color-surface);
  border: none;
  z-index: 10;
}
.flex-item-sticky {
  position: sticky;
  top: 2.260em;
  padding-top: var(--space-3xs);
  background: var(--color-surface);
  border: none;
  z-index: 50;
}
.flex-item-stuff {
  margin: var(--space-xs);
}
html {
  scroll-behavior: smooth;
  scroll-padding: 8rem;
}
/*	---------------switch to grid----------------*/
/*.container {
  display: flex;
  flex-direction: column;
  gap: 0.005em;
}*/
/*	---------------fred-------------------------*/
.shad {
  box-shadow: 1px 1px 5px var(--color-dkbl);
}
.shad-short {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.11), 0 2px 2px rgba(0, 0, 0, 0.11), 0 4px 4px rgba(0, 0, 0, 0.11), 0 6px 8px rgba(0, 0, 0, 0.11), 0 8px 16px rgba(0, 0, 0, 0.11);
}
.shad-dream {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.07), 0 4px 8px rgba(0, 0, 0, 0.07), 0 8px 16px rgba(0, 0, 0, 0.07), 0 16px 32px rgba(0, 0, 0, 0.07), 0 32px 64px rgba(0, 0, 0, 0.07);
}
.shad-sharp {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25), 0 2px 2px rgba(0, 0, 0, 0.20), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.10), 0 16px 16px rgba(0, 0, 0, 0.05);
}
.shad-diffuse {
  box-shadow: 0 1px 1px var(--color-dkgr), 0 2px 2px var(--color-dkgr), 0 4px 4px var(--color-dkgr), 0 8px 8px var(--color-dkgr);
}
.stuff {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
hr.style2 {
  background-color: var(--color-surface);
  height: solid var(--color-text);
  width: 60%;
}
hr.style1 {
  background-color: var(--space-3xs) solid var(--color-dkgr);
  width: 60%;
}
/*hr.style3 {
  border: 0;
  &:before {
    content: "\21DC \ \25C8 \ \21DD";
    font-size: var(--font0);
    color: var(--color-blue);
  }
}*/
.emphasisSlight {
  letter-spacing: .02em;
  word-spacing: .02em;
  font-size: var(--font1);
  line-height: var(--space-m);
  color: var(--color-text);
  background: var(--color-dkbl);
  text-wrap: balance;
  padding: 0 var(--space-2xs) var(--space-3xs) var(--space-2xs);
}
.emphasisSlight {
  letter-spacing: .05em;
  word-spacing: .05em;
  font-size: var(--font1);
/*  line-height: var(--space-m);*/
  color: var(--color-text);
  background: var(--color-dkbl);
  text-wrap: balance;

  border-radius: 0.2em;
}

.bluetext {
  letter-spacing: .05em;
  word-spacing: .05em;
  font-size: var(--font1);
  color: var(--color-dkbl);
  background: var(--color-surface);
  /*  border: thin solid var(--color-primary);*/
  text-wrap: balance;
  padding: var(--space-3xs) var(--space-2xs) var(--space-3xs) var(--space-2xs);
  border-radius: 0.2em;
  text-transform: uppercase;
    text-shadow: 0 1px 1px var(--color-gr);
}
.greentext {
  letter-spacing: .05em;
  word-spacing: .05em;
  font-size: var(--font1);
  color: var(--color-gr);
  background: var(--color-surface);
  /*  border: thin solid var(--color-primary);*/
  text-wrap: balance;
  padding: var(--space-3xs) var(--space-2xs) var(--space-3xs) var(--space-2xs);
  border-radius: 0.2em;
  text-transform: uppercase;
}
.grn {
  font-size: var(--font2);
  color: var(--color-dkgr);
}
.blu {
  font-size: var(--font2);
  color: var(--color-dkbl);
    /*text-shadow: 0 1px 1px var(--color-bl);*/
}


/*-----------------------for the sticky------------------*/
.content {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}
/*-----------------------for the way - sticky*/
.center {
  text-align: center;
}
.centerIt {
  padding: 70px 0;
  border: 3px solid green;
  text-align: center;
}
a:link, a:visited {
  text-decoration: none;
  letter-spacing: 0.03em;
  word-spacing: 0.03em;
  color: var(--color-dkor);
  transition: 300ms ease-out;
/*    line-height: 0.05em;*/
}
a:hover, a:active, a:focus {
  transition-delay: 300ms, 0ms;
  transition: 300ms ease-in;
  animation: pulse 500ms ease-in-out;
  color: var(--color-dkgr);
    /*line-height: 0.05em;*/
}
.footer {
  display: flex;
  justify-content: center;
  align-items: center; /*vert*/
  width: 100%;
  color: var(--color-bl);
  font-size: var(--font-1);
  background-color: rgba(0, 0, 0, 0.85);
  flex-shrink: 0;
  position: fixed;
  bottom: 0;
  min-height: var(--space-xl);
  padding-top: var(--space-2xs);
}
/*--------------------fixes------------------*/
.smaller {
  font-size: var(--font-1);
}
.pushDown {
  margin-top: var(--space-xl);
}
.pushUp {
  margin-bottom: var(--space-xl);
}
.bumper {
  margin: var(--space-l);
}
/*	--------------------nav-------------------------------*/
.dropdown__title {
  background-color: transparent;
  color: var(--color-text);
  border: none;
  font-family: inherit;
  font-size: var(--font1);
}
nav {
  position: sticky;
  top: 0;
  display: grid;
  place-items: left;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
  border: thin solid var(--color-bl);
  border-radius: 3px;
  background: var(--color-surface);
  padding-bottom: 0;
  z-index: 10000;
}
nav > ul {
  grid-auto-flow: column;
}
nav > ul > li {
  margin: 0 0.5rem;
}
nav > ul > li a, nav > ul > li .dropdown__title {
  text-align: left;
  display: inline-block;
}
nav > ul > li a:focus, nav > ul > li .dropdown__title:focus {
  outline: none;
}
nav > ul > li > a, nav > ul > li .dropdown__title {
  padding: 0.25rem 0.00rem;
  transition: 280ms all 120ms ease-out;
}
nav > ul > li > a:hover, nav > ul > li > a:focus, nav > ul > li .dropdown__title:hover, nav > ul > li .dropdown__title:focus {
  border-top-color: var(--color-bl);
  color: var(--color-surface);
  transition-delay: 300ms, 0ms;
  transition: 300ms ease-in;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
}
nav ul li {
  padding: var(--space-3xs);
}
.dropdown {
  position: relative;
}
.dropdown .dropdown__title {
  display: inline-flex;
  align-items: center;
  transition: 300ms ease-out;
}
.dropdown .dropdown__title:after {
  content: "";
  border: var(--space-3xs) solid transparent;
  /*border-top-color: var(--color-orange);*/
  margin-left: var(--space-3xs);
  transform: translateY(0.05em);
  transition-delay: 300ms, 0ms;
  transition: 300ms ease-in;
}
.dropdown .dropdown__menu {
  position: absolute;
  min-width: 23ch;
  left: 5.64em;
  top: calc(150% - 0.20rem);
  transition: 280ms all 120ms ease-out;
  transform: rotateX(-90deg) translateX(-50%);
  transform-origin: top center;
  visibility: hidden;
  opacity: 0.3;
  padding: 0;
  background-color: var(--color-surface);
  border: thin solid var(--color-dkbl);
  border-radius: 3px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
  font-weight: 500;
}
.dropdown .dropdown__menu a {
  color: var(--color-text);
  display: block;
  padding: var(--space-2xs);
  opacity: 0;
  transition: 280ms all 120ms ease-out;
  border: thin solid var(--color-bl);
  background-color: var(--color-dkbl);
}
.dropdown .dropdown__menu a:hover {
  color: var(--color-surface);
  border: thin solid var(--color-dkgr);
  background-color: var(--color-gr);
}
.dropdown .dropdown__menu a:focus {
  color: var(--color-text);
}
.dropdown:hover .dropdown__menu, .dropdown:focus-within .dropdown__menu {
  opacity: 1;
  transform: rotateX(0) translateX(-50%);
  visibility: visible;
}
.dropdown:hover .dropdown__menu a, .dropdown:focus-within .dropdown__menu a {
  opacity: 1;
}
.dropdown:hover:after, .dropdown:focus-within:after {
  opacity: 1;
}



/*--------------------special effects--------------------------------*/
.hero {
  padding: var(--space-s);
  border: solid 1px var(--color-dkbl);
  border-radius: 4px;
  background: var(--color-dkgr);
  margin-bottom: var(--space-s);
  color: var(--color-dkbl);
}
.undi {
  border-bottom: solid var(--space-3xs) var(--color-pi);
}
html {
  scroll-behavior: smooth;
  scroll-padding: 8rem;
}
a:link.und, a:active.und, a:visited.und {
  text-decoration: none;
  letter-spacing: 0.03em;
  word-spacing: 0.03em;
  color: var(--color-dkor);
  transition: 300ms ease-out;
  display: inline-block;
  font-size: var(--font1);

}
a:hover.und, a:focus.und {
  transition-delay: 300ms, 0ms;
  transition: 300ms ease-in;
  animation: pulse 500ms ease-in-out;
  color: var(--color-dkgr);
}

/*.und {
  background-image: linear-gradient(90deg, var(--color-gr), var(--color-dkbl) 50%, currentColor 50%);
  background-size: 200% 3px;
  background-position: right 1.4em;
  background-repeat: no-repeat;
  padding-block-end: 0.25em;
  transition: 500ms, background-position 500ms;
}
.und:hover, .und:focus {
  color: white;
  background-position: left 1.4em;
}*/


/*--------------------------------neon--------------------------------*/
/*a:link.neon, a:visited.neon { color: #ffffff; box-shadow: 1px 1px 2px #000000; transition: 300ms ease-out; }
a:hover.neon, a:active.neon { color: #ffffff; box-shadow: 0 0 10px #ff0000, 0 0 20px #ff0000, 0 0 30px #ff0000, 0 0 40px #ba0000, 0 0 70px #ba0000, 0 0 80px #ba0000, 0 0 100px #ba0000, 0 0 150px #ba0000; transition-delay: 300ms, 0ms; transition: 300ms ease-in;
}*/
/*--------------------fixes------------------*/
.smaller {
  font-size: var(--font-1);
}
/*--------------------cards--------------------------------*/
@keyframes pulse {
  from, to {
    scale: 1;
  }
  50% {
    scale: 1.12;
  }
}
.card {
  max-width: 220px;
  aspect-ratio: 1 / 1;
  z-index: 10;
  overflow: hidden;
  display: flex;
  justify-content: center;
  object-fit: cover;
  border: thin solid var(--color-dkgr);
}
/*.card, .cardHH, .cardH, .cardSq, .cardV, .cardQV > img {

  object-fit: cover;
object-fit: contain;
  border-radius: inherit;

}*/
/*.card a:hover > img {
  animation: pulse 800ms ease-in-out;
}*/
/*.fimg a:visited {
  border: thin solid var(--color-secondary);
}*/
.cardSq {
  aspect-ratio: 1 / 1;
  border-radius: 0.25rem;
  border: thin solid var(--color-dkgr);
  cursor: pointer;
  overflow: hidden;
  display: flex;
  justify-content: center;
  /*  color: var(--color-white);
  font-size: var(--font--1);*/
}
.cardSq a:hover > img {
  transition-delay: 300ms, 0ms;
  transition: 300ms ease-in;
  animation: pulse 800ms ease-in-out;
}
.cardSq img {
  border: solid thin var(--color-bl);
}
/*.cardV {
  width: 350px;
  aspect-ratio: 3 / 4;
  border-radius: 0.25rem;
  cursor: pointer;
  overflow: hidden;
  display: flex;
  justify-content: center;
  color: var(--color-text);
  font-size: var(--font--1);
}
.cardV a:hover > img {
  animation: pulse 800ms ease-in-out;
}
.cardQV {
  width: 150px;
  aspect-ratio: 4 / 5;
  border-radius: 0.25rem;
  cursor: pointer;
  overflow: hidden;
  display: flex;
  justify-content: center;
  color: var(--color-text);
  font-size: var(--font--1);
}
.cardQV a:hover > img {
  animation: pulse 800ms ease-in-out;
}*/
/*------------------cluster-------------------*/
.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  justify-content: center;
}

@media (max-width: 600px) {
  .hp img {
    width: 150px;  
}
}
::-webkit-scrollbar {
  width: var(--space-xs);
}
::-webkit-scrollbar-track {
  background: var(--color-surface);
}
::-webkit-scrollbar-thumb {
  background: var(--color-dkbl);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-dkgr);
}
/*---------------video------------------*/
.vid {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.vid iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*---------------------------------- lightbox ---------------*/
/*.domain {
  display: grid;
  grid: auto / repeat(auto-fit, minmax(15em, 1fr));
  grid-gap: 1em;
  background: #333;
  padding: var(--space-l) var(--space-l);
}*/
.domain__desc {
  padding: 1.5em;
}
.domain__title {
  font-size: var(--font-0);
  letter-spacing: 1px;
  margin-top: 0;
  color: var(--color-dkbl);
}
.domain-lightbox {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0, 1);
  transition: transform 200ms ease-in-out;
  transform-origin: bottom;
  padding: 0.5em;
  position: fixed;
  top: 0;
  right: 0;
  color: white;
  background: rgba(0, 0, 0, .5);
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .25);
  width: 100vw;
  max-height: 100vh;
  z-index: 100;
}
.domain-lightbox:target {
  transform: scale(1, 1);
  transform-origin: top;
}
.domain-lightbox__content {
  max-width: 1200px;
  padding: 0.5em;
  background: rgba(0, 0, 0, 0.90);
  position: relative;
}
.domain__image, .domain-lightbox__image {
  height: max-content;
  display: block;
}
.close {
  position: absolute;
  right: 0.50em; /*left: 0;*/
  top: -0.25em;
  border: white 3px solid;
  display: flex;
  width: 1.85em;
  height: 1.85em;
  background: red;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: bold;
}
.close::after {
  content: 'X';
  color: var(--color-text);
}
/*-------------------------modal stuff----------------------*/
.modal {
  padding: 0.15em;
  max-width: 65ch;
  border: thin solid var(--color-dkbl);
  margin: 0 auto;
  top: 10px;
}
.buttonM {
  border: medium solid var(--color-surface);
  cursor: pointer;
  background-color: var(--color-dkbl);
  color: var(--color-text);
  justify-content: center;
}
.buttonM:hover, .buttonM:focus {
  background: var(--color-dkbl);
}
.bluBo {
  border: thin solid var(--color-dkgr);
}


  .google-maps {
    position: relative;
    padding-bottom: 75%; /*This is the aspect ratio*/
    height: 0;
    overflow: hidden;
  }
  .google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }


