@charset "UTF-8";
@font-face {
  font-family: "Abhaya Libre" serif;
  src: url("/frontend/fonts/AbhayaLibre-Regular.ttf");
}
@font-face {
  font-family: OpenSans;
  src: url("/frontend/fonts/OpenSans-Regular.ttf");
}
@font-face {
  font-family: Asul;
  src: url("/frontend/fonts/Asul-Regular.ttf");
}
.color-1 {
  color: #4C6962;
}

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

html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 62.5%;
}
@media only screen and (max-width: 75em) {
  html {
    font-size: 60%;
  }
}
@media only screen and (max-width: 60rem) {
  html {
    font-size: 54%;
  }
}

body {
  font-family: "OpenSans", sans-serif;
  color: #4D4D4D;
  font-weight: 300;
  line-height: 1.6;
  background-color: #F4F4F4;
}

a,
a:link,
a:visited {
  cursor: pointer;
}

a:focus {
  outline: none;
}

#loader {
  display: none;
}

img, object {
  image-rendering: -webkit-optimize-contrast;
}

.main {
  max-width: 120rem;
  margin: 0 auto;
  grid-column: content-start/content-end;
  padding: 1.6rem 2rem 4rem 2rem;
}
@media only screen and (max-width: 960px) {
  .main {
    padding: 1.6rem 2.4rem 4rem 2.4rem;
  }
}

.main-sub {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem;
}

.full-span {
  grid-row: full-width-start/full-width-end;
  grid-column: 1/4;
  background-color: #010633;
  padding: 2rem 0;
}

.ticket-wrapper {
  width: 100%;
  background-color: #010633;
}

.ticket-type {
  background-color: #1B2262;
  padding: 5.6rem;
  display: grid;
  grid-template-rows: repeat(3, -webkit-min-content) 1fr 1fr;
  grid-template-rows: repeat(3, min-content) 1fr 1fr;
  grid-row-gap: 1.6rem;
  justify-content: center;
  justify-items: center;
  align-items: start;
  min-height: 300px;
  border-radius: 0.8rem;
}

