@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,600,600italic");

/*
	Forty by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
@font-face {
  font-family: "Calibre";

  src: local("Calibre Semi bold"), local("Calibre-Semi-bold"),
    url("../webfonts/Calibre-Semibold.woff2") format("woff2"),
    url("../webfonts/Calibre-Semibold.woff") format("woff"),
    url("../webfonts/Calibre-Semibold.ttf") format("truetype");

  font-weight: 600;

  font-style: normal;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}



/* Basic */

@-ms-viewport {
  width: device-width;
}

body {
  -ms-overflow-style: scrollbar;
}

@media screen and (max-width: 480px) {
  html,
  body {
    min-width: 320px;
  }
}

html {
  overflow-x: hidden;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  background: #242943;
}

body.is-preload *,
body.is-preload *:before,
body.is-preload *:after {
  -moz-animation: none !important;
  -webkit-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}

/* Type */

body,
input,
select,
textarea {
  color: #ffffff;
  font-family: "Source Sans Pro", Helvetica, sans-serif;
  font-size: 17pt;
  font-weight: 300;
  letter-spacing: 0.025em;
  line-height: 1.65;
}

@media screen and (max-width: 1680px) {
  body,
  input,
  select,
  textarea {
    font-size: 14pt;
  }
}

@media screen and (max-width: 1280px) {
  body,
  input,
  select,
  textarea {
    font-size: 12pt;
  }
}

@media screen and (max-width: 360px) {
  body,
  input,
  select,
  textarea {
    font-size: 11pt;
  }
}

a {
  -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out,
    border-bottom-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  border-bottom: dotted 1px;
  color: inherit;
  text-decoration: none;
}

a:hover {
  border-bottom-color: transparent;
  color: #9bf1ff !important;
}

a:active {
  color: #53e3fb !important;
}

strong,
b {
  color: #ffffff;
  font-weight: 600;
}





/* Section/Article */

section.special,
article.special {
  text-align: center;
}

header.major {
  width: -moz-max-content;
  width: -webkit-max-content;
  width: -ms-max-content;
  width: max-content;
  margin-bottom: 2em;
}

header.major > :first-child {
  margin-bottom: 0;
  width: calc(100% + 0.5em);
}

header.major > :first-child:after {
  content: "";
  background-color: #ffffff;
  display: block;
  height: 2px;
  margin: 0.325em 0 0.5em 0;
  width: 100%;
}

header.major > p {
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.25em;
  margin-bottom: 0;
}

body.is-ie header.major > :first-child:after {
  max-width: 9em;
}

body.is-ie header.major > h1:after {
  max-width: 100% !important;
}

@media screen and (max-width: 736px) {
  header.major > p br {
    display: none;
  }
}

/* Form */

form {
  margin: 0 0 2em 0;
}

form > :last-child {
  margin-bottom: 0;
}

form > .fields {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: calc(100% + 3em);
  margin: -1.5em 0 2em -1.5em;
}

form > .fields > .field {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  padding: 1.5em 0 0 1.5em;
  width: calc(100% - 1.5em);
}

form > .fields > .field.half {
  width: calc(50% - 0.75em);
}

form > .fields > .field.third {
  width: calc(100% / 3 - 0.5em);
}

form > .fields > .field.quarter {
  width: calc(25% - 0.375em);
}

@media screen and (max-width: 480px) {
  form > .fields {
    width: calc(100% + 3em);
    margin: -1.5em 0 2em -1.5em;
  }

  form > .fields > .field {
    padding: 1.5em 0 0 1.5em;
    width: calc(100% - 1.5em);
  }

  form > .fields > .field.half {
    width: calc(100% - 1.5em);
  }

  form > .fields > .field.third {
    width: calc(100% - 1.5em);
  }

  form > .fields > .field.quarter {
    width: calc(100% - 1.5em);
  }
}

label {
  color: #ffffff;
  display: block;
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.25em;
  margin: 0 0 1em 0;
  text-transform: uppercase;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  background: rgba(212, 212, 255, 0.035);
  border: none;
  border-radius: 0;
  color: inherit;
  display: block;
  outline: 0;
  padding: 0 1em;
  text-decoration: none;
  width: 100%;
}

input[type="text"]:invalid,
input[type="password"]:invalid,
input[type="email"]:invalid,
input[type="tel"]:invalid,
input[type="search"]:invalid,
input[type="url"]:invalid,
select:invalid,
textarea:invalid {
  box-shadow: none;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
  border-color: #9bf1ff;
  box-shadow: 0 0 0 2px #9bf1ff;
}

select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(212, 212, 255, 0.1)' /%3E%3C/svg%3E");
  background-size: 1.25rem;
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  height: 2.75em;
  padding-right: 2.75em;
  text-overflow: ellipsis;
}

select option {
  color: #ffffff;
  background: #242943;
}

select:focus::-ms-value {
  background-color: transparent;
}

select::-ms-expand {
  display: none;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select {
  height: 2.75em;
}

textarea {
  padding: 0.75em 1em;
}

input[type="checkbox"],
input[type="radio"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  display: block;
  float: left;
  margin-right: -2em;
  opacity: 0;
  width: 1em;
  z-index: -1;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
  text-decoration: none;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-weight: 300;
  padding-left: 2.65em;
  padding-right: 0.75em;
  position: relative;
}

input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
  background: rgba(212, 212, 255, 0.035);
  content: "";
  display: inline-block;
  font-size: 0.8em;
  height: 2.0625em;
  left: 0;
  letter-spacing: 0;
  line-height: 2.0625em;
  position: absolute;
  text-align: center;
  top: 0;
  width: 2.0625em;
}

input[type="checkbox"]:checked + label:before,
input[type="radio"]:checked + label:before {
  background: #ffffff;
  border-color: #9bf1ff;
  content: "\f00c";
  color: #242943;
}

input[type="checkbox"]:focus + label:before,
input[type="radio"]:focus + label:before {
  box-shadow: 0 0 0 2px #9bf1ff;
}

input[type="radio"] + label:before {
  border-radius: 100%;
}

::-webkit-input-placeholder {
  color: rgba(244, 244, 255, 0.2) !important;
  opacity: 1;
}

:-moz-placeholder {
  color: rgba(244, 244, 255, 0.2) !important;
  opacity: 1;
}

::-moz-placeholder {
  color: rgba(244, 244, 255, 0.2) !important;
  opacity: 1;
}

:-ms-input-placeholder {
  color: rgba(244, 244, 255, 0.2) !important;
  opacity: 1;
}

/* Box */

.box {
  border: solid 1px rgba(212, 212, 255, 0.1);
  margin-bottom: 2em;
  padding: 1.5em;
}

