/*a basic flex-box library*/
:root {
  --ez-dark-theme:0;
  --primary: #6a4c94;
  --secondary: #ef8801;
  --success: #8bc926;
  --warning: #ffca38;
  --error: #ff575c;
  --info: #1981c2;
  --black: #1f1300;
  --white: #fffaff;
  --main-title:"Arial";
  --sub-titles:"Montserrat";
  --paragraphs:"Montserrat";
  --title-size:5rem;
  --subtitle-size:2.5rem;
  --padme-setting:0.5em 0.5em 0.5em 0.5em;
  --button-roundness:2em 2em 2em 2em;
  --marginme-setting:0.5em 0em 0.5em 0em;
  /*defines margin and padding intervals*/
  --mp-5-setting:2rem;
  --mp-4-setting:1rem;
  --mp-3-setting:.75rem;
  --mp-2-setting:.5rem;
  --mp-1-setting:.25rem;
  filter: invert(var(--ez-dark-theme));
}
* {
  box-sizing: border-box;
}
:root img, video {
  filter: invert(var(--ez-dark-theme));
}

:focus {
  outline: none;
}

::-moz-focus-inner {
  border: 0;
}

h1 {
  font-family: var(--main-title), "sans-serif";
  font-size: var(--title-size);
}

h2 {
  font-size: var(--subtitle-size);
}

h2, h3, h4, h5, h6 {
  font-family: var(--sub-titles), "sans";
}

p, button, a, textarea, li, label, span, select, input, .link {
  font-family: var(--paragraphs), "sans";
  text-decoration: none;
  outline: none;
  border: none;
  padding: 0;
  line-height: 1.5;
  word-break: break-word;
}

input, p, .link {
  margin: 0.25em 0;
}

img, video {
  max-width: 100%;
}

input:focus, textarea:focus, select:focus {
  border: solid 1px var(--primary);
  border-radius: 4px;
}

button:focus, a:focus {
  border: solid 1px black;
}

input, button, submit, .is-round:active {
  border: none;
}

button[disabled], input[disabled] {
  background-color: #ccc;
  color: grey;
}

.link:link {
  text-decoration: none;
  color: var(--info);
}

.link:visited {
  color: var(--info);
}

/*color lightened by 5%*/
.link:hover, .link:focus {
  border: 0;
  color: #1c90d9;
}

ul {
  list-style-type: none;
  padding: 0;
}

.primary {
  background-color: var(--primary);
}

.secondary {
  background-color: var(--secondary);
}

.white {
  background-color: var(--white);
}

.black {
  background-color: var(--black);
}

.flx\(\), .flx {
  display: flex;
}

.flx\(wrap\) {
  display: flex;
  flex-wrap: wrap;
}

.flx\(column\) {
  display: flex;
  flex-direction: column;
}

.flx\(nowrap\) {
  display: flex;
  flex-wrap: nowrap;
}

.flx\(nowrap\,column\),
.flx\(column\,nowrap\) {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
}