input.ticket-type {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.ticket-item {
  background-color: #1B2262;
  padding: 5.6rem;
  display: grid;
  grid-template-rows: repeat(3, -webkit-min-content) 1fr 1fr;
  grid-template-rows: repeat(3, min-content) 1fr 1fr;
  grid-row-gap: 1.6rem;
  justify-content: center;
  justify-items: center;
  align-items: start;
  min-height: 300px;
  border-radius: 0.8rem;
}

.ticket-item__checked {
  display: block;
  transform: scale(120%);
}

.wrap {
  max-width: 1200px;
  margin: 5rem;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Abhaya Libre", serif;
  font-weight: 400;
}

p {
  font-size: 1.4rem;
}

h6 {
  font-size: 1.4rem;
}

h5 {
  font-size: 1.8rem;
}

h4 {
  font-size: 2.1rem;
  line-height: 1.2;
}

h3 {
  font-size: 2.9rem;
  line-height: 1;
}

h2 {
  font-size: 3.2rem;
  line-height: 1;
}

h1 {
  font-size: 4rem;
  line-height: 1;
}

.pfont {
  font-family: "OpenSans", sans-serif;
}

.dfont {
  font-family: "Abhaya Libre", serif;
}

.fs-1 {
  font-size: 1.28rem;
}

.fs0 {
  font-size: 1.4rem;
}

.fs1 {
  font-size: 1.6rem;
}

.fs2 {
  font-size: 2.5rem;
}

.fs3 {
  font-size: 3.1rem;
}

.fs4 {
  font-size: 3.9rem;
}

.fs5 {
  font-size: 4.8rem;
}

.lh-1 {
  line-height: 1;
}

.lh0 {
  line-height: 1.2;
}

.lh1 {
  line-height: 1.6;
}

.t-align-r {
  text-align: right;
}

.t-align-l {
  text-align: left;
}

.t-align-c {
  text-align: center;
}

.i {
  font-style: oblique;
}

.btn {
  background-color: #4D4D4D;
  color: white;
  border: none;
  border-radius: 0;
  font-family: "Abhaya Libre", serif;
  font-size: 1.5rem;
  text-transform: uppercase;
  padding: 1.8rem 3rem;
  cursor: pointer;
}
.btn:hover {
  background-color: #B28451;
}

.title {
  text-align: center;
  padding-top: 4rem;
}

.uppercase {
  text-transform: uppercase;
}

.tracking-1 {
  letter-spacing: 1px;
}

.bg-black {
  background-color: black;
}

.bg-color-white {
  background-color: #fff;
}

.bg-color-1 {
  background-color: #4C6962;
}

.bg-color-2 {
  background-color: #EAE7E7;
}

.bg-color-3 {
  background-color: #D6D5D5;
}

.bg-color-4 {
  background-color: #53877A;
}

.bg-color-5 {
  background-color: #E7E4DA;
}

.bg-color-cta {
  background-color: coral;
}

.dark-orange {
  color: #CA7900;
}

.soft-orange {
  color: #FFC979;
}

.container {
  max-width: 120rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1240px) {
  .container {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.container-edge {
  max-width: 120rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1240px) {
  .container-edge {
    padding-left: 0;
    padding-right: 0;
  }
}

.pad-xs {
  padding: 0.8rem;
}

.pad-s {
  padding: 1.6rem;
}

.pad-m {
  padding: 2.4rem;
}

.pad-l {
  padding: 4rem;
}
@media only screen and (max-width: 960px) {
  .pad-l {
    padding: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-l {
    padding: 2.4rem;
  }
}

.pad-xl {
  padding: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .pad-xl {
    padding: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-xl {
    padding: 4rem;
  }
}

.pad-xxl {
  padding: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .pad-xxl {
    padding: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-xxl {
    padding: 6.4rem;
  }
}

.pad-t-xs {
  padding-top: 0.8rem;
}

.pad-t-s {
  padding-top: 1.6rem;
}

.pad-t-m {
  padding-top: 2.4rem;
}

.pad-t-l {
  padding-top: 4rem;
}
@media only screen and (max-width: 960px) {
  .pad-t-l {
    padding-top: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-t-l {
    padding-top: 4rem;
  }
}

.pad-t-xl {
  padding-top: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .pad-t-xl {
    padding-top: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-t-xl {
    padding-top: 4rem;
  }
}

.pad-t-xxl {
  padding-top: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .pad-t-xxl {
    padding-top: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-t-xxl {
    padding-top: 6.4rem;
  }
}

.pad-b-xs {
  padding-bottom: 0.8rem;
}

.pad-b-s {
  padding-bottom: 1.6rem;
}

.pad-b-m {
  padding-bottom: 2.4rem;
}

.pad-b-l {
  padding-bottom: 4rem;
}
@media only screen and (max-width: 960px) {
  .pad-b-l {
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-b-l {
    padding-bottom: 4rem;
  }
}

.pad-b-xl {
  padding-bottom: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .pad-b-xl {
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-b-xl {
    padding-bottom: 4rem;
  }
}

.pad-b-xxl {
  padding-bottom: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .pad-b-xxl {
    padding-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-b-xxl {
    padding-bottom: 6.4rem;
  }
}

.pad-l-xs {
  padding-left: 0.8rem;
}

.pad-l-s {
  padding-left: 1.6rem;
}

.pad-l-m {
  padding-left: 2.4rem;
}

.pad-l-l {
  padding-left: 4rem;
}
@media only screen and (max-width: 960px) {
  .pad-l-l {
    padding-left: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-l-l {
    padding-left: 2.4rem;
  }
}

.pad-l-xl {
  padding-left: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .pad-l-xl {
    padding-left: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-l-xl {
    padding-left: 4rem;
  }
}

.pad-r-xs {
  padding-right: 0.8rem;
}

.pad-r-s {
  padding-right: 1.6rem;
}

.pad-r-m {
  padding-right: 2.4rem;
}

.pad-r-l {
  padding-right: 4rem;
}
@media only screen and (max-width: 960px) {
  .pad-r-l {
    padding-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-r-l {
    padding-right: 2.4rem;
  }
}

.pad-r-xl {
  padding-right: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .pad-r-xl {
    padding-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-r-xl {
    padding-right: 2.4rem;
  }
}

.pad-tb-xs {
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
}

.pad-tb-s {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}

.pad-tb-m {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}

.pad-tb-l {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media only screen and (max-width: 960px) {
  .pad-tb-l {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-tb-l {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}

.pad-tb-xl {
  padding-top: 6.4rem;
  padding-bottom: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .pad-tb-xl {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-tb-xl {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
  }
}

.pad-tb-xxl {
  padding-top: 9.6rem;
  padding-bottom: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .pad-tb-xxl {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-tb-xxl {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
  }
}

.pad-lr-xs {
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

.pad-lr-s {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}

.pad-lr-m {
  padding-left: 2.4rem;
  padding-right: 2.4rem;
}

.pad-lr-l {
  padding-left: 4rem;
  padding-right: 4rem;
}
@media only screen and (max-width: 960px) {
  .pad-lr-l {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-lr-l {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}

.pad-lr-xl {
  padding-left: 6.4rem;
  padding-right: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .pad-lr-xl {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-lr-xl {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

.pad-lr-xxl {
  padding-left: 9.6rem;
  padding-right: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .pad-lr-xxl {
    padding-left: 6.4rem;
    padding-right: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .pad-lr-xxl {
    padding-left: 6.4rem;
    padding-right: 6.4rem;
  }
}

.mar-xs {
  margin: 0.8rem;
}

.mar-s {
  margin: 1.6rem;
}

.mar-m {
  margin: 2.4rem;
}

.mar-l {
  margin: 4rem;
}
@media only screen and (max-width: 960px) {
  .mar-l {
    margin: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-l {
    margin: 2.4rem;
  }
}

.mar-xl {
  margin: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .mar-xl {
    margin: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-xl {
    margin: 2.4rem;
  }
}

.mar-t-xs {
  margin-top: 0.8rem;
}

.mar-t-s {
  margin-top: 1.6rem;
}

.mar-t-m {
  margin-top: 2.4rem;
}

.mar-t-l {
  margin-top: 4rem;
}
@media only screen and (max-width: 960px) {
  .mar-t-l {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-t-l {
    margin-top: 2.4rem;
  }
}

.mar-t-xl {
  margin-top: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .mar-t-xl {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-t-xl {
    margin-top: 2.4rem;
  }
}

.mar-t-xxl {
  margin-top: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .mar-t-xxl {
    margin-top: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-t-xxl {
    margin-top: 4rem;
  }
}

.mar-b-xs {
  margin-bottom: 0.8rem;
}

.mar-b-s {
  margin-bottom: 1.6rem;
}

.mar-b-m {
  margin-bottom: 2.4rem;
}

.mar-b-l {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 960px) {
  .mar-b-l {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-b-l {
    margin-bottom: 2.4rem;
  }
}

.mar-b-xl {
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .mar-b-xl {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-b-xl {
    margin-bottom: 2.4rem;
  }
}

.mar-b-xxl {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .mar-b-xxl {
    margin-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-b-xxl {
    margin-bottom: 4rem;
  }
}

.mar-l-xs {
  margin-left: 0.8rem;
}

.mar-l-s {
  margin-left: 1.6rem;
}

.mar-l-m {
  margin-left: 2.4rem;
}

.mar-l-l {
  margin-left: 4rem;
}
@media only screen and (max-width: 960px) {
  .mar-l-l {
    margin-left: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-l-l {
    margin-left: 2.4rem;
  }
}

.mar-l-xl {
  margin-left: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .mar-l-xl {
    margin-left: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-l-xl {
    margin-left: 2.4rem;
  }
}

.mar-r-xs {
  margin-right: 0.8rem;
}

.mar-r-s {
  margin-right: 1.6rem;
}

.mar-r-m {
  margin-right: 2.4rem;
}

.mar-r-l {
  margin-right: 4rem;
}
@media only screen and (max-width: 960px) {
  .mar-r-l {
    margin-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-r-l {
    margin-right: 1.6rem;
  }
}

.mar-r-xl {
  margin-right: 6.4rem;
}
@media only screen and (max-width: 960px) {
  .mar-r-xl {
    margin-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-r-xl {
    margin-right: 2.4rem;
  }
}

.mar-tb-xs {
  margin: 0.8rem 0;
}

.mar-tb-s {
  margin: 1.6rem 0;
}

.mar-tb-m {
  margin: 2.4rem 0;
}

.mar-tb-l {
  margin: 4rem 0;
}
@media only screen and (max-width: 960px) {
  .mar-tb-l {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-tb-l {
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
  }
}

.mar-tb-xl {
  margin: 6.4rem 0;
}
@media only screen and (max-width: 960px) {
  .mar-tb-xl {
    margin-top: 6.4rem;
    margin-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-tb-xl {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

.mar-tb-xxl {
  margin-top: 9.6rem;
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 960px) {
  .mar-tb-xxl {
    margin-top: 6.4rem;
    margin-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-tb-xxl {
    margin-top: 6.4rem;
    margin-bottom: 6.4rem;
  }
}

.mar-lr-xs {
  margin: 0 0.8rem;
}

.mar-lr-s {
  margin: 0 1.6rem;
}

.mar-lr-m {
  margin: 0 2.4rem;
}

.mar-lr-l {
  margin: 0 4rem;
}
@media only screen and (max-width: 960px) {
  .mar-lr-l {
    margin-left: 4rem;
    margin-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-lr-l {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }
}

.mar-lr-xl {
  margin: 0 6.4rem;
}
@media only screen and (max-width: 960px) {
  .mar-lr-xl {
    margin-left: 4rem;
    margin-right: 4rem;
  }
}
@media only screen and (max-width: 800px) {
  .mar-lr-xl {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }
}

.max-w {
  width: 100%;
}

.text-wrap {
  max-width: 64rem;
}

.text-wrap-l {
  max-width: 80rem;
}

.v-grid-s {
  display: grid;
  grid-gap: 1.6rem;
  align-content: start;
}

.res-img {
  width: 100%;
}

.max-width {
  width: 100%;
}

.grid {
  display: grid;
}

.grid-jic {
  justify-items: center;
}

.grid-sb {
  align-content: space-between;
}

.grid-auto {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: -webkit-max-content;
  grid-auto-columns: max-content;
}

.align-i-s {
  align-items: start;
}

.aself-end {
  align-self: end;
}

.aself-start {
  align-self: start;
}

.aself-center {
  align-self: center;
}

.grid-1-col {
  display: grid;
  align-content: start;
}

.grid-2-col {
  display: grid;
  align-content: start;
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 800px) {
  .grid-2-col {
    grid-template-columns: 1fr;
  }
}

.grid-3-col {
  display: grid;
  align-content: start;
  grid-template-columns: 1fr 1fr 1fr;
}
@media only screen and (max-width: 800px) {
  .grid-3-col {
    grid-template-columns: 1.5fr 1fr;
  }
}
@media only screen and (max-width: 560px) {
  .grid-3-col {
    grid-template-columns: 1fr;
  }
}

.grid-4-col {
  display: grid;
  align-content: start;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media only screen and (max-width: 800px) {
  .grid-4-col {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 560px) {
  .grid-4-col {
    grid-template-columns: 1fr;
  }
}

.grid-2-col-l {
  display: grid;
  align-content: start;
  grid-template-columns: 1fr 1fr;
}

.grid-3-1 {
  display: grid;
  grid-template-columns: 3fr 1fr;
}
@media only screen and (max-width: 800px) {
  .grid-3-1 {
    grid-template-columns: 1fr;
  }
}

.grid-1-3 {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
@media only screen and (max-width: 560px) {
  .grid-1-3 {
    grid-template-columns: 1fr 2fr;
  }
}

.grid-min-fr {
  display: grid;
  grid-template-columns: -webkit-min-content 1fr;
  grid-template-columns: min-content 1fr;
}

.grid-fr-min-fr {
  display: grid;
  grid-template-columns: 1fr -webkit-min-content 1fr;
  grid-template-columns: 1fr min-content 1fr;
}
@media only screen and (max-width: 740px) {
  .grid-fr-min-fr {
    grid-template-columns: 1fr;
  }
}

.grid-v-line {
  background-color: rgba(0, 0, 0, 0.1);
  width: 1px;
}
@media only screen and (max-width: 740px) {
  .grid-v-line {
    height: 1px;
    width: 100%;
  }
}

.span-2 {
  grid-column: 1/span 2;
}

.cgap-xs {
  grid-column-gap: 0.8rem;
}

.cgap-s {
  grid-column-gap: 1.6rem;
}

.cgap-m {
  grid-column-gap: 2.4rem;
}

.cgap-l {
  grid-column-gap: 4rem;
}

.cgap-xl {
  grid-column-gap: 6.4rem;
}

.rgap-xxs {
  grid-row-gap: 0.4rem;
}

.rgap-xs {
  grid-row-gap: 0.8rem;
}

.rgap-s {
  grid-row-gap: 1.6rem;
}

.rgap-m {
  grid-row-gap: 2.4rem;
}

.rgap-l {
  grid-row-gap: 4rem;
}

.rgap-xl {
  grid-row-gap: 6.4rem;
}

.v-align {
  align-items: center;
}

.v-content {
  align-content: center;
}

.justify-c-c {
  justify-content: center;
}

.justify-i-c {
  justify-items: center;
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.flex-sb {
  justify-content: space-between;
}

.align-st {
  align-items: flex-start;
}

.full-wrap-white {
  background-color: #fff;
}

.full-wrap-a {
  background-color: #EAE7E7;
}

.full-wrap-b {
  background-color: #D6D5D5;
}

.full-wrap-c {
  background-color: #847764;
}

.white {
  color: #fff;
}

.br1 {
  border-radius: 0.2rem;
}

.br2 {
  border-radius: 0.4rem;
}

.br3 {
  border-radius: 0.8rem;
}

.br4 {
  border-radius: 1.2rem;
}

.br-top-4 {
  border-radius: 1.2rem 1.2rem 0 0;
}

.br-bottom-4 {
  border-radius: 0 0 1.2rem 1.2rem;
}

.border-1-1 {
  border: solid 1px rgba(0, 0, 0, 0.1);
}

.border-r {
  border-right: solid 1px rgba(0, 0, 0, 0.1);
}

.border-t {
  border-top: solid 1px rgba(0, 0, 0, 0.1);
}

.border-b {
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}

.bdr-b-tint-1 {
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
}

.bdr-b-tint-2 {
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}

.bdr-t-tint-1 {
  border-top: solid 1px rgba(255, 255, 255, 0.1);
}

.bdr-t-tint-10 {
  border-top: solid 1px white;
}

.bdr-t-shade-1 {
  border-top: solid 1px rgba(0, 0, 0, 0.1);
}

.bdr-t-shade-2 {
  border-top: solid 1px rgba(0, 0, 0, 0.2);
}

.bdr-b-shade-1 {
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}

.bdr-b-shade-2 {
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
}

.bg-shade-1 {
  background-color: rgba(0, 0, 0, 0.05);
}

.bg-shade-2 {
  background-color: rgba(0, 0, 0, 0.1);
}

.bg-shade-3 {
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-tint-1 {
  background-color: rgba(255, 255, 255, 0.1);
}

.bg-tint-2 {
  background-color: rgba(255, 255, 255, 0.2);
}

.bg-tint-3 {
  background-color: rgba(255, 255, 255, 0.3);
}

.bg-tint-4 {
  background-color: rgba(255, 255, 255, 0.4);
}

.bg-tint-5 {
  background-color: rgba(255, 255, 255, 0.5);
}

.bg-tint-6 {
  background-color: rgba(255, 255, 255, 0.6);
}

.bg-tint-7 {
  background-color: rgba(255, 255, 255, 0.7);
}

.bg-tint-8 {
  background-color: rgba(255, 255, 255, 0.8);
}

.bg-tint-9 {
  background-color: rgba(255, 255, 255, 0.9);
}

.center {
  margin: 0 auto;
}

.mw-960 {
  max-width: 960px;
}

.mw-840 {
  max-width: 840px;
}

.mw-720 {
  max-width: 720px;
}

.mw-640 {
  max-width: 640px;
}

.mw-560 {
  max-width: 560px;
}

.mw-480 {
  max-width: 480px;
}

.mw-360 {
  max-width: 360px;
}

.mw-320 {
  max-width: 320px;
}

.mw-240 {
  max-width: 240px;
}

.mw-160 {
  max-width: 160px;
}

.w-160 {
  width: 16rem;
}

.w-240 {
  width: 24rem;
}

.w-320 {
  width: 32rem;
}

.height-1 {
  height: 0.4rem;
}

.height-2 {
  height: 1.2rem;
}

.height-3 {
  height: 2.4rem;
}

.height-4 {
  height: 4rem;
}

.height-5 {
  height: 5.6rem;
}

.height-6 {
  height: 7.2rem;
}

.height-7 {
  height: 8.8rem;
}

.height-8 {
  height: 9.6rem;
}

.height-7-vw {
  height: 7vw;
  max-height: 7rem;
}

.min-h-1 {
  min-height: 20rem;
}

.two-col-textbox {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 2.4rem;
       column-gap: 2.4rem;
}
.two-col-textbox > * {
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 740px) {
  .two-col-textbox {
    -moz-column-count: 1;
         column-count: 1;
  }
}

.z0 {
  position: relative;
  z-index: 0;
}

.z500 {
  position: relative;
  z-index: 500;
}

.z600 {
  position: relative;
  z-index: 600;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
}

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.outline {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 1.2rem;
  height: 100%;
}

.aspect-ratio {
  height: 0;
  position: relative;
}

.aspect-ratio--6x4 {
  padding-bottom: 66.6%;
}

.aspect-ratio--object {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}

/*
.asp-box-sq{
    height: 0;
    padding-top: 100%;
    position: relative;
    background-color: aqua;

}
*/
.asp-box-sq {
  width: 0;
  padding-left: 100%;
  padding-top: 100%;
  position: relative;
  background-color: aqua;
}

.asp-box-6-4 {
  height: 0;
  padding-top: 66.6%;
  position: relative;
}

.asp-box-16-9 {
  height: 0;
  padding-top: 56.25%;
  position: relative;
}

.asp-box-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.fit {
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.op-1 {
  opacity: 0.1;
}

.op-2 {
  opacity: 0.2;
}

.op-3 {
  opacity: 0.3;
}

.op-4 {
  opacity: 0.4;
}

.op-5 {
  opacity: 0.5;
}

.op-6 {
  opacity: 0.6;
}

.op-7 {
  opacity: 0.7;
}

.op-8 {
  opacity: 0.8;
}

.bold {
  font-weight: 800;
}

.lh-m {
  line-height: 1.4;
}

.h-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.v-flex-center {
  display: flex;
  align-items: center;
}

.max-h-1 {
  max-height: 27rem;
}

@media only screen and (max-width: 800px) {
  .no-mob {
    display: none;
  }
}

.overflow-h {
  overflow: hidden;
}

.scale1 {
  transition: all 0.2s;
}
.scale1:hover {
  transform: scale(1.05);
}

.shad-1 {
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.2);
}

.shad-3 {
  box-shadow: 0 0 0.6rem 0.4rem rgba(0, 0, 0, 0.2);
}

.a-self-e {
  align-self: end;
}

.j-self-e {
  justify-self: end;
}

.end-to-start-800 {
  justify-self: end;
}
@media only screen and (max-width: 800px) {
  .end-to-start-800 {
    justify-self: start;
  }
}

.s-between-v {
  align-content: space-between;
}

.no-bullet {
  list-style-type: none;
  list-style-position: inside;
}

.list-inset {
  list-style-position: outside;
  transform: translateX(2.2rem);
}

.hide {
  display: none;
}

@media only screen and (max-width: 560px) {
  .no-mobile {
    display: none;
  }
}

.contact-form-wrap {
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 1.2rem;
  display: flex;
  justify-content: center;
}

.contact-form {
  display: grid;
  max-width: 560px;
  grid-row-gap: 1.6rem;
  text-align: center;
}
.contact-form button {
  width: 100%;
}
.contact-form p {
  text-align: center;
  padding-bottom: 1.6rem;
}

.connect__heading {
  text-align: center;
  margin-bottom: 3.2rem;
}
.connect__icons {
  display: grid;
  grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content -webkit-max-content;
  grid-template-columns: max-content max-content max-content max-content;
  grid-column-gap: 3vw;
  justify-content: center;
}
.connect__icon-wrap {
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 1.2rem;
  padding: 5px;
  opacity: 0.5;
  transition: all 0.2s;
  margin-bottom: 4.8rem;
}
.connect__icon-wrap:hover {
  opacity: 1;
}
.connect__icon {
  width: 100%;
}

button {
  outline: none;
  cursor: pointer;
}

.btn-primary {
  display: block;
  background-color: #FC9700;
  border: none;
  width: 100%;
  height: 4rem;
  padding: 0.9rem 0;
  border-radius: 5rem;
  color: white;
  font-size: 1.3rem;
  transition: all 0.2s;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  cursor: pointer;
}
.btn-primary--sm {
  font-size: 1.2rem;
  height: 3.2rem;
  width: 16rem;
  padding: 0.6rem 0;
}
@media only screen and (max-width: 560px) {
  .btn-primary {
    width: 100%;
  }
}
.btn-primary:hover {
  filter: brightness(120%);
}

.btn-primary-closed {
  display: block;
  background-color: #C0BAAF;
  border: none;
  width: 100%;
  height: 4rem;
  padding: 0.9rem 0;
  border-radius: 5rem;
  color: white !important;
  font-size: 1.3rem;
  transition: all 0.2s;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  cursor: pointer;
}

@media only screen and (max-width: 400px) {
  a.btn-primary, a.btn-outline {
    width: 100%;
  }
}

.btn-outline {
  display: block;
  background-color: transparent;
  width: 100%;
  height: 4rem;
  padding: 0.9rem 0;
  border-radius: 5rem;
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.7);
  font-size: 1.3rem;
  transition: all 0.2s;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  cursor: pointer;
}
.btn-outline:hover {
  background-color: rgba(0, 0, 0, 0.1);
  color: white;
}

.btn-outline-dark {
  display: block;
  transition: all 0.4s;
  text-align: center;
}
.btn-outline-dark, .btn-outline-dark:link, .btn-outline-dark:visited {
  height: 4rem;
  padding: 0.9rem 0;
  border-radius: 2rem;
  color: #4D4D4D;
  font-size: 1.3rem;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.2rem;
  font-weight: bold;
  transition: all 0.2s;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  cursor: pointer;
  border: 1px solid rgba(77, 77, 77, 0.5);
}
.btn-outline-dark:hover, .btn-outline-dark:active {
  outline: none;
  background-color: rgba(0, 0, 0, 0.2);
  opacity: 1;
}

.btn-close {
  background-color: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 3.2rem;
  position: absolute;
  top: 0.8rem;
  right: 2rem;
  display: flex;
  align-content: center;
  justify-content: center;
  transition: all 0.2s;
  cursor: pointer;
}
.btn-close:hover {
  color: white;
  scale: 1.15;
}

/*
.back-link {
    text-decoration: none;
    color: currentColor;
    display: inline-block;
    font-size: 1.4rem;
    transition: all .2s;
    cursor: pointer;
    transform-origin: left;


    &::before{
        content: "\2190";
        display: inline-block;
        color: $color-orange;
        padding-right: 12px;     
    }

    &:hover{
        transform: translateX(-.4rem);
    }

}
*/
.back-link {
  display: flex;
  align-items: center;
  transition: all 0.4s;
  max-width: 20rem;
  color: #CA7900;
  transform: translateX(1.6rem);
}
.back-link--activities {
  color: #FFC979;
}
.back-link, .back-link:link, .back-link:visited {
  text-decoration: none;
  cursor: pointer;
  font-family: "OpenSans", sans-serif;
  transition: all 0.4s;
  opacity: 1;
  font-size: 1.3rem;
}
.back-link:hover, .back-link:active {
  opacity: 1;
}
.back-link__arrow {
  display: block;
  height: 1rem;
  width: 1rem;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  opacity: 0.6;
  transform: rotate(-45deg) translateX(-1rem) translateY(-1rem);
  transition: all 0.2s;
}
.back-link:hover .back-link__arrow {
  transform: rotate(-45deg) translateX(-1.6rem) translateY(-1.6rem);
  opacity: 1;
}

.link {
  display: flex;
  align-items: center;
  transition: all 0.4s;
  max-width: 20rem;
  color: #CA7900;
}
.link--activities {
  color: #FFC979;
}
.link, .link:link, .link:visited {
  text-decoration: none;
  cursor: pointer;
  font-family: "OpenSans", sans-serif;
  transition: all 0.4s;
  opacity: 1;
  font-size: 1.3rem;
}
.link:hover, .link:active {
  opacity: 1;
}
.link__arrow {
  display: block;
  height: 1rem;
  width: 1rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  opacity: 0.6;
  transform: rotate(45deg) translateX(1rem) translateY(-1rem);
  transition: all 0.2s;
}
.link:hover .link__arrow {
  transform: rotate(45deg) translateX(1.6rem) translateY(-1.6rem);
  opacity: 1;
}

/*
.link{
    text-decoration: none;
    color: $color-primary;
    font-size: 1.4rem;
    display: inline-block;
    cursor: pointer;
    transition: all .2s;
    transform-origin: left;

    &::after{
        content: "\2192";
        color: $color-orange;
        padding-left: 12px;
    }

    &:hover{
        transform: translateX(.4rem);
    }
}


.forward-link {
    text-decoration: none;
    color: $color-primary;
    font-size: 1.4rem;
    transition: all .2s;
    filter: brightness(.8);
    display: grid;
    grid-template-columns: max-content min-content ;
    grid-column-gap: 1rem;
    align-items: center;
    cursor: pointer;

    &:hover{
        filter: brightness(130%);
        grid-column-gap: 1.6rem;
    }

    &::after{
        content: "\2192";
        display: inline-block;
        color: $color-orange;
        font-size: 2rem;        
    }

}


.goto-link {
    text-decoration: none;
    color: $color-primary;
    font-size: 1.4rem;
    transition: all .2s;
    filter: brightness(.8);
    display: grid;
    grid-template-columns: min-content max-content;
    grid-column-gap: 1rem;
    align-items: center;
    cursor: pointer;

    &::before{
        content: "\2192";
        display: inline-block;
        color: $color-orange;
        font-size: 1.6rem;
        padding-bottom: 2px; 
    }

    &:hover{
        filter: brightness(105%);
    }


}
*/
.alerts {
  grid-column: content-start/content-end;
  background-color: #FB9600;
  border: none;
  padding: 2.4rem;
  border-radius: 1.2rem;
  position: relative;
  color: #fff;
  margin-bottom: 1.6rem;
}
.alerts__title {
  margin-bottom: 0.8rem;
}
.alerts__content {
  max-width: 90%;
  margin-bottom: 2rem;
}

a.mobile-menu-btn {
  display: block;
  height: 2px;
  width: 20px;
  color: rgba(255, 255, 255, 0.7);
  background-color: currentColor;
  position: relative;
  margin-top: 20px;
  transition: all 0.2s;
  cursor: pointer;
}
a.mobile-menu-btn::after {
  content: "";
  display: block;
  height: 2px;
  width: 20px;
  background-color: currentColor;
  position: absolute;
  top: 6px;
}
a.mobile-menu-btn::before {
  content: "";
  display: block;
  height: 2px;
  width: 20px;
  background-color: currentColor;
  position: absolute;
  top: -6px;
}
a.mobile-menu-btn:hover {
  color: white;
}

.mobile-nav {
  display: none;
}
@media only screen and (max-width: 710px) {
  .mobile-nav {
    position: fixed;
    top: 3.2rem;
    right: 4rem;
    display: flex;
    align-items: center;
    justify-items: center;
    width: 4rem;
    height: 4rem;
    background-color: cyan;
  }
}

.download-buttons a {
  text-decoration: none;
}

.download-button {
  display: grid;
  grid-template-columns: 2rem -webkit-max-content;
  grid-template-columns: 2rem max-content;
  grid-column-gap: 0.8rem;
  justify-content: start;
  align-items: center;
  color: grey;
  font-size: 1.4rem;
  font-family: "OpenSans", sans-serif;
  text-decoration: none;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.8rem;
  padding: 1.2rem;
  transition: all 0.2s;
}
.download-button img {
  height: 1.8rem;
}
.download-button:hover, .download-button:active {
  background-color: rgba(0, 0, 0, 0.05);
}

.faq-group__q {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr -webkit-min-content;
  grid-template-columns: 1fr min-content;
  grid-column-gap: 2.4rem;
  border-bottom: solid 1px rgba(76, 105, 98, 0.5);
  padding: 1.6rem 0;
  cursor: pointer;
}
.faq-group__a {
  display: none;
}
.faq-group__plus {
  height: 16px;
  width: 16px;
  display: grid;
  align-items: center;
  align-self: start;
  transform: translateY(0.6rem);
  transition: all 0.2s;
}
.faq-group__plus::before {
  content: "";
  grid-row: 1/1;
  grid-column: 1/1;
  display: inline-block;
  height: 3px;
  width: 16px;
  background-color: #CA7900;
  transform-origin: center;
}
@media only screen and (max-width: 800px) {
  .faq-group__plus::before {
    height: 2px;
  }
}
.faq-group__plus::after {
  content: "";
  grid-row: 1/1;
  grid-column: 1/1;
  display: inline-block;
  height: 3px;
  width: 16px;
  background-color: #CA7900;
  transform: rotate(90deg);
  transform-origin: center;
  transition: all 0.2s;
}
@media only screen and (max-width: 800px) {
  .faq-group__plus::after {
    height: 2px;
  }
}
.faq-group__minus {
  height: 16px;
  width: 16px;
  display: grid;
  align-items: center;
  align-self: start;
  transform: translateY(0.6rem);
  transition: all 0.2s;
}
.faq-group__minus::before {
  content: "";
  grid-row: 1/1;
  grid-column: 1/1;
  display: inline-block;
  height: 3px;
  width: 16px;
  background-color: #CA7900;
  transform-origin: center;
}
@media only screen and (max-width: 800px) {
  .faq-group__minus::before {
    height: 2px;
  }
}
.faq-group__minus::after {
  content: "";
  grid-row: 1/1;
  grid-column: 1/1;
  display: inline-block;
  height: 3px;
  width: 16px;
  background-color: #CA7900;
  transform: rotate(180deg);
  transform-origin: center;
  transition: all 0.2s;
}
@media only screen and (max-width: 800px) {
  .faq-group__minus::after {
    height: 2px;
  }
}

.discovery-card {
  display: grid;
  background-color: #E7E4DA;
  border-radius: 4px;
}
.discovery-card__comp {
  margin-bottom: 8rem;
}
.discovery-card__img {
  height: 16rem;
  width: 16rem;
  border-radius: 80rem;
  justify-self: center;
  transform: translateY(-50%);
  margin-bottom: -8rem;
  border: 8px solid #F4F4F4;
  -o-object-fit: cover;
     object-fit: cover;
}
.discovery-card__text {
  padding: 0 2.4rem 2.4rem 2.4rem;
}
@media only screen and (max-width: 800px) {
  .rgap-discovery-cards {
    grid-row-gap: 10.4rem;
  }
}

.discovery-day {
  background-color: rgba(231, 228, 218, 0.5);
}
.discovery-day__date {
  color: #CA7900;
  margin-bottom: 0.4rem;
}
.discovery-day__title {
  margin-bottom: 1.6rem;
}
.discovery-day__desc strong {
  color: #CA7900;
  font-weight: bold;
  letter-spacing: 1px;
}
.discovery-day__desc p {
  margin-bottom: 0.8rem;
}

.harp-divide {
  display: grid;
  grid-template-columns: 1fr 20% 1fr;
  align-items: center;
}
.harp-divide__line {
  background-color: rgba(0, 0, 0, 0.3);
  height: 1px;
}

.login {
  display: grid;
  grid-template-columns: -webkit-min-content -webkit-max-content -webkit-min-content -webkit-min-content;
  grid-template-columns: min-content max-content min-content min-content;
  align-items: center;
  font-size: 1.2rem;
  color: #fff;
}
.login img {
  height: 1.8rem;
}
.login__m {
  display: grid;
  grid-template-columns: -webkit-min-content -webkit-max-content -webkit-min-content -webkit-min-content;
  grid-template-columns: min-content max-content min-content min-content;
  align-items: center;
  font-size: 1.6rem;
  color: #fff;
  text-decoration: none;
  padding: 1.2rem 2rem;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}
.login__m:hover, .login__m:active {
  background-color: rgba(255, 255, 255, 0.2);
}
.login__m img {
  height: 2.2rem;
  width: 2.2rem;
}
.login__divide {
  font-size: 1.2rem;
  opacity: 0.7;
}
.login__m-link {
  display: grid;
  grid-template-columns: -webkit-min-content -webkit-max-content;
  grid-template-columns: min-content max-content;
  align-items: center;
  font-size: 1.6rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  padding: 1.2rem 2rem;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}
.login__m-link:hover, .login__m-link:active {
  background-color: rgba(255, 255, 255, 0.2);
}
.login__m-link img {
  height: 2.2rem;
  width: 2.2rem;
}
.login a.login__link {
  font-size: 1.2rem;
  opacity: 0.7;
  color: #fff;
  opacity: 0.7;
  transition: all 0.2s;
  text-decoration: none;
}
.login a.login__link:hover {
  opacity: 1;
}
.login__mob-link {
  font-size: 1.6rem;
  opacity: 0.7;
  color: #fff;
  opacity: 0.7;
  transition: all 0.2s;
  text-decoration: none;
}

.title-area {
  background: linear-gradient(90deg, #32524A 0%, #53877A 100%);
}

.acadamh-title-area {
  background: linear-gradient(90deg, #665E52 0%, #958978 100%);
}

.header-wrap {
  width: 100%;
  background: linear-gradient(90deg, #32524A 0%, #53877A 100%);
}

.header {
  margin: 0 auto;
  grid-column: content-start/content-end;
  grid-row: header-start/header-end;
  color: white;
}
.header__title {
  margin-top: 5.6rem;
}
.header__sub-title {
  margin-top: 1.6rem;
  opacity: 0.7;
}
.header__logo {
  height: 7.2rem;
  margin-top: 3.2rem;
}
@media only screen and (max-width: 600px) {
  .header__logo {
    height: 6.4rem;
    width: auto;
  }
}
@media only screen and (max-width: 360px) {
  .header__logo {
    margin-top: 7.2rem;
  }
}

.hero {
  background-image: url(/frontend/images/desktop/hero.jpg);
  height: 48rem;
  background-color: black;
  background-size: cover;
  background-position: center;
}

.hero-2 {
  background-image: url(/frontend/images/desktop/hero.jpg);
  height: 28rem;
  background-color: black;
  background-size: cover;
  background-position: center;
}

.events-blocks {
  display: grid;
  grid-template-columns: 33% 33% 33%;
  grid-row-gap: 1.6rem;
  grid-column-gap: 1.6rem;
}
@media only screen and (max-width: 980px) {
  .events-blocks {
    grid-template-columns: 1fr;
  }
}

.events-block {
  min-height: 24rem;
  background-size: cover;
  background-position: center;
  display: grid;
  color: white;
  justify-items: center;
  padding: 4rem;
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
}
.events-block h3 {
  font-size: 2.6em;
}
.events-block--acadamh {
  background-image: url(/frontend/images/desktop/acadamh-block-bg.jpg);
}
.events-block--scoil {
  background-image: url(/frontend/images/desktop/scoil-block-bg.jpg);
}
.events-block--discovery {
  background-image: url(/frontend/images/desktop/discovery-block-bg.jpg);
}

.intro-wrap {
  background-color: #D6D5D5;
  padding: 4rem 0;
}
@media only screen and (max-width: 960px) {
  .intro-wrap {
    padding: 2.4rem 0;
  }
}

.intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 4vw;
  align-items: center;
}
@media only screen and (max-width: 960px) {
  .intro {
    grid-template-columns: 1fr;
  }
}
.intro__video {
  width: 100%;
}
@media only screen and (max-width: 960px) {
  .intro__video {
    margin-bottom: 2.4rem;
  }
}
.intro__text {
  padding-right: 2.4rem;
  line-height: 1.4;
  font-weight: 400;
}
@media only screen and (max-width: 960px) {
  .intro__text {
    padding-right: 0;
  }
}
.intro__heading {
  margin-bottom: 2.4rem;
}

.activities {
  color: white;
}
.activities__heading {
  margin-bottom: 2.4rem;
}
.activities__sub-heading {
  margin-bottom: 6.4rem;
}
.activities__grid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  grid-column-gap: 3vw;
  grid-row-gap: 4.8rem;
}
@media only screen and (max-width: 740px) {
  .activities__grid {
    grid-template-columns: 1fr;
  }
}
.activities__divide {
  grid-column: 2/3;
  grid-row: 1/7;
  background-color: rgba(255, 255, 255, 0.2);
}
@media only screen and (max-width: 740px) {
  .activities__divide {
    display: none;
  }
}
.activities__link {
  color: #FAB348;
  font-size: 1.4rem;
  transition: all 0.2s;
  text-decoration: none;
}
.activities__link:hover {
  text-decoration: underline;
}

.activities-item {
  max-width: 760px;
  display: grid;
  grid-template-columns: -webkit-min-content 1fr;
  grid-template-columns: min-content 1fr;
  grid-column-gap: 2.4rem;
  grid-row-gap: 0.8rem;
  align-content: start;
}
.activities-item__icon {
  grid-row: 1/4;
  width: 6.4rem;
  height: 6.4rem;
  border: 1px solid white;
  border-radius: 20rem;
  opacity: 0.5;
}
.activities-item a {
  color: #FFC979;
}

.about-intro h3 {
  font-size: 2.4rem;
  line-height: 1.4;
}

.footer-span {
  background-color: #4C6962;
}

.footer {
  display: grid;
  grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content 1fr;
  grid-template-columns: max-content max-content max-content 1fr;
  grid-row-gap: 3.2rem;
  grid-column-gap: 8vw;
}
@media only screen and (max-width: 800px) {
  .footer {
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 4vw;
  }
}
@media only screen and (max-width: 520px) {
  .footer {
    grid-template-columns: 1fr;
    grid-column-gap: 4vw;
  }
}
.footer__logo {
  height: 5.6rem;
}
@media only screen and (max-width: 800px) {
  .footer__logo {
    justify-self: left;
  }
}
.footer__link {
  font-size: 1.3rem;
}
.footer__funding {
  display: grid;
  grid-row-gap: 0.8rem;
  align-content: start;
  color: rgba(255, 255, 255, 0.7);
}
.footer__funding p {
  font-size: 1.2rem;
  padding-bottom: 1.6rem;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}
.footer__funding img {
  height: 5.6rem;
}
.footer__funding .patron {
  line-height: 1.4;
  font-family: "Abhaya Libre", serif;
  font-size: 1.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.footer__funding .patron__title {
  font-size: 1.4rem;
}
.footer li {
  list-style: none;
  margin-bottom: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.footer a {
  text-decoration: none;
  color: rgba(255, 255, 255, 0.7);
}
.footer a:hover {
  color: white;
}
.footer__small-text {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0.8rem;
}

.footer-heading {
  text-transform: uppercase;
  font-weight: 800;
  color: #FAB348;
  letter-spacing: 3px;
  font-size: 1.2rem;
  margin-bottom: 0.8rem;
}

.news-wrap {
  background-color: #F4F4F4;
  padding: 4rem 0;
}
@media only screen and (max-width: 960px) {
  .news-wrap {
    padding: 2.4rem;
  }
}

.news__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 1.6rem;
  grid-row-gap: 1.6rem;
}
@media only screen and (max-width: 740px) {
  .news__grid {
    grid-template-columns: 1fr;
  }
}

.news-card {
  width: 100%;
  height: 100%;
  color: #4D4D4D;
  text-decoration: none;
  transition: all 0.3s;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 0.4rem;
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-column-gap: 1.6rem;
  align-content: start;
  transition: all 0.2s;
  padding: 2.4rem;
}
.news-card__date {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 0.4rem;
  opacity: 0.7;
}
.news-card__details {
  opacity: 0.8;
  transition: all 0.2s;
}
.news-card__image {
  width: 100%;
  transition: all 0.2s;
}
.news-card__title {
  margin: 0.8rem 0;
}
.news-card__desc {
  font-family: "Abhaya Libre", serif;
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
}
.news-card:hover {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
}
.news-card:hover .news-card__details {
  opacity: 1;
}

.news-date {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 0.4rem;
  opacity: 0.7;
  margin-bottom: 1.6rem;
}

.recent-stories-divide {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: 4rem;
}

.container-news-story {
  max-width: 96rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1200px) {
  .container-news-story {
    padding-left: 3vw;
    padding-right: 3vw;
  }
}

.pagination-container {
  display: flex;
  justify-content: center;
  width: 100%;
  align-content: center;
  align-items: center;
  align-self: center;
  text-align: center;
}

.pagination-container li {
  font-size: 1.4rem;
  display: inline;
  padding: 5px;
}

.pagination {
  color: currentColor;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.4rem;
}
.pagination a {
  color: currentColor;
  text-decoration: none;
  padding: 0.4rem 1.2rem;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 0.4rem;
  transition: all 0.2s;
}
.pagination a:not(:last-of-type) {
  margin-right: 0.8rem;
}
.pagination a:hover, .pagination a:active {
  background-color: rgba(0, 0, 0, 0.15);
}
.pagination a.hl {
  background-color: rgba(0, 0, 0, 0.15);
}
.pagination__jump {
  height: 0.4rem;
  width: 0.4rem;
  background-color: white;
  border-radius: 50px;
  margin-right: 0.4rem;
  opacity: 0.4;
}
.pagination__jump:last-of-type {
  margin-right: 0.8rem;
}

form {
  border: none;
}

.input {
  width: 100%;
  height: 4rem;
  border-radius: 2rem;
  font-size: 1.4rem;
  padding: 0.8rem 1.6rem;
  border: none;
  outline: none;
  transition: all 0.2s;
  box-sizing: inherit;
  border: solid 2px transparent;
}
.input:focus {
  background-color: #F1F1F1;
  border: solid 2px #2196F3;
}

.label {
  display: block;
  padding-left: 1.2rem;
  padding-top: 0.4rem;
  font-size: 1.2rem;
}

.textarea {
  width: 100%;
  min-height: 16rem;
  border-radius: 1.2rem;
  font-size: 1.4rem;
  padding: 0.8rem 1.6rem;
  border: none;
  outline: none;
  transition: all 0.2s;
  font-family: "OpenSans", sans-serif;
  line-height: 1.4;
  color: #6f6f6f;
  border: solid 2px transparent;
}
.textarea:focus {
  background-color: #F1F1F1;
  border: solid 2px #2196F3;
}

.StripeElement {
  width: 100%;
  border-radius: 2rem;
  font-size: 1.4rem;
  padding: 1rem 1.6rem;
  border: none;
  outline: none;
  transition: all 0.2s;
  box-sizing: inherit;
  border: solid 2px transparent;
}

input:focus,
.StripeElement--focus {
  background-color: #F1F1F1;
  border: solid 2px #2196F3;
}

.StripeElement--invalid {
  border-color: #fa755a;
}

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}

/* Customize the label (the container) */
.checkbox {
  display: block;
  position: relative;
  padding-left: 3.2rem;
  cursor: pointer;
  font-size: 1.4rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Hide the browser's default checkbox */
  /* Create a custom checkbox */
  /* On mouse-over, add a grey background color */
  /* When the checkbox is checked, add a background col */
  /* Create the checkmark/indicator (hidden when not checked) */
  /* Show the checkmark when checked */
  /* Style the checkmark/indicator */
}
.checkbox input {
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.checkbox__checkmark {
  position: absolute;
  top: 1px;
  left: 0;
  height: 1.8rem;
  width: 1.8rem;
  border-radius: 0.4rem;
  background-color: #eee;
  transition: all 0.2s;
  border: 1px solid #9F9F9F;
}
.checkbox:hover input ~ .checkbox__checkmark {
  background-color: #ccc;
}
.checkbox input:checked ~ .checkbox__checkmark {
  background-color: #2196F3;
  border: 1px solid transparent;
}
.checkbox__checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.checkbox input:checked ~ .checkbox__checkmark:after {
  display: block;
}
.checkbox__checkmark:after {
  left: 0.5rem;
  top: 0.2rem;
  width: 0.6rem;
  height: 1rem;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.checkbox-grid {
  display: grid;
  grid-template-columns: -webkit-min-content 1fr;
  grid-template-columns: min-content 1fr;
  grid-column-gap: 0.8rem;
  align-items: start;
}
.checkbox-grid input {
  margin-top: 3px;
}

/* Customize the label (the container) */
.radio-btn {
  display: block;
  position: relative;
  padding-left: 3.2rem;
  cursor: pointer;
  font-size: 1.4rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Hide the browser's default checkbox */
  /* Create a custom checkbox */
  /* On mouse-over, add a grey background color */
  /* When the checkbox is checked, add a background col */
  /* Create the checkmark/indicator (hidden when not checked) */
  /* Show the checkmark when checked */
  /* Style the checkmark/indicator */
}
.radio-btn input {
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.radio-btn__checkmark {
  position: absolute;
  top: 1px;
  left: 0;
  height: 1.8rem;
  width: 1.8rem;
  border-radius: 50%;
  background-color: #eee;
  transition: all 0.2s;
  border: 1px solid #9F9F9F;
}
.radio-btn:hover input ~ .radio-btn__checkmark {
  background-color: #ccc;
}
.radio-btn input:checked ~ .radio-btn__checkmark {
  background-color: #2196F3;
  border: 1px solid transparent;
}
.radio-btn__checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.radio-btn input:checked ~ .radio-btn__checkmark:after {
  display: block;
}
.radio-btn__checkmark:after {
  left: 0.4rem;
  top: 0.4rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: #fff;
}

/* The container must be positioned relative: */
.dropdown {
  position: relative;
  max-width: 32rem;
  font-size: 1.4rem;
  border: 1px solid rgba(159, 159, 159, 0.5);
  border-radius: 0.4rem;
}

.dropdown select {
  display: none;
  /*hide original SELECT element: */
}

.select-selected {
  background-color: #efefef;
  transition: all 0.2s;
  border-radius: 0.4rem;
}

/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 1.6rem;
  right: 1.6rem;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: #9F9F9F transparent transparent transparent;
  border-radius: 2px;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  border-color: transparent transparent #9F9F9F transparent;
  top: 1rem;
}

/* style the items (options), including the selected item: */
.select-selected {
  color: #6f6f6f;
  padding: 8px 16px;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}

/* style the items (options), including the selected item: */
.select-items div {
  color: #fff;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: DodgerBlue;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
  color: white;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}

.spinner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  display: grid;
  align-items: center;
  align-content: center;
  justify-items: center;
}
.spinner__text {
  color: white;
  font-weight: bold;
  text-align: center;
}
.spinner__img {
  width: 80px;
  height: 80px;
}

.sign-up-container {
  max-width: 1200px;
  margin: 0 auto;
}

.sign-up {
  background-color: #53877A;
  color: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: 2.5fr 1fr;
}
@media only screen and (max-width: 800px) {
  .sign-up {
    grid-template-columns: 1fr;
  }
}
.sign-up__content {
  grid-column: 1/3;
}
.sign-up__content h3 {
  margin-bottom: 0.4rem;
}
.sign-up__content p {
  margin-bottom: 1.2rem;
}
.sign-up__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 2rem;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 520px) {
  .sign-up__fields {
    grid-template-columns: 1fr;
    grid-row-gap: 1.6rem;
  }
}
@media only screen and (max-width: 800px) {
  .sign-up__image {
    display: none;
  }
}

.acadamh-nav-row-1-background {
  background: linear-gradient(90deg, #665E52 0%, #958978 100%);
}

.nav-row-1-background {
  background: linear-gradient(90deg, #32524A 0%, #53877A 100%);
}

.nav-row-2-background {
  background-color: black;
}

.nav {
  font-weight: 600;
  display: grid;
}
@media only screen and (max-width: 1040px) {
  .nav {
    grid-template-columns: 1fr;
    grid-template-row: min-content;
  }
}
@media only screen and (max-width: 710px) {
  .nav {
    display: none;
  }
}
.nav__row-1 {
  display: flex;
  justify-content: space-between;
}
.nav__row-1__a {
  display: grid;
  grid-template-columns: repeat(auto, -webkit-min-content);
  grid-template-columns: repeat(auto, min-content);
  grid-auto-flow: column;
  grid-column-gap: 4.8rem;
  align-items: top;
  padding-bottom: 1.6rem;
}
@media only screen and (max-width: 960px) {
  .nav__row-1__a {
    grid-column-gap: 3.2rem;
  }
}
.nav__row-1__b {
  display: grid;
  grid-template-columns: -webkit-max-content;
  grid-template-columns: max-content;
  grid-column-gap: 1.2rem;
  align-items: center;
  justify-content: end;
}
@media only screen and (max-width: 1040px) {
  .nav__row-1__b {
    grid-row: 1/2;
    padding: 0.8rem 0.8rem;
    margin: 0 -2rem;
  }
}
.nav__row-2 {
  display: flex;
  justify-content: space-between;
}
.nav__row-2__a {
  display: grid;
  grid-template-columns: repeat(auto, -webkit-min-content);
  grid-template-columns: repeat(auto, min-content);
  grid-auto-flow: column;
  grid-column-gap: 4.8rem;
  align-items: top;
  padding-bottom: 1.6rem;
}
@media only screen and (max-width: 760px) {
  .nav__row-2__a {
    grid-column-gap: 3.2rem;
  }
}
.nav__row-2__b {
  display: grid;
  grid-template-columns: -webkit-max-content;
  grid-template-columns: max-content;
  grid-column-gap: 1.2rem;
  align-items: center;
  justify-content: end;
}
@media only screen and (max-width: 1040px) {
  .nav__row-2__b {
    grid-row: 1/2;
    padding: 0.8rem 0.8rem;
    margin: 0 -2rem;
  }
}
.nav ul, .nav li {
  list-style: none;
}

a.nav-link {
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: all 0.3s;
  border-top: solid 3px transparent;
  padding-top: 1.4rem;
}
a.nav-link:hover {
  color: white;
  border-top: solid 3px #FAB348;
}

a.nav-link-selected {
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: all 0.3s;
  color: white;
  border-top: solid 3px rgba(255, 255, 255, 0.3);
  padding-top: 1.4rem;
}

a.nav-link-festival {
  font-size: 1.4rem;
  color: #FAB348;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 3px;
  transition: all 0.3s;
}

.social {
  display: grid;
  grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content -webkit-max-content;
  grid-template-columns: max-content max-content max-content max-content;
  grid-column-gap: 1.6rem;
  align-items: center;
  justify-content: center;
}
.social__icon-wrap {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 1.2rem;
  padding: 5px;
  opacity: 0.7;
  transition: all 0.2s;
}
.social__icon-wrap:hover {
  opacity: 1;
}
.social__icon {
  width: 100%;
}

.event-link {
  display: block;
  color: #FAB348;
  font-size: 1.4rem;
  text-decoration: none;
  text-align: center;
  padding: 1.6rem 0;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-weight: 600;
  letter-spacing: 2px;
}

.m-navigation {
  display: none;
  visibility: hidden;
}
@media only screen and (max-width: 710px) {
  .m-navigation {
    display: block;
    visibility: visible;
  }
}
.m-navigation__checkbox {
  display: none;
}
.m-navigation__button {
  background-color: rgba(255, 255, 255, 0.2);
  height: 4.8rem;
  width: 4.8rem;
  position: fixed;
  top: 1.8rem;
  right: 1.8rem;
  border-radius: 50%;
  z-index: 2000;
  box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.2);
  text-align: center;
  cursor: pointer;
  visibility: hidden;
  display: none;
}
@media only screen and (max-width: 710px) {
  .m-navigation__button {
    visibility: visible;
    display: block;
  }
}
.m-navigation__background {
  height: 2px;
  width: 2px;
  border-radius: 50%;
  position: fixed;
  top: 2rem;
  right: 2rem;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  visibility: hidden;
  display: none;
}
@media only screen and (max-width: 710px) {
  .m-navigation__background {
    visibility: visible;
    display: block;
  }
}
.m-navigation__nav {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto;
  z-index: 1500;
  opacity: 0.1;
  width: 100vw;
  opacity: 0;
  height: 0;
  transition: all 0.4s 0.1s;
  visibility: hidden;
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.7);
  overflow: auto;
}
.m-navigation__nav--1 {
  background-color: #4C6962;
}
.m-navigation__nav--2 {
  background-color: #948977;
}
.m-navigation__list {
  position: absolute;
  top: 7.2rem;
  list-style: none;
  text-align: left;
  width: 100%;
  opacity: 1;
  border-top: solid 1px rgba(255, 255, 255, 0.2);
}
.m-navigation__item {
  margin: 1rem;
}
.m-navigation__link:link, .m-navigation__link:visited {
  display: inline-block;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 300;
  padding: 1.2rem 2rem;
  color: white;
  font-family: openSans, sans-serif;
  text-decoration: none;
  transition: all 0.2s;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
  opacity: 0.7;
}
.m-navigation__link:hover, .m-navigation__link:active {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.2);
}
.m-navigation__checkbox:checked ~ .m-navigation__nav {
  opacity: 1;
  height: 100vh;
  visibility: visible;
}
.m-navigation__icon {
  position: relative;
  margin-top: 2.3rem;
  transform: scale(0.76);
}
.m-navigation__icon, .m-navigation__icon::before, .m-navigation__icon::after {
  width: 3rem;
  height: 2px;
  background-color: #fff;
  display: inline-block;
}
.m-navigation__icon::before, .m-navigation__icon::after {
  content: "";
  position: absolute;
  left: 0;
  transition: all 0.2s;
}
.m-navigation__icon::before {
  top: -0.8rem;
}
.m-navigation__icon::after {
  top: 0.8rem;
}
.m-navigation__button:hover .m-navigation__icon::before {
  top: -1rem;
}
.m-navigation__button:hover .m-navigation__icon::after {
  top: 1rem;
}
.m-navigation__checkbox:checked + .m-navigation__button .m-navigation__icon {
  background-color: transparent;
}
.m-navigation__checkbox:checked + .m-navigation__button .m-navigation__icon::before {
  top: 0;
  transform: rotate(135deg);
}
.m-navigation__checkbox:checked + .m-navigation__button .m-navigation__icon::after {
  top: 0;
  transform: rotate(-135deg);
}

.msocial {
  display: flex;
  justify-content: space-evenly;
  padding: 2.4rem 0;
}
.msocial__icon-wrap {
  width: 4rem;
  height: 4rem;
  border-radius: 1.2rem;
  padding: 5px;
  opacity: 0.7;
  transition: all 0.2s;
}
.msocial__icon-wrap:hover {
  opacity: 1;
}
.msocial__icon {
  width: 100%;
}

.sponsors {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  align-items: center;
  grid-column-gap: 3.2rem;
  grid-row-gap: 3.2rem;
  justify-items: center;
  padding-bottom: 0.8rem;
  /*
          @media only screen and (max-width: 800px) {
              height: 5.6rem;
          }

          @media only screen and (max-width: 640px) {
              height: 4.4rem;
          }
      }
  */
}
.sponsors img {
  max-height: 7.2rem;
}
.sponsors p {
  font-family: "Abhaya Libre", serif;
  font-size: 1.6rem;
  line-height: 1.2;
}

.sponsors-sm {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 0.8rem;
}
.sponsors-sm img {
  height: 4.8rem;
}
@media only screen and (max-width: 960px) {
  .sponsors-sm img {
    height: 4rem;
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .sponsors-sm img {
    height: 3.2rem;
  }
}

.patron {
  font-size: 2rem;
  color: #4C6962;
  font-weight: 800;
}
.patron__title {
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.loader-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
}

.staff-block {
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-template-rows: -webkit-min-content -webkit-min-content -webkit-min-content;
  grid-template-rows: min-content min-content min-content;
  grid-column-gap: 6vw;
  grid-row-gap: 0.8rem;
  grid-template-rows: -webkit-min-content;
  grid-template-rows: min-content;
  margin-bottom: 4rem;
}
.staff-block:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 840px) {
  .staff-block {
    grid-template-columns: 1fr;
  }
}
.staff-block__name {
  margin-bottom: 0.4rem;
}
.staff-block__title {
  margin-bottom: 1.6rem;
  color: #FAB348;
  display: inline-block;
}
.staff-block__img {
  width: 100%;
}
@media only screen and (max-width: 840px) {
  .staff-block__img {
    width: 48%;
    margin-bottom: 0.8rem;
  }
}
@media only screen and (max-width: 540px) {
  .staff-block__img {
    width: 100%;
  }
}
.staff-block__text {
  grid-column: span 2;
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 2vw;
       column-gap: 2vw;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 540px) {
  .staff-block__text {
    -moz-column-count: 1;
         column-count: 1;
  }
}
.staff-block__link {
  font-size: 1.5rem;
}

.support {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 1.2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
}
@media only screen and (max-width: 800px) {
  .support {
    grid-template-columns: 1fr;
  }
}
.support p {
  margin-bottom: 1.6rem;
}
.support__left {
  padding: 5.6rem;
}
.support__right {
  padding: 8rem;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 800px) {
  .support__right {
    padding: 5.6rem;
    border-left: none;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }
}

.support-form {
  display: grid;
  grid-row-gap: 1.6rem;
  justify-items: center;
}
.support-form__amount {
  height: 5.6rem;
  width: 50%;
  border-radius: 50rem;
  font-size: 2rem;
  text-align: center;
  margin: 1.6rem 0;
  color: currentColor;
}
.support-form label {
  font-size: 1.2rem;
}

.support-type-list {
  display: grid;
  grid-template-columns: 8rem 1fr;
  padding: 1.6rem 0;
}
.support-type-list:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.supporters h3 {
  margin-bottom: 2.4rem;
}
.supporters h5 {
  margin-bottom: 1.6rem;
}
.supporters ul {
  margin-bottom: 4rem;
}
.supporters li {
  list-style: none;
  list-style-position: inside;
  font-size: 1.2rem;
  padding-bottom: 0.8rem;
}
.supporters p {
  font-size: 1.2rem;
  margin-bottom: 1.6rem;
}

input[type=number] {
  width: 16rem;
}

.quote {
  font-style: oblique;
}

#terms {
  display: none;
}

.terms {
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  opacity: 1;
  transition: all 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
@supports ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
  .terms {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background-color: rgba(0, 0, 0, 0.4);
  }
}
.terms__modal {
  height: 80vh;
  background-color: white;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.2);
  border-radius: 0.6rem;
  margin: 1.6rem;
  max-width: 640px;
  position: relative;
  display: grid;
  grid-template-rows: 1fr -webkit-max-content;
  grid-template-rows: 1fr max-content;
}
.terms__content {
  border-radius: 0.6rem;
  padding: 4.8rem;
  overflow-y: scroll;
  position: relative;
  background-color: rgba(0, 0, 0, 0.05);
}
.terms__buttons {
  display: grid;
  width: 100%;
  padding: 2.4rem;
}
.terms:target {
  opacity: 1;
  visibility: visible;
}
.terms:target .terms__content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transform: scale(1);
}

.acadamh-bg {
  background-color: #EDECE7;
}

.acadamh-bg-2 {
  background-color: #F6F6F3;
}

.acadamh-bg-3 {
  background-color: #6A6155;
}

.acadamh-bg-gradient {
  background: linear-gradient(90deg, #665E52 0%, #958978 100%);
}

.grid-tutors {
  display: grid;
  align-content: start;
  grid-template-columns: 1fr 1fr 1fr;
}
@media only screen and (max-width: 800px) {
  .grid-tutors {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media only screen and (max-width: 460px) {
  .grid-tutors {
    grid-template-columns: 1fr 1fr;
  }
}

.grid-tutors-profile {
  display: grid;
  align-content: start;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
@media only screen and (max-width: 800px) {
  .grid-tutors-profile {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media only screen and (max-width: 460px) {
  .grid-tutors-profile {
    grid-template-columns: 1fr 1fr;
  }
}

.tutor {
  display: grid;
  justify-items: center;
  text-decoration: none;
}
.tutor img {
  width: 9.6rem;
  height: 9.6rem;
  border-radius: 80rem;
  border: 5px solid rgba(140, 138, 130, 0.5);
  -o-object-fit: cover;
     object-fit: cover;
}
.tutor p {
  font-family: "Abhaya Libre", serif;
  color: #CA7900;
  font-size: 1.6rem;
}

.session-card__session {
  color: #CA7900;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
}
.session-card__download {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #CA7900;
  font-weight: bold;
  font-size: 1.2rem;
}
.session-card__img {
  display: grid;
  align-items: center;
  justify-items: center;
  transition: all 0.2s;
  cursor: pointer;
}
.session-card__img-no-video {
  grid-column: 1/2;
  grid-row: 1/2;
  z-index: 2;
  color: white;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 2px;
}
.session-card__img-icon {
  grid-column: 1/2;
  grid-row: 1/2;
  z-index: 2;
  height: 4.8rem;
  width: 4.8rem;
  transition: all 0.2s;
  filter: brightness(0.7);
}
.session-card__img-thumb {
  grid-column: 1/2;
  grid-row: 1/2;
  filter: brightness(0.6);
  width: 100%;
  z-index: 1;
}
.session-card__img:hover .session-card__img-icon {
  filter: brightness(1);
}
.session-card__download-link {
  display: grid;
  grid-template-columns: -webkit-min-content 1fr;
  grid-template-columns: min-content 1fr;
  grid-column-gap: 1.2rem;
  padding: 0.8rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  font-size: 1.4rem;
  align-items: center;
  text-decoration: none;
  color: #4D4D4D;
  border-radius: 0.4rem;
  transition: all 0.2s;
}
.session-card__download-link img {
  height: 1.6rem;
}
.session-card__download-link:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.programme-card {
  display: grid;
  background-color: #e7e4da;
  border-radius: 0.8rem;
  overflow: hidden;
  align-content: space-between;
  transition: all 0.2s;
  text-decoration: none;
}
.programme-card h4 {
  color: #4D4D4D;
}
.programme-card p.programme-card__desc-title,
.programme-card p.programme-card__date {
  color: #CA7900;
}
.programme-card p {
  color: #4D4D4D;
}
.programme-card p.btn-primary {
  color: white;
}
.programme-card__status {
  background: linear-gradient(90deg, #665E52 0%, #958978 100%);
  padding: 1.2rem 2.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: start;
}
.programme-card__status p {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  line-height: 1;
  font-weight: bold;
}
.programme-card__status-icon {
  height: 3.2rem;
  width: 3.2rem;
  border-radius: 4rem;
  display: flex;
  align-content: center;
  justify-content: center;
  padding: 0.4rem;
}
.programme-card__status-icon img {
  width: 1.6rem;
}
.programme-card__status-icon--upcoming {
  background-color: #FAB348;
}
.programme-card__status-icon--running {
  background-color: #77C0AE;
}
.programme-card__status-icon--finished {
  background-color: #AD1B1B;
}
.programme-card__date {
  color: #CA7900;
  margin-bottom: 0.4rem;
  font-size: 2rem;
  font-family: "Abhaya Libre", serif;
}
.programme-card__title {
  font-size: 3rem;
  line-height: 1.1;
}
.programme-card__tutor {
  display: grid;
  grid-template-columns: 4rem 1fr;
  grid-column-gap: 1.6rem;
  align-items: center;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 0.8rem;
  text-decoration: none;
  color: #4D4D4D;
  transition: all 0.2s;
}
.programme-card__tutor img {
  width: 4rem;
  height: 4rem;
  border-radius: 200rem;
  border: 2px solid rgba(140, 138, 130, 0.5);
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.2s;
}
.programme-card__tutor:hover {
  color: #CA7900;
}
.programme-card__tutor:hover img {
  border: 2px solid rgba(202, 121, 0, 0.5);
}
.programme-card__desc {
  padding: 2.4rem 2.4rem 0 2.4rem;
}
.programme-card__desc-title {
  font-size: rem;
  color: #CA7900;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
}
.programme-card__button {
  padding: 0 2.4rem 2.4rem 2.4rem;
  color: white;
}
.programme-card:hover {
  box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.2);
}

.grid-sessions {
  display: grid;
  grid-template-columns: 7% 1fr;
  grid-column-gap: 6.4rem;
}
@media only screen and (max-width: 740px) {
  .grid-sessions {
    grid-template-columns: 16% 1fr;
    grid-column-gap: 4rem;
  }
}
.grid-sessions__date {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #CA7900;
  font-weight: bold;
}
.grid-sessions__session {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
  color: #CA7900;
}

.tutor-profile {
  display: grid;
  grid-template-columns: 25% 1fr;
  grid-column-gap: 4rem;
}
@media only screen and (max-width: 740px) {
  .tutor-profile {
    grid-template-columns: 1fr;
  }
}
.tutor-profile__img {
  height: 20rem;
  width: 20rem;
  border-radius: 200rem;
  border: 5px solid rgba(140, 138, 130, 0.5);
  -o-object-fit: cover;
     object-fit: cover;
  justify-self: center;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 740px) {
  .tutor-profile__img {
    justify-self: start;
  }
}
.tutor-profile__weblink {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 0.8rem 0;
  display: grid;
  grid-row-gap: 1.6rem;
}
.tutor-profile a {
  font-size: 1.4rem;
  text-decoration: none;
  color: #4D4D4D;
  transition: all 0.2s;
}
.tutor-profile a:hover {
  color: #CA7900;
}
.tutor-profile p {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 2.4rem;
       column-gap: 2.4rem;
}
.tutor-profile p > * {
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 740px) {
  .tutor-profile p {
    -moz-column-count: 1;
         column-count: 1;
  }
}

.otitle {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #CA7900;
  font-weight: bold;
  font-size: 1.2rem;
}

.acadamh-link {
  color: #CA7900;
  font-size: 1.4rem;
  transition: all 0.2s;
  text-decoration: none;
}
.acadamh-link:hover {
  filter: brightness(1.2);
}
.acadamh-link--w {
  color: #fff;
}
.acadamh-link--w:hover {
  color: #CA7900;
}

.upcoming {
  box-shadow: 0 0 0 8px #C8E4DD;
}
.upcoming__download {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #CA7900;
  font-weight: bold;
  font-size: 1.2rem;
}
.upcoming__download-link {
  display: grid;
  grid-template-columns: -webkit-min-content 1fr;
  grid-template-columns: min-content 1fr;
  grid-column-gap: 1.2rem;
  padding: 0.8rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  font-size: 1.4rem;
  align-items: center;
  text-decoration: none;
  color: #4D4D4D;
  border-radius: 0.4rem;
  transition: all 0.2s;
}
.upcoming__download-link img {
  height: 1.6rem;
}
.upcoming__download-link:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.upcoming__zoom {
  background-color: #2777FF;
  color: white;
  display: grid;
  border-radius: 0.8rem;
  overflow: hidden;
}
.upcoming__zoom-logo {
  background-color: white;
  padding: 2.4rem;
  display: grid;
  align-items: center;
}
.upcoming__zoom-logo img {
  height: 2.4rem;
}
.upcoming__zoom-status {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: bold;
  font-size: 1.2rem;
}
.upcoming__zoom-indicator {
  width: 16px;
  height: 16px;
  border-radius: 40px;
  border: solid 2px white;
}
.upcoming__zoom-indicator--live {
  background-color: #05E200;
}
.upcoming__zoom-indicator--closed {
  background-color: red;
}
.upcoming__zoom-code-title {
  font-size: 1rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.resource-link {
  transition: all 0.2s;
  text-decoration: none;
}
.resource-link:hover {
  box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1);
}
.resource-link .resource-link__title,
.resource-link .resource-link__desc {
  color: #4D4D4D;
  margin-bottom: 0.8rem;
}
.resource-link .resource-link__title:link, .resource-link .resource-link__title:visited,
.resource-link .resource-link__desc:link,
.resource-link .resource-link__desc:visited {
  text-decoration: none;
}

.tribe {
  display: grid;
  grid-template-columns: repeat(6, -webkit-max-content);
  grid-template-columns: repeat(6, max-content);
  grid-column-gap: 4rem;
  grid-row-gap: 1.6rem;
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 680px) {
  .tribe {
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    grid-column-gap: 4rem;
    grid-row-gap: 1.6rem;
  }
}
@media only screen and (max-width: 480px) {
  .tribe {
    grid-template-columns: 1fr;
    grid-row-gap: 0.8rem;
  }
}

.session-title {
  font-size: 2.1rem;
  line-height: 1.1;
  font-family: "Abhaya Libre", serif;
}

.wysiwyg h1 {
  margin-bottom: 2.4rem;
  line-height: 1;
}
.wysiwyg h2, .wysiwyg h3 {
  margin-bottom: 2.4rem;
  line-height: 1;
}
.wysiwyg h5 {
  font-size: 1.4rem;
}
.wysiwyg h4 {
  line-height: 1.2;
  margin-bottom: 1.6rem;
}
.wysiwyg p {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 1.6rem;
}
.wysiwyg strong {
  font-weight: 800;
}
.wysiwyg blockquote {
  padding: 2.4rem 4rem;
  margin-left: 4rem;
  margin-right: 4rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
  line-height: 1.4;
  border-left: solid 3px #528679;
}
.wysiwyg img {
  width: 100%;
}
.wysiwyg ul {
  list-style: none;
  margin-bottom: 3.2rem;
  list-style-position: outside;
}
.wysiwyg li {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 0.8rem;
  transform: translateX(16px);
  position: relative;
}
.wysiwyg ul li::before {
  content: "•";
  color: #CA7900;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: -16px;
}
.wysiwyg ol {
  list-style: none;
  counter-reset: counter;
  margin-bottom: 3.2rem;
}
.wysiwyg ol li {
  counter-increment: counter;
}
.wysiwyg ol li::before {
  content: counter(counter) "";
  font-family: Museo, sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
}
.wysiwyg a, .wysiwyg a:link, .wysiwyg a:visited {
  color: #CA7900;
  transition: all 0.2s;
  text-decoration: underline;
}
.wysiwyg a:hover {
  filter: brightness(0.8);
}
.wysiwyg .caption {
  opacity: 0.5;
  font-size: 1.2rem;
  margin-top: 1.6rem;
}

.wysiwyg-prog-intro h1 {
  margin-bottom: 2.4rem;
  line-height: 1;
}
.wysiwyg-prog-intro h2, .wysiwyg-prog-intro h3 {
  margin-bottom: 2.4rem;
  line-height: 1;
}
.wysiwyg-prog-intro h5 {
  font-size: 1.4rem;
}
.wysiwyg-prog-intro h4 {
  line-height: 1.2;
  margin-bottom: 1.6rem;
}
.wysiwyg-prog-intro p {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 1.6rem;
}
.wysiwyg-prog-intro strong {
  font-weight: 800;
}
.wysiwyg-prog-intro blockquote {
  padding: 2.4rem 4rem;
  margin-left: 4rem;
  margin-right: 4rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
  line-height: 1.4;
  border-left: solid 3px #528679;
}
.wysiwyg-prog-intro img {
  width: 100%;
}
.wysiwyg-prog-intro ul {
  list-style: none;
  display: grid;
  grid-row-gap: 1.6rem;
}
.wysiwyg-prog-intro li {
  display: grid;
  grid-template-columns: 16px 1fr;
  grid-column-gap: 2rem;
  position: relative;
  border-radius: 0.8rem;
  list-style: none;
  font-size: 1.4rem;
}
.wysiwyg-prog-intro li::before {
  content: url(/frontend/images/icons/checkbox.svg);
  grid-column: 1/2;
  grid-row: 1/3;
  padding-top: 3px;
}
.wysiwyg-prog-intro li ol {
  list-style: none;
  counter-reset: counter;
  margin-bottom: 3.2rem;
}
.wysiwyg-prog-intro li ol li {
  counter-increment: counter;
}
.wysiwyg-prog-intro li ol li::before {
  content: counter(counter) "";
  font-family: Museo, sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
}
.wysiwyg-prog-intro li a, .wysiwyg-prog-intro li a:link, .wysiwyg-prog-intro li a:visited {
  transition: all 0.2s;
  text-decoration: underline;
}
.wysiwyg-prog-intro li a:hover {
  color: black;
}
.wysiwyg-prog-intro li .caption {
  opacity: 0.5;
  font-size: 1.2rem;
  margin-top: 1.6rem;
}

#video-overlay {
  display: none;
}

.video-overlay {
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  opacity: 1;
  transition: all 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
@supports ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
  .video-overlay {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background-color: rgba(0, 0, 0, 0.4);
  }
}
.video-overlay__content {
  margin: 0 auto;
  width: 80%;
  height: 40vw;
  background-color: black;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.2);
  opacity: 1;
  transition: all 0.5s 0.2s;
  position: relative;
}
.video-overlay:target {
  opacity: 1;
  visibility: visible;
}
.video-overlay:target .video-overlay__content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transform: scale(1);
}

.close-button {
  position: absolute;
  top: -4rem;
  right: -3.2rem;
  z-index: 10000;
  color: white;
  font-size: 3.2rem;
  transition: all 0.4s;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.7;
}
.close-button:hover {
  opacity: 1;
}