.box > :last-child,
.box > :last-child > :last-child,
.box > :last-child > :last-child > :last-child {
  margin-bottom: 0;
}

.box.alt {
  border: 0;
  border-radius: 0;
  padding: 0;
}

/* Icon */

.icon {
  text-decoration: none;
  border-bottom: none;
  position: relative;
}

.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}

.icon > .label {
  display: none;
}

.icon:before {
  line-height: inherit;
}

.icon.solid:before {
  font-weight: 900;
}

.icon.brands:before {
  font-family: "Font Awesome 5 Brands";
}

.icon.alt:before {
  background-color: #2e3450;
  border-radius: 100%;
  color: #ffffff;
  display: inline-block;
  height: 1.5em;
  line-height: 1.5em;
  text-align: center;
  width: 1.5em;
}

a.icon.alt:before {
  -moz-transition: background-color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
}

a.icon.alt:hover:before {
  background-color: #6fc3df;
}

a.icon.alt:active:before {
  background-color: #37a6cb;
}

/* Image */

.image {
  border: 0;
  display: inline-block;
  position: relative;
}

.image img {
  display: block;
}

.image.left,
.image.right {
  max-width: 30%;
}

.image.left img,
.image.right img {
  width: 100%;
}

.image.left {
  float: left;
  margin: 0 1.5em 1.25em 0;
  top: 0.25em;
}

.image.right {
  float: right;
  margin: 0 0 1.25em 1.5em;
  top: 0.25em;
}

.image.fit {
  display: block;
  margin: 0 0 2em 0;
  width: 100%;
}

.image.fit img {
  width: 100%;
}

.image.main {
  display: block;
  margin: 2.5em 0;
  width: 100%;
}

.image.main img {
  width: 100%;
}

@media screen and (max-width: 736px) {
  .image.main {
    margin: 1.5em 0;
  }
}

/* List */

ol {
  list-style: decimal;
  margin: 0 0 2em 0;
}

ol li {
  padding-left: 0.25em;
}

ul {
  list-style: disc;
  margin: 0 0 2em 0;
  padding-left: 1em;
}

ul li {
  padding-left: 0.5em;
}

ul.alt {
  list-style: none;
  padding-left: 0;
}

ul.alt li {
  border-top: solid 1px rgba(212, 212, 255, 0.1);
  padding: 0.5em 0;
}

ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

dl {
  margin: 0 0 2em 0;
}

dl dt {
  display: block;
  font-weight: 600;
  margin: 0 0 1em 0;
}

dl dd {
  margin-left: 2em;
}

/* Actions */

ul.actions {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: -1em;
  padding-left: 0;
  justify-content: center;
}

ul.actions li {
  padding: 0 0 0 1em;
  vertical-align: middle;
}

ul.actions.special {
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  width: 100%;
  margin-left: 0;
}

ul.actions.special li:first-child {
  padding-left: 0;
}

ul.actions.stacked {
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: 0;
}

ul.actions.stacked li {
  padding: 1.3em 0 0 0;
}

ul.actions.stacked li:first-child {
  padding-top: 0;
}

ul.actions.fit {
  width: calc(100% + 1em);
}

ul.actions.fit li {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}

ul.actions.fit li > * {
  width: 100%;
}

ul.actions.fit.stacked {
  width: 100%;
}

/* Icons */

ul.icons {
  cursor: default;
  list-style: none;
  text-align: center;
}

ul.icons li {
  display: inline-block;
  padding: 0 1em 0 0;
  text-align: center;
}

ul.icons li:last-child {
  padding-right: 0;
}

@media screen and (max-width: 736px) {
  ul.icons li {
    padding: 0 0.75em 0 0;
  }
}

/* Table */