.flx\(column\,wrap\),
.flx\(wrap\,column\) {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

/*vertical alignment for non flex items*/
.top, .col-left {
  align-items: flex-start;
}

.bottom, .col-right {
  align-items: flex-end;
}

.baseline {
  align-items: baseline;
}

.middle, .col-center {
  align-items: center;
}

.stretch {
  align-items: stretch;
}

/*horizontal alignment*/
.left, .col-top {
  justify-content: flex-start;
}

.right, .col-bottom {
  justify-content: flex-end;
}

.center, .col-middle {
  justify-content: center;
}

.space-evenly, .col-space-evenly {
  justify-content: space-evenly;
}

.space-around, .col-space-around {
  justify-content: space-around;
}

.space-between, .col-space-between {
  justify-content: space-between;
}

.padme {
  padding: var(--padme-setting);
}

.marginme {
  margin: var(--marginme-setting);
}

.is-1 {
  min-width: 8.333333333%;
}

.is-2 {
  min-width: 16.666666666%;
}

.is-3, .is-quarter {
  min-width: 24.999999999%;
}

.is-4, .is-one-third {
  min-width: 33.333333333%;
}

.is-5 {
  min-width: 41.666666666%;
}

.is-6, .is-half {
  min-width: 49.999999999%;
}

.is-7 {
  min-width: 58.333333333%;
}

.is-8, .is-two-thirds {
  min-width: 66.666666666%;
}

.is-9, .is-three-quarters {
  min-width: 74.999999999%;
}

.is-10 {
  min-width: 83.333333333%;
}

.is-11 {
  min-width: 91.666666666%;
}

.is-12, .is-full {
  min-width: 100%;
}

.is-fluid {
  min-width: 0;
}

.btn\(\), .btn, .btn\(normal\) {
  background-color: var(--white);
  border-width: 1px;
  color: var(--black);
  cursor: pointer;
  font-size: 1em;
  justify-content: center;
  padding: calc(0.5em - 1px) 1em;
  line-height: 1.5em;
  text-align: center;
  white-space: nowrap;
  outline: none;
}

.btn\(small\) {
  background-color: var(--white);
  color: var(--black);
  cursor: pointer;
  padding: calc(0.25em - 1px) 0.5em;
  line-height: 1.5em;
  text-align: center;
  white-space: nowrap;
  font-size: 0.75em;
  outline: none;
}

.btn\(large\) {
  background-color: var(--white);
  color: var(--black);
  cursor: pointer;
  padding: calc(0.75em - 1px) 1.25em;
  line-height: 1.5em;
  text-align: center;
  white-space: nowrap;
  font-size: 1em;
  outline: none;
}

.btn\(xlarge\) {
  background-color: var(--white);
  color: var(--black);
  cursor: pointer;
  padding: calc(0.25em - 1px) 0.5em;
  line-height: 1.5em;
  text-align: center;
  white-space: nowrap;
  font-size: 2em;
  outline: none;
}

/*
	each  color has a 2% darken for hover
	and a 5% darken for active except is-black
*/
.is-primary {
  background-color: var(--primary);
  color: var(--white);
}
.is-primary:hover {
  background-color: #65498d;
}
.is-primary:active {
  background-color: #5e4483;
}

.is-secondary {
  background-color: var(--secondary);
  color: var(--white);
}
.is-secondary::hover {
  background-color: #e48201;
}
.is-secondary:active {
  background-color: #d57901;
}

.is-success {
  background-color: var(--success);
  color: var(--black);
}
.is-success:hover {
  background-color: #85c125;
}
.is-success:active {
  background-color: #7cb422;
}

.is-warning {
  background-color: var(--warning);
  color: var(--black);
}
.is-warning:hover {
  background-color: #ffc72e;
}
.is-warning:active {
  background-color: #ffc31f;
}

.is-info {
  background-color: var(--info);
  color: var(--white);
}
.is-info a:hover {
  background-color: #187bb9;
}
.is-info a:active {
  background-color: #1672ac;
}

.is-error {
  background-color: var(--error);
  color: var(--white);
}
.is-error:hover {
  background-color: #ff4d52;
}
.is-error:active {
  background-color: #ff3d44;
}

.is-black {
  background-color: var(--black);
  color: var(--white);
}
.is-black:hover {
  background-color: #140d00;
}
.is-black:active {
  background-color: var(--black);
}

.is-white {
  background-color: var(--white);
  color: var(--black);
}
.is-white:hover {
  background-color: #fff0ff;
}
.is-white:active {
  background-color: #ffe0ff;
}

.is-round {
  border-radius: var(--button-roundness);
}

.mt-1 {
  margin-top: var(--mp-1-setting);
}

.mt-2 {
  margin-top: var(--mp-2-setting);
}

.mt-3 {
  margin-top: var(--mp-3-setting);
}

.mt-4 {
  margin-top: var(--mp-4-setting);
}

.mt-5 {
  margin-top: var(--mp-5-setting);
}

.mb-1 {
  margin-bottom: var(--mp-1-setting);
}

.mb-2 {
  margin-bottom: var(--mp-2-setting);
}

.mb-3 {
  margin-bottom: var(--mp-3-setting);
}

.mb-4 {
  margin-bottom: var(--mp-4-setting);
}

.mb-5 {
  margin-bottom: var(--mp-5-setting);
}

.ml-1 {
  margin-left: var(--mp-1-setting);
}

.ml-2 {
  margin-left: var(--mp-2-setting);
}

.ml-3 {
  margin-left: var(--mp-3-setting);
}

.ml-4 {
  margin-left: var(--mp-4-setting);
}

.ml-5 {
  margin-left: var(--mp-5-setting);
}

.mr-1 {
  margin-right: var(--mp-1-setting);
}

.mr-2 {
  margin-right: var(--mp-2-setting);
}

.mr-3 {
  margin-right: var(--mp-3-setting);
}

.mr-4 {
  margin-right: var(--mp-4-setting);
}

.mr-5 {
  margin-right: var(--mp-5-setting);
}

.pb-1 {
  padding-bottom: var(--mp-1-setting);
}

.pb-2 {
  padding-bottom: var(--mp-2-setting);
}

.pb-3 {
  padding-bottom: var(--mp-3-setting);
}

.pb-4 {
  padding-bottom: var(--mp-4-setting);
}

.pb-5 {
  padding-bottom: var(--mp-5-setting);
}

.pl-1 {
  padding-left: var(--mp-1-setting);
}

.pl-2 {
  padding-left: var(--mp-2-setting);
}

.pl-3 {
  padding-left: var(--mp-3-setting);
}

.pl-4 {
  padding-left: var(--mp-4-setting);
}

.pl-5 {
  padding-left: var(--mp-5-setting);
}

.pr-1 {
  padding-right: var(--mp-1-setting);
}

.pr-2 {
  padding-right: var(--mp-2-setting);
}

.pr-3 {
  padding-right: var(--mp-3-setting);
}

.pr-4 {
  padding-right: var(--mp-4-setting);
}

.pr-5 {
  padding-right: var(--mp-5-setting);
}

.pt-1 {
  padding-top: var(--mp-1-setting);
}

.pt-2 {
  padding-top: var(--mp-2-setting);
}

.pt-3 {
  padding-top: var(--mp-3-setting);
}

.pt-4 {
  padding-top: var(--mp-4-setting);
}

.pt-5 {
  padding-top: var(--mp-5-setting);
}

/*website specific styles*/
/* nav styles */
/*.menu is mobile menu*/
.menu {
  background-color: #222;
  border: none;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 5px 10px;
}
:has(.menu[aria-expanded="true"]) .nav-links {
  display: unset;
}
.nav-links {
  width: 100%;
  display: none;
  margin: 0;
}

.nav-links a {
  display: block;
  text-align: center;
  padding: 10px 0;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #0d0950;
}

.nav-links a:hover,
.nav-links a:focus {
  background-color: #ff9776;
}
/* The container provides the "detection zone" */
  .orbit-figure {
    cursor: none; /* Optional: hides cursor for more focus on image */
  }

  .orbit-img {

    object-fit: cover;
    
    
    /* IMPORTANT: This makes the movement smooth instead of snappy */
    transition: transform 0.2s cubic-bezier(0.23, 1, 0.32, 1);
    pointer-events: none; /* Prevents the image from flickering when it moves under the cursor */
  }

.halftone {
  --mask: linear-gradient(rgb(0 0 0), rgb(0 0 0 / 0.5));
  --stop1: 3%;
  --stop2: 90%;
  position: relative;
  background: white;
  filter: contrast(50);
}

.halftone::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  transform: rotate(180deg);
  background-image: radial-gradient(circle at center, black var(--stop1), transparent var(--stop2));
  background-size: 1rem 1rem;
  background-repeat: round;
  background-position: center;
  mask-image: var(--mask);
}