.table-wrapper {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

table {
  margin: 0 0 2em 0;
  width: 100%;
}

table tbody tr {
  border: solid 1px rgba(212, 212, 255, 0.1);
  border-left: 0;
  border-right: 0;
}

table tbody tr:nth-child(2n + 1) {
  background-color: rgba(212, 212, 255, 0.035);
}

table td {
  padding: 0.75em 0.75em;
}

table th {
  color: #ffffff;
  font-size: 0.9em;
  font-weight: 600;
  padding: 0 0.75em 0.75em 0.75em;
  text-align: left;
}

table thead {
  border-bottom: solid 2px rgba(212, 212, 255, 0.1);
}

table tfoot {
  border-top: solid 2px rgba(212, 212, 255, 0.1);
}

table.alt {
  border-collapse: separate;
}

table.alt tbody tr td {
  border: solid 1px rgba(212, 212, 255, 0.1);
  border-left-width: 0;
  border-top-width: 0;
}

table.alt tbody tr td:first-child {
  border-left-width: 1px;
}

table.alt tbody tr:first-child td {
  border-top-width: 1px;
}

table.alt thead {
  border-bottom: 0;
}

table.alt tfoot {
  border-top: 0;
}

/* Button */

input[type="submit"],
input[type="reset"],
input[type="button"],
.button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: background-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out,
    color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out,
    color 0.2s ease-in-out;
  background-color: transparent;
  border: 0;
  border-radius: 8em;
  box-shadow: inset 0 0 0 2px #ffffff;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-size: 0.8em;
  font-weight: 600;
  height: 3.5em;
  letter-spacing: 0.25em;
  line-height: 3.5em;
  padding: 0 1.75em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

input[type="submit"]:hover,
input[type="submit"]:active,
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="button"]:hover,
input[type="button"]:active,
button:hover,
button:active,
.button:hover,
.button:active {
  box-shadow: inset 0 0 0 2px #9bf1ff;
  color: #9bf1ff;
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.button:active {
  background-color: rgba(155, 241, 255, 0.1);
  box-shadow: inset 0 0 0 2px #53e3fb;
  color: #53e3fb;
}

input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
button.icon:before,
.button.icon:before {
  margin-right: 0.5em;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
button.fit,
.button.fit {
  width: 100%;
}

input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
button.small,
.button.small {
  font-size: 0.6em;
}

input[type="submit"].large,
input[type="reset"].large,
input[type="button"].large,
button.large,
.button.large {
  font-size: 1.25em;
  height: 3em;
  line-height: 3em;
}

input[type="submit"].next,
input[type="reset"].next,
input[type="button"].next,
button.next,
.button.next {
  padding-right: 4.5em;
  position: relative;
}

input[type="submit"].next:before,
input[type="submit"].next:after,
input[type="reset"].next:before,
input[type="reset"].next:after,
input[type="button"].next:before,
input[type="button"].next:after,
button.next:before,
button.next:after,
.button.next:before,
.button.next:after {
  -moz-transition: opacity 0.2s ease-in-out;
  -webkit-transition: opacity 0.2s ease-in-out;
  -ms-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 36px 24px;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  right: 1.5em;
  top: 0;
  width: 36px;
}

input[type="submit"].next:before,
input[type="reset"].next:before,
input[type="button"].next:before,
button.next:before,
.button.next:before {
  background-image: url("data:image/svg+xml, %3Csvg%20width%3D%2221%22%20height%3D%2216%22%20viewBox%3D%220%200%2021%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.36887%2014.2836L9.36881%2014.2835L0.749693%202.50284C0.579044%202.2697%200.499931%201.97944%200.499931%201.71033C0.499931%201.4503%200.570705%201.15522%200.752321%200.914248C0.930302%200.673072%201.20114%200.505113%201.519%200.505113C1.83842%200.505113%202.11036%200.67473%202.2883%200.917825L9.7365%2011.0888C9.93629%2011.3616%2010.3436%2011.3616%2010.5434%2011.0887L17.9919%200.912593C18.1698%200.669497%2018.4418%200.49988%2018.7612%200.49988C19.0806%200.49988%2019.3526%200.669497%2019.5305%200.912593C19.705%201.15106%2019.7793%201.43987%2019.7793%201.70772C19.7793%201.97557%2019.705%202.26437%2019.5305%202.50284L10.9075%2014.2836C10.7295%2014.5267%2010.4576%2014.6963%2010.1382%2014.6963C9.81875%2014.6963%209.54681%2014.5267%209.36887%2014.2836Z%22%20fill%3D%22white%22%20stroke%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E");
}

input[type="submit"].next:after,
input[type="reset"].next:after,
input[type="button"].next:after,
button.next:after,
.button.next:after {
  background-image: url("%3Csvg%20width%3D%2221%22%20height%3D%2216%22%20viewBox%3D%220%200%2021%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.0896%2014.4005L10.0895%2014.4004L1.4704%202.61979C1.47038%202.61976%201.47035%202.61973%201.47033%202.6197C1.29972%202.38657%201.22063%202.09635%201.22063%201.82728C1.22063%201.56725%201.29141%201.27217%201.47302%201.03119C1.651%200.790015%201.92185%200.622056%202.2397%200.622056C2.55909%200.622056%202.831%200.791633%203.00894%201.03468C3.00896%201.03471%203.00898%201.03474%203.009%201.03477L10.4572%2011.2058C10.657%2011.4786%2011.0643%2011.4785%2011.2641%2011.2057L18.7126%201.02954C18.8905%200.786441%2019.1625%200.616823%2019.4819%200.616823C19.8013%200.616823%2020.0733%200.786441%2020.2512%201.02954L19.8477%201.32486L20.2512%201.02954C20.4257%201.26801%2020.5%201.55681%2020.5%201.82466C20.5%202.09251%2020.4257%202.38132%2020.2512%202.61979L11.6282%2014.4005C11.4502%2014.6436%2011.1783%2014.8132%2010.8589%2014.8132C10.5395%2014.8132%2010.2675%2014.6436%2010.0896%2014.4005Z%22%20fill%3D%22%23F7B844%22%20stroke%3D%22%23F7B844%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  opacity: 0;
  z-index: 1;
}

/* download button  */

input[type="submit"].download,
input[type="reset"].download,
input[type="button"].download,
button.download,
.button.download {
  padding-right: 4.5em;

  position: relative;
}

input[type="submit"].download:before,
input[type="submit"].download:after,
input[type="reset"].download:before,
input[type="reset"].download:after,
input[type="button"].download:before,
input[type="button"].download:after,
button.download:before,
button.download:after,
.button.download:before,
.button.download:after {
  -moz-transition: opacity 0.2s ease-in-out;

  -webkit-transition: opacity 0.2s ease-in-out;

  -ms-transition: opacity 0.2s ease-in-out;

  transition: opacity 0.2s ease-in-out;

  background-position: center right;

  background-repeat: no-repeat;

  background-size: 36px 24px;

  content: "";

  display: block;

  height: 100%;

  position: absolute;

  right: 1.5em;

  top: 0;

  width: 36px;
}

input[type="submit"].download:hover:after,
input[type="submit"].download:active:after,
input[type="reset"].download:hover:after,
input[type="reset"].download:active:after,
input[type="button"].download:hover:after,
input[type="button"].download:active:after,
button.download:hover:after,
button.download:active:after,
.button.download:hover:after,
.button.download:active:after {
  opacity: 1;

  top: 0.3em;
}

input[type="submit"].download:hover:before,
input[type="submit"].download:active:before,
input[type="reset"].download:hover:before,
input[type="reset"].download:active:before,
input[type="button"].download:hover:before,
input[type="button"].download:active:before,
button.download:hover:before,
button.download:active:before,
.button.download:hover:before,
.button.download:active:before {
  top: -0.5em;

  opacity: 1;
}

input[type="submit"].download:before,
input[type="reset"].download:before,
input[type="button"].download:before,
button.download:before,
.button.download:before {
  background-image: url("data:image/svg+xml, %3Csvg%20width%3D%2256%22%20height%3D%2296%22%20viewBox%3D%220%200%2056%2096%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M1.30826%2064.8123C-0.436086%2066.5578%20-0.436086%2069.3571%201.30826%2071.1026L24.8733%2094.6827C25.7291%2095.5389%2026.881%2096%2028%2096C29.119%2096%2030.2709%2095.5719%2031.1267%2094.6827L54.6917%2071.1026C56.4361%2069.3571%2056.4361%2066.5578%2054.6917%2064.8123C52.9474%2063.0669%2050.1499%2063.0669%2048.4055%2064.8123L32.4431%2080.7849V4.44597C32.4431%201.97599%2030.4684%200%2028%200C25.5316%200%2023.5569%201.97599%2023.5569%204.44597V80.7849L7.59448%2064.8123C5.85013%2063.0669%203.01969%2063.0669%201.30826%2064.8123Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E%0A");

  top: -3.3em;

  opacity: 0;
}

input[type="submit"].download:after,
input[type="reset"].download:after,
input[type="button"].download:after,
button.download:after,
.button.download:after {
  background-image: url("data:image/svg+xml, %3Csvg%20width%3D%22120%22%20height%3D%2296%22%20viewBox%3D%220%200%20120%2096%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M119.864%2049.0416L107.116%202.92947C106.817%201.87161%20106.085%201.03074%20105.108%200.56962L104.756%200.406874C104.268%200.189875%20103.752%200.0813752%20103.237%200.0813752H80.2622C78.2278%200.0813752%2076.6004%201.70886%2076.6004%203.74322C76.6004%205.77247%2078.2197%207.39688%2080.2469%207.40503C80.252%207.40505%2080.2571%207.40506%2080.2622%207.40506H100.769L111.537%2046.4105H83.0561C81.0217%2046.4105%2079.3942%2048.038%2079.3942%2050.0723V53.3816C79.3942%2058.2369%2075.4611%2062.17%2070.6058%2062.17H48.255C43.3996%2062.17%2039.4665%2058.2369%2039.4665%2053.3816V50.0723C39.4665%2048.038%2037.8391%2046.4105%2035.8047%2046.4105H8.4358L19.2586%207.32369H39.7649C41.7993%207.32369%2043.4268%205.6962%2043.4268%203.66185C43.4268%201.6326%2041.8074%200.00817925%2039.7802%203.07911e-05C39.7751%201.02699e-05%2039.77%200%2039.7649%200H16.7631C16.2477%200%2015.7324%200.1085%2015.2441%200.325499L14.8915%200.488245C13.915%200.949366%2013.1555%201.79024%2012.8843%202.8481L0.135624%2048.9602C0.0542495%2049.2857%200%2049.6112%200%2049.9367V69.1682C0%2083.7342%2011.8535%2095.5877%2026.4195%2095.5877H93.5805C108.146%2095.5877%20120%2083.7342%20120%2069.1682V50.0181C120%2049.6655%20119.973%2049.34%20119.864%2049.0416ZM112.676%2069.1682C112.676%2079.6926%20104.105%2088.264%2093.5805%2088.264H26.4195C15.8951%2088.264%207.32369%2079.6926%207.32369%2069.1682V53.7342H32.1971C32.387%2062.4412%2039.5479%2069.4666%2048.3092%2069.4666H70.66C79.4213%2069.4666%2086.5823%2062.4412%2086.7721%2053.7342H112.731V69.1682H112.676Z%22%20fill%3D%22white%22%2F%3E%0A%3Cpath%20d%3D%22M76.6004%203.74322C76.6004%201.70886%2078.2278%200.0813752%2080.2622%200.0813752L39.7802%203.07911e-05C41.8074%200.00817925%2043.4268%201.6326%2043.4268%203.66185L76.6004%203.74322Z%22%20fill%3D%22white%22%2F%3E%0A%3Cpath%20d%3D%22M80.2469%207.40503C78.2197%207.39688%2076.6004%205.77247%2076.6004%203.74322L43.4268%203.66185C43.4268%205.6962%2041.7993%207.32369%2039.7649%207.32369L80.2469%207.40503Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E%0A");

  opacity: 0.3;

  z-index: 1;
}

input[type="submit"].next:hover:after,
input[type="submit"].next:active:after,
input[type="reset"].next:hover:after,
input[type="reset"].next:active:after,
input[type="button"].next:hover:after,
input[type="button"].next:active:after,
button.next:hover:after,
button.next:active:after,
.button.next:hover:after,
.button.next:active:after {
  opacity: 1;
}

@media screen and (max-width: 1280px) {
  input[type="submit"].next,
  input[type="reset"].next,
  input[type="button"].next,
  button.next,
  .button.next {
    padding-right: 5em;
  }
}

input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
  background-color: #ffffff;
  box-shadow: none;
  color: #242943;
}

input[type="submit"].primary:hover,
input[type="submit"].primary:active,
input[type="reset"].primary:hover,
input[type="reset"].primary:active,
input[type="button"].primary:hover,
input[type="button"].primary:active,
button.primary:hover,
button.primary:active,
.button.primary:hover,
.button.primary:active {
  background-color: #9bf1ff;
  color: #242943 !important;
}

input[type="submit"].primary:active,
input[type="reset"].primary:active,
input[type="button"].primary:active,
button.primary:active,
.button.primary:active {
  background-color: #53e3fb;
}

input[type="submit"].disabled,
input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.25;
}

/* Header */

@-moz-keyframes reveal-header {
  0% {
    top: -4em;
    opacity: 0;
  }

  100% {
    top: 0;
    opacity: 1;
  }
}

@-webkit-keyframes reveal-header {
  0% {
    top: -4em;
    opacity: 0;
  }

  100% {
    top: 0;
    opacity: 1;
  }
}

@-ms-keyframes reveal-header {
  0% {
    top: -4em;
    opacity: 0;
  }

  100% {
    top: 0;
    opacity: 1;
  }
}

@keyframes reveal-header {
  0% {
    top: -4em;
    opacity: 0;
  }

  100% {
    top: 0;
    opacity: 1;
  }
}

#header {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  background-color: #2a2f4a;
  box-shadow: 0 0 0.25em 0 rgba(0, 0, 0, 0.15);
  cursor: default;
  font-weight: 600;
  height: 3.25em;
  left: 0;
  letter-spacing: 0.25em;
  line-height: 3.25em;
  margin: 0;
  position: fixed;
  text-transform: uppercase;
  top: 0;
  width: 100%;
  z-index: 10000;
}

#header h1 {
  font-family: "calibri";
  font-weight: 600;
}

#header .pfp {
  border: 0;
  display: inline-block;
  height: inherit;
  line-height: inherit;
  padding: 1rem 1rem;
}

#header .pfp img {
  -moz-transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

#header .pfp img:hover {
  opacity: 0.5;
}

#header .logo {
  border: 0;
  display: inline-block;
  font-size: 0.8em;
  height: inherit;
  line-height: inherit;
  padding: 0 1.5em;
}

#header .logo strong {
  -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  background-color: #ffffff;
  color: #242943;
  display: inline-block;
  line-height: 1.65em;
  margin-right: 0.325em;
  padding: 0 0.125em 0 0.375em;
}

#header .logo:hover strong {
  background-color: #9bf1ff;
}

#header .logo:active strong {
  background-color: #53e3fb;
}

#header nav {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-justify-content: -moz-flex-end;
  -webkit-justify-content: -webkit-flex-end;
  -ms-justify-content: -ms-flex-end;
  justify-content: flex-end;
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  height: inherit;
  line-height: inherit;
}

#header nav a {
  border: 0;
  display: block;
  font-size: 0.8em;
  height: inherit;
  line-height: inherit;
  padding: 0 0.75em;
  position: relative;
}

#header nav a:last-child {
  padding-right: 1.5em;
}

#header nav a[href="#menu"] {
  padding-right: 3.325em !important;
}