.halftone:nth-child(even)::after {
  --bgSize: 1.4rem;
  --bgPosition: calc(var(--bgSize) / 2);
  --stop1: 3%;
  --stop2: 22%;
  
  background-image: radial-gradient(circle at center, black var(--stop1), transparent var(--stop2)), radial-gradient(circle at center, black var(--stop1), transparent var(--stop2));
  background-size: var(--bgSize) var(--bgSize);
  background-position: 0 0, var(--bgPosition) var(--bgPosition);
}
header {
  background-color: white;
  mask-image: linear-gradient( to bottom, black 0%, black 37%, rgba(0, 0, 0, 0.75) 90%, transparent 100% );

}
p {
  font-weight: 401;
}
.fading-paragraph {
  color: #222;
  font-size: 18px;
  line-height: 1.5;

  -webkit-mask-image: linear-gradient(
    to right,
    transparent,
    black 15%,
    black 85%,
    transparent
  );

  mask-image: linear-gradient(
    to right,
    transparent,
    black 15%,
    black 85%,
    transparent
  );
}
#main-menu {
  display: none;
}
@media screen and (min-width: 636px) {
  .nav-links {
    margin-left: 5em;
    display: block;
    position: static;
    width: auto;
    background: none;
  }

  .nav-links a {
    display: inline-block;
    padding: 15px 20px;
  }
  .menu {
    display: none;
  }
  #main-menu {
    display: flex;
  }
}