#header nav a[href="#menu"]:before,
#header nav a[href="#menu"]:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 2px%3B stroke: %23ffffff%3B %7D%3C/style%3E%3Cline x1='0' y1='11' x2='24' y2='11' /%3E%3Cline x1='0' y1='21' x2='24' y2='21' /%3E%3Cline x1='0' y1='16' x2='24' y2='16' /%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 32px;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  right: 1.5em;
  top: 0;
  width: 24px;
}

#header nav a[href="#menu"]:after {
  -moz-transition: opacity 0.2s ease-in-out;
  -webkit-transition: opacity 0.2s ease-in-out;
  -ms-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 2px%3B stroke: %239bf1ff%3B %7D%3C/style%3E%3Cline x1='0' y1='11' x2='24' y2='11' /%3E%3Cline x1='0' y1='21' x2='24' y2='21' /%3E%3Cline x1='0' y1='16' x2='24' y2='16' /%3E%3C/svg%3E");
  opacity: 0;
  z-index: 1;
}

#header nav a[href="#menu"]:hover:after,
#header nav a[href="#menu"]:active:after {
  opacity: 1;
}

#header nav a[href="#menu"]:last-child {
  padding-right: 3.875em !important;
}

#header nav a[href="#menu"]:last-child:before,
#header nav a[href="#menu"]:last-child:after {
  right: 2em;
}

#header.reveal {
  -moz-animation: reveal-header 0.35s ease;
  -webkit-animation: reveal-header 0.35s ease;
  -ms-animation: reveal-header 0.35s ease;
  animation: reveal-header 0.35s ease;
}

#header.alt {
  -moz-transition: opacity 2.5s ease;
  -webkit-transition: opacity 2.5s ease;
  -ms-transition: opacity 2.5s ease;
  transition: opacity 2.5s ease;
  -moz-transition-delay: 0.75s;
  -webkit-transition-delay: 0.75s;
  -ms-transition-delay: 0.75s;
  transition-delay: 0.75s;
  -moz-animation: none;
  -webkit-animation: none;
  -ms-animation: none;
  animation: none;
  background-color: transparent;
  box-shadow: none;
  position: absolute;
}

#header.alt.style1 .logo strong {
  color: #6fc3df;
}

#header.alt.style2 .logo strong {
  color: #8d82c4;
}

#header.alt.style3 .logo strong {
  color: #ec8d81;
}

#header.alt.style4 .logo strong {
  color: #e7b788;
}

#header.alt.style5 .logo strong {
  color: #8ea9e8;
}

#header.alt.style6 .logo strong {
  color: #87c5a4;
}

body.is-preload #header.alt {
  opacity: 0;
}

@media screen and (max-width: 1680px) {
  #header .pfp {
    padding: 0.5rem 1rem;
  }

  #header nav a[href="#menu"] {
    padding-right: 3.75em !important;
  }

  #header nav a[href="#menu"]:last-child {
    padding-right: 4.25em !important;
  }
}

@media screen and (max-width: 1280px) {
  #header .pfp {
    padding: 0.5rem 1rem;
  }

  #header .pfp img {
    width: 40px;
    height: 40px;
  }

  #header nav a[href="#menu"] {
    padding-right: 4em !important;
  }

  #header nav a[href="#menu"]:last-child {
    padding-right: 4.5em !important;
  }
}

@media screen and (max-width: 736px) {
  #header .pfp {
    height: 100vh;
    display: flex;
  }

  #header .pfp img {
    width: 30px;
    height: 30px;
    justify-content: center;
    align-items: center;
  }

  #header {
    height: 2.75em;
    line-height: 2.75em;
  }

  #header .logo {
    padding: 0 1em;
  }

  #header nav a {
    padding: 0 0.5em;
  }

  #header nav a:last-child {
    padding-right: 1em;
  }

  #header nav a[href="#menu"] {
    padding-right: 3.25em !important;
  }

  #header nav a[href="#menu"]:before,
  #header nav a[href="#menu"]:after {
    right: 0.75em;
  }

  #header nav a[href="#menu"]:last-child {
    padding-right: 4em !important;
  }

  #header nav a[href="#menu"]:last-child:before,
  #header nav a[href="#menu"]:last-child:after {
    right: 1.5em;
  }
}

@media screen and (max-width: 480px) {
  
  #header .logo span {
    display: none;
  }

  #header nav a[href="#menu"] {
    overflow: hidden;
    padding-right: 0 !important;
    text-indent: 5em;
    white-space: nowrap;
    width: 5em;
  }

  #header nav a[href="#menu"]:before,
  #header nav a[href="#menu"]:after {
    right: 0;
    width: inherit;
  }

  #header nav a[href="#menu"]:last-child:before,
  #header nav a[href="#menu"]:last-child:after {
    width: 4em;
    right: 0;
  }
}

/* Banner */

#banner {
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  background-image: url("../../images/banner.jpg");
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  padding: 1em 0 4em 0;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom: 0 !important;
  cursor: default;
  height: 100vh;
  margin-bottom: -3.25em;
  max-height: 32em;
  min-height: 22em;
  position: relative;
  top: -3.25em;
}

#banner:after {
  -moz-transition: opacity 2.5s ease;
  -webkit-transition: opacity 2.5s ease;
  -ms-transition: opacity 2.5s ease;
  transition: opacity 2.5s ease;
  -moz-transition-delay: 0.75s;
  -webkit-transition-delay: 0.75s;
  -ms-transition-delay: 0.75s;
  transition-delay: 0.75s;
  pointer-events: none;
  background-color: #242943;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.85;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

#banner h1 {
  font-size: 3.25em;
}

#banner > .inner {
  -moz-transition: opacity 1.5s ease, -moz-transform 0.5s ease-out,
    -moz-filter 0.5s ease, -webkit-filter 0.5s ease;
  -webkit-transition: opacity 1.5s ease, -webkit-transform 0.5s ease-out,
    -webkit-filter 0.5s ease, -webkit-filter 0.5s ease;
  -ms-transition: opacity 1.5s ease, -ms-transform 0.5s ease-out,
    -ms-filter 0.5s ease, -webkit-filter 0.5s ease;
  transition: opacity 1.5s ease, transform 0.5s ease-out, filter 0.5s ease,
    -webkit-filter 0.5s ease;
  padding: 0 !important;
  position: relative;
  z-index: 2;
}

#banner > .inner .image {
  display: none;
}

#banner > .inner header {
  width: auto;
}

#banner > .inner header > :first-child {
  width: auto;
}

#banner > .inner header > :first-child:after {
  max-width: 100%;
}

#banner > .inner .content {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin: 0 0 1em 0;
}

#banner > .inner .content > * {
  margin-right: 1.5em;
  margin-bottom: 03;
}

#banner > .inner .content > :last-child {
  margin-right: 0;
}

#banner > .inner .content p {
  font-size: 1em;

  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#banner.major {
  padding-top: 5em;
  padding-left: 6.5%;
  height: 100vh;
  min-height: 30em;
  max-height: 50em;
}

#banner.major.alt {
  opacity: 0.75;
}

#banner.style1:after {
  background-color: #6fc3df;
}

#banner.style2:after {
  background-color: #8d82c4;
}

#banner.style3:after {
  background-color: #ec8d81;
}

#banner.style4:after {
  background-color: #e7b788;
}

#banner.style5:after {
  background-color: #8ea9e8;
}

#banner.style6:after {
  background-color: #87c5a4;
}

body.is-preload #banner:after {
  opacity: 1;
}

body.is-preload #banner > .inner {
  -moz-filter: blur(0.125em);
  -webkit-filter: blur(0.125em);
  -ms-filter: blur(0.125em);
  filter: blur(0.125em);
  -moz-transform: translateX(-0.5em);
  -webkit-transform: translateX(-0.5em);
  -ms-transform: translateX(-0.5em);
  transform: translateX(-0.5em);
  opacity: 0;
}

@media screen and (max-width: 1280px) {
  #banner {
    background-attachment: scroll;
  }
}

@media screen and (max-width: 736px) {
  #banner {
    padding: 5em 0 1em 0;
    height: auto;
    margin-bottom: -2.75em;
    max-height: none;
    min-height: 0;
    top: -2.75em;
  }

  #banner h1 {
    font-size: 2em;
  }

  #banner > .inner .content {
    display: block;
  }

  #banner > .inner .content > * {
    margin-right: 0;
    margin-bottom: 2em;
  }

  #banner.major {
    height: auto;
    min-height: 0;
    max-height: none;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}

@media screen and (max-width: 480px) {
  #banner {
    padding: 6em 0 2em 0;
  }

  #banner > .inner .content p br {
    display: none;
  }

  #banner.major {
    padding: 8em 0 4em 0;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}

/* pfp-align */

#one > .inner {
  padding-left: 9em;
  padding-right: 9em;
}

@media screen and (max-width: 736px) {
  #one > .inner {
    padding-left: 3em;
    padding-right: 3em;
  }
}

#one2 {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;

  justify-content: center;
  align-items: center;

  height: 60vh;
  text-align: center;
}

/* Footer */
#footer .copyright {
  font-size: 0.8em;
  list-style: none;
  text-align: center;
}

#footer .copyright li {
  border-left: solid 1px rgba(212, 212, 255, 0.1);
  color: white;
  display: inline-block;
  line-height: 1;
  margin-left: 1em;
  padding-left: 1em;
}

#footer .copyright li:first-child {
  border-left: 0;
  margin-left: 0;
  padding-left: 0;
}

@media screen and (max-width: 480px) {
  #footer .copyright li {
    display: block;
    border-left: 0;
    margin-left: 0;
    padding-left: 0;
    line-height: inherit;
  }
}

/* Wrapper */

#wrapper {
  -moz-transition: -moz-filter 0.35s ease, -webkit-filter 0.35s ease,
    opacity 0.375s ease-out;
  -webkit-transition: -webkit-filter 0.35s ease, -webkit-filter 0.35s ease,
    opacity 0.375s ease-out;
  -ms-transition: -ms-filter 0.35s ease, -webkit-filter 0.35s ease,
    opacity 0.375s ease-out;
  transition: filter 0.35s ease, -webkit-filter 0.35s ease,
    opacity 0.375s ease-out;
  padding-top: 3.25em;
  max-height: none;
  overflow: hidden;
}

#wrapper.is-transitioning {
  opacity: 0;
}

#wrapper > * > .inner {
  padding: 4em 0 2em 0;
  margin: 0 auto;
  max-width: 65em;
  width: calc(100% - 6em);
}

@media screen and (max-width: 736px) {
  #wrapper > * > .inner {
    padding: 3em 0 1em 0;
    width: calc(100% - 3em);
  }
}

@media screen and (max-width: 736px) {
  #wrapper {
    padding-top: 2.75em;
  }
}

/* Updated mobile styles specifically for iPhone dimensions (440 x 956) */
@media screen and (max-width: 440px) {
  .ms--images {
    left: 0 !important;
    margin: 0 auto;
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important; /* Increased height for better visibility */
    overflow: hidden;
  }

  .ms--images .ms-track {
    left: 0 !important; /* Reset left offset */
  }

  .ms--images .ms-slide {
    min-width: 440px !important; /* Match device width */
    height: 300px !important; /* Match container height */
    padding: 0 20px; /* Add padding for better spacing */
  }

  .ms--images .ms-slide__image-container {
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }

  .ms--images.ms-container--horizontal {
    height: 300px;
  }

  .ms--images.ms-container--horizontal .ms-track {
    left: 0;
  }
}

@media screen and (max-width: 480px) {
  #wrapper {
    max-height: none !important; 
    /* Ensure we can scroll if content is tall */
  }
}
/* Menu */

#menu {
  -moz-transition: -moz-transform 0.35s ease, opacity 0.35s ease,
    visibility 0.35s;
  -webkit-transition: -webkit-transform 0.35s ease, opacity 0.35s ease,
    visibility 0.35s;
  -ms-transition: -ms-transform 0.35s ease, opacity 0.35s ease, visibility 0.35s;
  transition: transform 0.35s ease, opacity 0.35s ease, visibility 0.35s;
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  pointer-events: none;
  background: rgba(36, 41, 67, 0.9);
  box-shadow: none;
  height: 100%;
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: 3em 2em;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 10002;
}

#menu .inner {
  -moz-transition: -moz-transform 0.35s ease-out, opacity 0.35s ease,
    visibility 0.35s;
  -webkit-transition: -webkit-transform 0.35s ease-out, opacity 0.35s ease,
    visibility 0.35s;
  -ms-transition: -ms-transform 0.35s ease-out, opacity 0.35s ease,
    visibility 0.35s;
  transition: transform 0.35s ease-out, opacity 0.35s ease, visibility 0.35s;
  -moz-transform: rotateX(20deg);
  -webkit-transform: rotateX(20deg);
  -ms-transform: rotateX(20deg);
  transform: rotateX(20deg);
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  max-height: 100vh;
  opacity: 0;
  overflow: auto;
  text-align: center;
  visibility: hidden;
  width: 18em;
}

#menu .inner > :first-child {
  margin-top: 2em;
}

#menu .inner > :last-child {
  margin-bottom: 3em;
}

#menu ul {
  margin: 2em 0 1em 0;
}

#menu ul.links {
  list-style: none;
  padding: 0;
}

#menu ul.links > li {
  padding: 0;
}

#menu ul.links > li > a:not(.button) {
  border: 0;
  border-top: solid 1px rgba(212, 212, 255, 0.1);
  display: block;
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.25em;
  line-height: 4em;
  text-decoration: none;
  text-transform: uppercase;
}

#menu ul.links > li > .button {
  display: block;
  margin: 0.5em 0 0 0;
}

#menu ul.links > li:first-child > a:not(.button) {
  border-top: 0 !important;
}

#menu .close {
  -moz-transition: color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  border: 0;
  cursor: pointer;
  display: block;
  height: 4em;
  line-height: 4em;
  overflow: hidden;
  padding-right: 1.25em;
  position: absolute;
  right: 0;
  text-align: right;
  text-indent: 8em;
  top: 0;
  white-space: nowrap;
  width: 8em;
}

#menu .close:before,
#menu .close:after {
  -moz-transition: opacity 0.2s ease-in-out;
  -webkit-transition: opacity 0.2s ease-in-out;
  -ms-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: block;
  height: 4em;
  position: absolute;
  right: 0;
  top: 0;
  width: 4em;
}

#menu .close:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='20px' viewBox='0 0 20 20' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %23ffffff%3B stroke-width: 2%3B %7D%3C/style%3E%3Cline x1='0' y1='0' x2='20' y2='20' /%3E%3Cline x1='20' y1='0' x2='0' y2='20' /%3E%3C/svg%3E");
}

#menu .close:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='20px' viewBox='0 0 20 20' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %239bf1ff%3B stroke-width: 2%3B %7D%3C/style%3E%3Cline x1='0' y1='0' x2='20' y2='20' /%3E%3Cline x1='20' y1='0' x2='0' y2='20' /%3E%3C/svg%3E");
  opacity: 0;
}

#menu .close:hover:after,
#menu .close:active:after {
  opacity: 1;
}

body.is-ie #menu {
  background: rgba(42, 47, 74, 0.975);
}

body.is-menu-visible #wrapper {
  -moz-filter: blur(0.5em);
  -webkit-filter: blur(0.5em);
  -ms-filter: blur(0.5em);
  filter: blur(0.5em);
}

body.is-menu-visible #menu {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

body.is-menu-visible #menu .inner {
  -moz-transform: none;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  opacity: 1;
  visibility: visible;
}
.ms--images {
  position: relative;
  margin: 0 auto;
  width: 100%;
  /* left: calc(50% - 280px);  <== REMOVE or comment out to avoid forced offset */
  overflow: visible; /* or overflow-x: hidden if you want to hide horizontally, but be careful on mobile */
}
.ms--images.ms-container--horizontal {
  width: 100%;
  height: 400px;
  max-width: 100%;
}
.ms--images.ms-container--horizontal .ms-track {
  left: calc(50% - 350px);
}
.ms--images.ms-container--horizontal .ms-slide {
  display: inline-flex;
}
.ms--images .ms-track {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;  
  white-space: nowrap;
  padding: 0;
  margin: 0;
  list-style: none;

  transition: transform 0.4s ease; /* Smooth slide transitions */
}
.ms--images .ms-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 700px;   /* Or a more fluid width, e.g. 100% for full-bleed slides */
  height: 400px;
  user-select: none;
  position: relative;
}
.ms--images .ms-slide:hover .ms-slide__image-container {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}
.ms--images {
  left: calc(50% - 280px);
}
.ms--images.ms-container--horizontal .ms-track {
  left: -70px;
}
.ms--images .ms-slide:nth-child(1) .ms-slide__image {
  background-image: url("../../images/space.jpg")
}
.ms--images .ms-slide:nth-child(2) .ms-slide__image {
  background-image: url("../../images/healthcare.jpg")
}
.ms--images .ms-slide:nth-child(3) .ms-slide__image {
  background-image: url("../../images/music_catelog.jpg")
}
.ms--images .ms-slide:nth-child(4) .ms-slide__image {
  background-image: url("../../images/proj_food.webp")
}
.ms--images .ms-slide__image-container {
  width: 80%;
  height: 80%;
  background-color: rgba(0, 0, 0, 0.3);
  overflow: hidden;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ms--images .ms-slide__image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
}

.ms--numbers {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 240px;
  height: 240px;
  z-index: 2;
  pointer-events: none;
  overflow: visible;
}
.ms--numbers.ms-container--horizontal {
  width: 240px;
  height: 240px;
  max-width: 100%;
}
.ms--numbers.ms-container--horizontal .ms-track {
  left: calc(50% - 120px);
}
.ms--numbers.ms-container--horizontal .ms-slide {
  display: inline-flex;
}
.ms--numbers .ms-track {
  position: static !important;
  transform: none !important;
  transition: none !important;
  margin: 0 !important;
}
.ms--numbers .ms-slide {
  position: absolute !important;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 240px;
  height: 240px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 9em;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.2);
  user-select: none;
}

.ms--numbers {
  position: absolute;
  left: calc(50% - 380px);
  top: calc(50% - 300px);
  z-index: -1;
  pointer-events: none;
}
.ms--numbers .ms-slide {
  font-size: 9em;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.2);
}

.ms--titles {
  position: relative;
  overflow: hidden;
}

.ms--titles.ms-container--vertical {
  width: 400px;
  height: 170px;
  max-height: 100%;
  font-size: small;
}
.ms--titles.ms-container--vertical .ms-track {
  flex-direction: column;
  top: calc(50% - 85px);
}
.ms--titles.ms-container--vertical.ms-container--reverse .ms-track {
  flex-direction: column-reverse;
  top: auto;
  bottom: calc(50% - 85px);
}
.ms--titles.ms-container--vertical .ms-slide {
  display: flex;
}
.ms--titles .ms-track {
  display: flex;
  position: absolute;
  white-space: nowrap;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ms--titles .ms-slide {
  align-items: center;
  justify-content: center;
  width: 400px;
  height: 170px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.ms--titles {
  position: absolute;
  left: calc(50% - 420px);
  top: calc(50% - 85px);
  z-index: 1;
  pointer-events: none;
}
.ms--titles .ms-track {
  white-space: normal;
}
.ms--titles .ms-slide {
  font-size: 4em;
  font-weight: 800;
}
.ms--titles .ms-slide h3 {
  margin: 0;
  text-shadow: 1px 1px 2px black;
}

.ms--links {
  position: relative;
  overflow: hidden;
}
.ms--links.ms-container--vertical {
  width: 120px;
  height: 60px;
  max-height: 100%;
}
.ms--links.ms-container--vertical .ms-track {
  flex-direction: column;
  top: calc(50% - 30px);
}
.ms--links.ms-container--vertical .ms-slide {
  display: flex;
}
.ms--links .ms-track {
  display: flex;
  position: absolute;
  white-space: nowrap;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ms--links .ms-slide {
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 60px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.ms--links {
  position: absolute;
  left: calc(50% - 400px);
  top: calc(50% + 105px);
  z-index: 1;
}
.ms--links .ms-track {
  white-space: normal;
}

/*Learn more button*/
.ms--links .ms-slide__link {
  border-bottom: 2px solid white;
  cursor: pointer;
}

.pagination {
  display: flex;
  position: absolute;
  left: calc(50% - 100px);
  top: calc(80%);
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  z-index: 1;
}
.pagination__button {
  display: inline-block;
  position: relative;
  width: 36px;
  height: 20px;
  margin: 0 5px;
  cursor: pointer;
  border-bottom: none; /* Removes the dotted line */

}
.pagination__button:before, .pagination__button:after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 1px);
  width: 100%;
  box-shadow: 0 1px 0 #ffffff;
}
.pagination__button:before {
  height: 2px;
  background-color: rgba(212, 212, 255, 0.035);
}
.pagination__button:after {
  height: 3px;
  background-color: #fdfdfd;
  opacity: 0;
  transition: 0.5s opacity;
}

.pagination__item--active .pagination__button:after {
  opacity: 1;
}

@media screen and (max-width: 860px) {
  .ms--numbers {
    left: calc(50% - 120px);
  }

  .ms--titles {
    left: calc(50% - 200px);
    top: calc(50% - 135px);
    text-align: center;
  }

  .ms--links {
    left: calc(50% - 60px);
    top: calc(50% + 80px);
  }

  .pagination {
    left: 50%;
    top: calc(100% - 50px);
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 600px) {
  .ms--images {
    overflow: visible;
  }
}
@media screen and (max-width: 400px) {
  .ms--titles .ms-slide {
    transform: scale(0.8);
  }
}


a {
  color: white;
  text-decoration: none;
  cursor: pointer;
}

.container {
  position: relative;
  display: flex;
  flex-direction: column;
  /* Let the container auto-size vertically as needed */
  min-height: 100vh;
  height: auto;
  overflow: visible; /* Hidden can cause issues on small screens if content overflows */
  background-color: rgba(0, 0, 0, 0.1);
}

.container p {
  /* Positioning & layering */
  position: relative;
  z-index: 1; /* Ensures the paragraph appears above the rotated background */

  /* Typography */
  color: #ffffff;
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.5px;

  /* Spacing */
  margin: 2rem auto;
  max-width: 800px;
  padding: 1.5rem 2rem;

  /* Background & effects */
  background: rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.container:before {
  content: "";
  position: absolute;
  left: -150%;
  top: 0;
  width: 300%;
  height: 100%;
  transform: rotate(45deg);
  background-color: rgba(0, 0, 0, 0.3);
  z-index: -1;
}

.sliders-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

@media screen and (max-width: 860px) {
  .header__menu, .footer {
    display: none;
  }
}

/* SECTION #three */
#three {
  /* Layout */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;       /* Allows content to wrap on smaller devices */
  justify-content: space-evenly;
  align-items: flex-start;

  /* Spacing & background */
  background-color: rgba(0, 0, 0, 0.3);
  padding: 3em 0;
  margin: 2em 0;
  position: relative;
}

/* Each .inner container within #three */
#three .inner {
  /* Constrain width for readability */
  max-width: 500px;
  margin: 1.5em;
  padding: 2em;

  /* Background styling */
  background: rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 1;
}

/* Heading styling inside each .inner */
#three .inner h2 {
  font-size: 1.8rem;
  margin-bottom: 0.75em;
  letter-spacing: 0.5px;
  text-align: center;
}

/* Paragraph styling */
#three .inner p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.5em;
  text-align: center;
}

/* Actions list (buttons) */
#three .inner .actions {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

#three .inner .actions li {
  margin: 0 0.5em;
}



/* Mobile adjustments */
@media screen and (max-width: 736px) {
  #three {
    flex-direction: column;
    align-items: center;
  }

  #three .inner {
    margin: 1em 0.5em;
    width: calc(100% - 1em);
    max-width: 600px; /* or remove if you want full width */
  }
}


.container {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 5s ease, transform 3s ease;
}

body.is-preload .container {
  opacity: 0;
  transform: translateY(-2em);
}

/*--------------------------------------------------------------
   SECTION WRAPPERS
  --------------------------------------------------------------*/
#featured-projects,
#in-progress {
  /* breathing-room + subtle tint behind the grids */
  padding: 5em 0;
  background: rgba(36,41,67,.05);
}

#featured-projects .inner,
#in-progress   .inner {
  max-width: 1200px;   /* keeps cards from stretching on 4K monitors   */
  margin: 0 auto;
}

/*--------------------------------------------------------------
   UNIFIED, SCALABLE PROJECT CARDS
  --------------------------------------------------------------*/

/* 1.  Give every cover image an intrinsic 16:9 box so they stay equal
      size on every device (no more height: 250px magic numbers).     */
.project-image {
  aspect-ratio: 16 / 9;   /* modern browsers – graceful no-op fallback */
  height: auto;           /* let the ratio drive the height            */
  overflow: hidden;       /* keep zoom-in hover effect clean           */
}

.project-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;      /* fills the box, crops gracefully            */
  object-position: center;
}

/* 2.  Make sure long descriptions don’t stretch one card taller
      than its neighbors.  Flex already stacks things vertically
      (see .project-card in your file), so just force the image to
      sit on top and let the text area flex-fill the rest.            */
.project-card {
  display: flex;
  flex-direction: column;
}

.project-content {
  flex: 1 1 auto;         /* equal-heights even when text lengths vary */
}

/*--------------------------------------------------------------
   GRID TWEAKS FOR VERY SMALL VS. XL SCREENS
  --------------------------------------------------------------*/
@media (max-width: 600px) {              /* phones */
  .projects-grid   { grid-template-columns: 1fr; }
  .progress-grid   { grid-template-columns: 1fr; }
  .project-image   { aspect-ratio: 4 / 3; }      /* a bit taller on phones */
}

@media (min-width: 1600px) {             /* ultrawide desktops */
  .projects-grid { grid-template-columns: repeat(auto-fit, minmax(400px,1fr)); }
  .progress-grid { grid-template-columns: repeat(auto-fit, minmax(450px,1fr)); }
}
