@import url("https://fonts.googleapis.com/css2?family=Luckiest+Guy&family=Roboto:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap");
/* #Reset & Basics (Inspired by E. Meyers)
================================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

li {
  margin: 0;
  padding: 0; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* apply a natural box layout model to all elements */
*, *:before, *:after {
  box-sizing: border-box; }

img {
  max-width: 100%; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeOut {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes navDown {
  from {
    top: -140px; }
  to {
    top: 0; } }

@keyframes tickerLeft {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    transform: translate3d(-50%, 0, 0); } }

@keyframes tickerRight {
  from {
    transform: translate3d(-50%, 0, 0); }
  to {
    transform: translate3d(0, 0, 0); } }

/* ==============
  MIXIN
============== */
/*  ---------------------------
Sass conversion of Adam Schwartz's "Smarter Link Underline"
-- (https://eager.io/blog/smarter-link-underlines/)

Example Usage:
  a {
    @include link-underline(
      $color-background,
      $color-text,
      $color-selection,
      $underline-boldness
    );
  }

NOTE:
$underline-boldness is an optional modifier which will
default to the normal weight unless set to 'bold'

You can downlooad this mixin on npm
(https://github.com/ekfuhrmann/scss-link-underline)
--------------------------- */
.js [data-aos][data-aos][data-aos-duration="50"], .js body[data-aos-duration="50"] [data-aos] {
  transition-duration: 50ms; }

.js [data-aos][data-aos][data-aos-delay="50"], .js body[data-aos-delay="50"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="50"].aos-animate, .js body[data-aos-delay="50"] [data-aos].aos-animate {
  transition-delay: 50ms; }

.js [data-aos][data-aos][data-aos-duration="100"], .js body[data-aos-duration="100"] [data-aos] {
  transition-duration: .1s; }

.js [data-aos][data-aos][data-aos-delay="100"], .js body[data-aos-delay="100"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="100"].aos-animate, .js body[data-aos-delay="100"] [data-aos].aos-animate {
  transition-delay: .1s; }

.js [data-aos][data-aos][data-aos-duration="150"], .js body[data-aos-duration="150"] [data-aos] {
  transition-duration: .15s; }

.js [data-aos][data-aos][data-aos-delay="150"], .js body[data-aos-delay="150"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="150"].aos-animate, .js body[data-aos-delay="150"] [data-aos].aos-animate {
  transition-delay: .15s; }

.js [data-aos][data-aos][data-aos-duration="200"], .js body[data-aos-duration="200"] [data-aos] {
  transition-duration: .2s; }

.js [data-aos][data-aos][data-aos-delay="200"], .js body[data-aos-delay="200"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="200"].aos-animate, .js body[data-aos-delay="200"] [data-aos].aos-animate {
  transition-delay: .2s; }

.js [data-aos][data-aos][data-aos-duration="250"], .js body[data-aos-duration="250"] [data-aos] {
  transition-duration: .25s; }

.js [data-aos][data-aos][data-aos-delay="250"], .js body[data-aos-delay="250"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="250"].aos-animate, .js body[data-aos-delay="250"] [data-aos].aos-animate {
  transition-delay: .25s; }

.js [data-aos][data-aos][data-aos-duration="300"], .js body[data-aos-duration="300"] [data-aos] {
  transition-duration: .3s; }

.js [data-aos][data-aos][data-aos-delay="300"], .js body[data-aos-delay="300"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="300"].aos-animate, .js body[data-aos-delay="300"] [data-aos].aos-animate {
  transition-delay: .3s; }

.js [data-aos][data-aos][data-aos-duration="350"], .js body[data-aos-duration="350"] [data-aos] {
  transition-duration: .35s; }

.js [data-aos][data-aos][data-aos-delay="350"], .js body[data-aos-delay="350"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="350"].aos-animate, .js body[data-aos-delay="350"] [data-aos].aos-animate {
  transition-delay: .35s; }

.js [data-aos][data-aos][data-aos-duration="400"], .js body[data-aos-duration="400"] [data-aos] {
  transition-duration: .4s; }

.js [data-aos][data-aos][data-aos-delay="400"], .js body[data-aos-delay="400"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="400"].aos-animate, .js body[data-aos-delay="400"] [data-aos].aos-animate {
  transition-delay: .4s; }

.js [data-aos][data-aos][data-aos-duration="450"], .js body[data-aos-duration="450"] [data-aos] {
  transition-duration: .45s; }

.js [data-aos][data-aos][data-aos-delay="450"], .js body[data-aos-delay="450"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="450"].aos-animate, .js body[data-aos-delay="450"] [data-aos].aos-animate {
  transition-delay: .45s; }

.js [data-aos][data-aos][data-aos-duration="500"], .js body[data-aos-duration="500"] [data-aos] {
  transition-duration: .5s; }

.js [data-aos][data-aos][data-aos-delay="500"], .js body[data-aos-delay="500"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="500"].aos-animate, .js body[data-aos-delay="500"] [data-aos].aos-animate {
  transition-delay: .5s; }

.js [data-aos][data-aos][data-aos-duration="550"], .js body[data-aos-duration="550"] [data-aos] {
  transition-duration: .55s; }

.js [data-aos][data-aos][data-aos-delay="550"], .js body[data-aos-delay="550"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="550"].aos-animate, .js body[data-aos-delay="550"] [data-aos].aos-animate {
  transition-delay: .55s; }

.js [data-aos][data-aos][data-aos-duration="600"], .js body[data-aos-duration="600"] [data-aos] {
  transition-duration: .6s; }

.js [data-aos][data-aos][data-aos-delay="600"], .js body[data-aos-delay="600"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="600"].aos-animate, .js body[data-aos-delay="600"] [data-aos].aos-animate {
  transition-delay: .6s; }

.js [data-aos][data-aos][data-aos-duration="650"], .js body[data-aos-duration="650"] [data-aos] {
  transition-duration: .65s; }

.js [data-aos][data-aos][data-aos-delay="650"], .js body[data-aos-delay="650"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="650"].aos-animate, .js body[data-aos-delay="650"] [data-aos].aos-animate {
  transition-delay: .65s; }

.js [data-aos][data-aos][data-aos-duration="700"], .js body[data-aos-duration="700"] [data-aos] {
  transition-duration: .7s; }

.js [data-aos][data-aos][data-aos-delay="700"], .js body[data-aos-delay="700"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="700"].aos-animate, .js body[data-aos-delay="700"] [data-aos].aos-animate {
  transition-delay: .7s; }

.js [data-aos][data-aos][data-aos-duration="750"], .js body[data-aos-duration="750"] [data-aos] {
  transition-duration: .75s; }

.js [data-aos][data-aos][data-aos-delay="750"], .js body[data-aos-delay="750"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="750"].aos-animate, .js body[data-aos-delay="750"] [data-aos].aos-animate {
  transition-delay: .75s; }

.js [data-aos][data-aos][data-aos-duration="800"], .js body[data-aos-duration="800"] [data-aos] {
  transition-duration: .8s; }

.js [data-aos][data-aos][data-aos-delay="800"], .js body[data-aos-delay="800"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="800"].aos-animate, .js body[data-aos-delay="800"] [data-aos].aos-animate {
  transition-delay: .8s; }

.js [data-aos][data-aos][data-aos-duration="850"], .js body[data-aos-duration="850"] [data-aos] {
  transition-duration: .85s; }

.js [data-aos][data-aos][data-aos-delay="850"], .js body[data-aos-delay="850"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="850"].aos-animate, .js body[data-aos-delay="850"] [data-aos].aos-animate {
  transition-delay: .85s; }

.js [data-aos][data-aos][data-aos-duration="900"], .js body[data-aos-duration="900"] [data-aos] {
  transition-duration: .9s; }

.js [data-aos][data-aos][data-aos-delay="900"], .js body[data-aos-delay="900"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="900"].aos-animate, .js body[data-aos-delay="900"] [data-aos].aos-animate {
  transition-delay: .9s; }

.js [data-aos][data-aos][data-aos-duration="950"], .js body[data-aos-duration="950"] [data-aos] {
  transition-duration: .95s; }

.js [data-aos][data-aos][data-aos-delay="950"], .js body[data-aos-delay="950"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="950"].aos-animate, .js body[data-aos-delay="950"] [data-aos].aos-animate {
  transition-delay: .95s; }

.js [data-aos][data-aos][data-aos-duration="1000"], .js body[data-aos-duration="1000"] [data-aos] {
  transition-duration: 1s; }

.js [data-aos][data-aos][data-aos-delay="1000"], .js body[data-aos-delay="1000"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1000"].aos-animate, .js body[data-aos-delay="1000"] [data-aos].aos-animate {
  transition-delay: 1s; }

.js [data-aos][data-aos][data-aos-duration="1050"], .js body[data-aos-duration="1050"] [data-aos] {
  transition-duration: 1.05s; }

.js [data-aos][data-aos][data-aos-delay="1050"], .js body[data-aos-delay="1050"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1050"].aos-animate, .js body[data-aos-delay="1050"] [data-aos].aos-animate {
  transition-delay: 1.05s; }

.js [data-aos][data-aos][data-aos-duration="1100"], .js body[data-aos-duration="1100"] [data-aos] {
  transition-duration: 1.1s; }

.js [data-aos][data-aos][data-aos-delay="1100"], .js body[data-aos-delay="1100"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1100"].aos-animate, .js body[data-aos-delay="1100"] [data-aos].aos-animate {
  transition-delay: 1.1s; }

.js [data-aos][data-aos][data-aos-duration="1150"], .js body[data-aos-duration="1150"] [data-aos] {
  transition-duration: 1.15s; }

.js [data-aos][data-aos][data-aos-delay="1150"], .js body[data-aos-delay="1150"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1150"].aos-animate, .js body[data-aos-delay="1150"] [data-aos].aos-animate {
  transition-delay: 1.15s; }

.js [data-aos][data-aos][data-aos-duration="1200"], .js body[data-aos-duration="1200"] [data-aos] {
  transition-duration: 1.2s; }

.js [data-aos][data-aos][data-aos-delay="1200"], .js body[data-aos-delay="1200"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1200"].aos-animate, .js body[data-aos-delay="1200"] [data-aos].aos-animate {
  transition-delay: 1.2s; }

.js [data-aos][data-aos][data-aos-duration="1250"], .js body[data-aos-duration="1250"] [data-aos] {
  transition-duration: 1.25s; }

.js [data-aos][data-aos][data-aos-delay="1250"], .js body[data-aos-delay="1250"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1250"].aos-animate, .js body[data-aos-delay="1250"] [data-aos].aos-animate {
  transition-delay: 1.25s; }

.js [data-aos][data-aos][data-aos-duration="1300"], .js body[data-aos-duration="1300"] [data-aos] {
  transition-duration: 1.3s; }

.js [data-aos][data-aos][data-aos-delay="1300"], .js body[data-aos-delay="1300"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1300"].aos-animate, .js body[data-aos-delay="1300"] [data-aos].aos-animate {
  transition-delay: 1.3s; }

.js [data-aos][data-aos][data-aos-duration="1350"], .js body[data-aos-duration="1350"] [data-aos] {
  transition-duration: 1.35s; }

.js [data-aos][data-aos][data-aos-delay="1350"], .js body[data-aos-delay="1350"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1350"].aos-animate, .js body[data-aos-delay="1350"] [data-aos].aos-animate {
  transition-delay: 1.35s; }

.js [data-aos][data-aos][data-aos-duration="1400"], .js body[data-aos-duration="1400"] [data-aos] {
  transition-duration: 1.4s; }

.js [data-aos][data-aos][data-aos-delay="1400"], .js body[data-aos-delay="1400"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1400"].aos-animate, .js body[data-aos-delay="1400"] [data-aos].aos-animate {
  transition-delay: 1.4s; }

.js [data-aos][data-aos][data-aos-duration="1450"], .js body[data-aos-duration="1450"] [data-aos] {
  transition-duration: 1.45s; }

.js [data-aos][data-aos][data-aos-delay="1450"], .js body[data-aos-delay="1450"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1450"].aos-animate, .js body[data-aos-delay="1450"] [data-aos].aos-animate {
  transition-delay: 1.45s; }

.js [data-aos][data-aos][data-aos-duration="1500"], .js body[data-aos-duration="1500"] [data-aos] {
  transition-duration: 1.5s; }

.js [data-aos][data-aos][data-aos-delay="1500"], .js body[data-aos-delay="1500"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1500"].aos-animate, .js body[data-aos-delay="1500"] [data-aos].aos-animate {
  transition-delay: 1.5s; }

.js [data-aos][data-aos][data-aos-duration="1550"], .js body[data-aos-duration="1550"] [data-aos] {
  transition-duration: 1.55s; }

.js [data-aos][data-aos][data-aos-delay="1550"], .js body[data-aos-delay="1550"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1550"].aos-animate, .js body[data-aos-delay="1550"] [data-aos].aos-animate {
  transition-delay: 1.55s; }

.js [data-aos][data-aos][data-aos-duration="1600"], .js body[data-aos-duration="1600"] [data-aos] {
  transition-duration: 1.6s; }

.js [data-aos][data-aos][data-aos-delay="1600"], .js body[data-aos-delay="1600"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1600"].aos-animate, .js body[data-aos-delay="1600"] [data-aos].aos-animate {
  transition-delay: 1.6s; }

.js [data-aos][data-aos][data-aos-duration="1650"], .js body[data-aos-duration="1650"] [data-aos] {
  transition-duration: 1.65s; }

.js [data-aos][data-aos][data-aos-delay="1650"], .js body[data-aos-delay="1650"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1650"].aos-animate, .js body[data-aos-delay="1650"] [data-aos].aos-animate {
  transition-delay: 1.65s; }

.js [data-aos][data-aos][data-aos-duration="1700"], .js body[data-aos-duration="1700"] [data-aos] {
  transition-duration: 1.7s; }

.js [data-aos][data-aos][data-aos-delay="1700"], .js body[data-aos-delay="1700"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1700"].aos-animate, .js body[data-aos-delay="1700"] [data-aos].aos-animate {
  transition-delay: 1.7s; }

.js [data-aos][data-aos][data-aos-duration="1750"], .js body[data-aos-duration="1750"] [data-aos] {
  transition-duration: 1.75s; }

.js [data-aos][data-aos][data-aos-delay="1750"], .js body[data-aos-delay="1750"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1750"].aos-animate, .js body[data-aos-delay="1750"] [data-aos].aos-animate {
  transition-delay: 1.75s; }

.js [data-aos][data-aos][data-aos-duration="1800"], .js body[data-aos-duration="1800"] [data-aos] {
  transition-duration: 1.8s; }

.js [data-aos][data-aos][data-aos-delay="1800"], .js body[data-aos-delay="1800"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1800"].aos-animate, .js body[data-aos-delay="1800"] [data-aos].aos-animate {
  transition-delay: 1.8s; }

.js [data-aos][data-aos][data-aos-duration="1850"], .js body[data-aos-duration="1850"] [data-aos] {
  transition-duration: 1.85s; }

.js [data-aos][data-aos][data-aos-delay="1850"], .js body[data-aos-delay="1850"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1850"].aos-animate, .js body[data-aos-delay="1850"] [data-aos].aos-animate {
  transition-delay: 1.85s; }

.js [data-aos][data-aos][data-aos-duration="1900"], .js body[data-aos-duration="1900"] [data-aos] {
  transition-duration: 1.9s; }

.js [data-aos][data-aos][data-aos-delay="1900"], .js body[data-aos-delay="1900"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1900"].aos-animate, .js body[data-aos-delay="1900"] [data-aos].aos-animate {
  transition-delay: 1.9s; }

.js [data-aos][data-aos][data-aos-duration="1950"], .js body[data-aos-duration="1950"] [data-aos] {
  transition-duration: 1.95s; }

.js [data-aos][data-aos][data-aos-delay="1950"], .js body[data-aos-delay="1950"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="1950"].aos-animate, .js body[data-aos-delay="1950"] [data-aos].aos-animate {
  transition-delay: 1.95s; }

.js [data-aos][data-aos][data-aos-duration="2000"], .js body[data-aos-duration="2000"] [data-aos] {
  transition-duration: 2s; }

.js [data-aos][data-aos][data-aos-delay="2000"], .js body[data-aos-delay="2000"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2000"].aos-animate, .js body[data-aos-delay="2000"] [data-aos].aos-animate {
  transition-delay: 2s; }

.js [data-aos][data-aos][data-aos-duration="2050"], .js body[data-aos-duration="2050"] [data-aos] {
  transition-duration: 2.05s; }

.js [data-aos][data-aos][data-aos-delay="2050"], .js body[data-aos-delay="2050"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2050"].aos-animate, .js body[data-aos-delay="2050"] [data-aos].aos-animate {
  transition-delay: 2.05s; }

.js [data-aos][data-aos][data-aos-duration="2100"], .js body[data-aos-duration="2100"] [data-aos] {
  transition-duration: 2.1s; }

.js [data-aos][data-aos][data-aos-delay="2100"], .js body[data-aos-delay="2100"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2100"].aos-animate, .js body[data-aos-delay="2100"] [data-aos].aos-animate {
  transition-delay: 2.1s; }

.js [data-aos][data-aos][data-aos-duration="2150"], .js body[data-aos-duration="2150"] [data-aos] {
  transition-duration: 2.15s; }

.js [data-aos][data-aos][data-aos-delay="2150"], .js body[data-aos-delay="2150"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2150"].aos-animate, .js body[data-aos-delay="2150"] [data-aos].aos-animate {
  transition-delay: 2.15s; }

.js [data-aos][data-aos][data-aos-duration="2200"], .js body[data-aos-duration="2200"] [data-aos] {
  transition-duration: 2.2s; }

.js [data-aos][data-aos][data-aos-delay="2200"], .js body[data-aos-delay="2200"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2200"].aos-animate, .js body[data-aos-delay="2200"] [data-aos].aos-animate {
  transition-delay: 2.2s; }

.js [data-aos][data-aos][data-aos-duration="2250"], .js body[data-aos-duration="2250"] [data-aos] {
  transition-duration: 2.25s; }

.js [data-aos][data-aos][data-aos-delay="2250"], .js body[data-aos-delay="2250"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2250"].aos-animate, .js body[data-aos-delay="2250"] [data-aos].aos-animate {
  transition-delay: 2.25s; }

.js [data-aos][data-aos][data-aos-duration="2300"], .js body[data-aos-duration="2300"] [data-aos] {
  transition-duration: 2.3s; }

.js [data-aos][data-aos][data-aos-delay="2300"], .js body[data-aos-delay="2300"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2300"].aos-animate, .js body[data-aos-delay="2300"] [data-aos].aos-animate {
  transition-delay: 2.3s; }

.js [data-aos][data-aos][data-aos-duration="2350"], .js body[data-aos-duration="2350"] [data-aos] {
  transition-duration: 2.35s; }

.js [data-aos][data-aos][data-aos-delay="2350"], .js body[data-aos-delay="2350"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2350"].aos-animate, .js body[data-aos-delay="2350"] [data-aos].aos-animate {
  transition-delay: 2.35s; }

.js [data-aos][data-aos][data-aos-duration="2400"], .js body[data-aos-duration="2400"] [data-aos] {
  transition-duration: 2.4s; }

.js [data-aos][data-aos][data-aos-delay="2400"], .js body[data-aos-delay="2400"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2400"].aos-animate, .js body[data-aos-delay="2400"] [data-aos].aos-animate {
  transition-delay: 2.4s; }

.js [data-aos][data-aos][data-aos-duration="2450"], .js body[data-aos-duration="2450"] [data-aos] {
  transition-duration: 2.45s; }

.js [data-aos][data-aos][data-aos-delay="2450"], .js body[data-aos-delay="2450"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2450"].aos-animate, .js body[data-aos-delay="2450"] [data-aos].aos-animate {
  transition-delay: 2.45s; }

.js [data-aos][data-aos][data-aos-duration="2500"], .js body[data-aos-duration="2500"] [data-aos] {
  transition-duration: 2.5s; }

.js [data-aos][data-aos][data-aos-delay="2500"], .js body[data-aos-delay="2500"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2500"].aos-animate, .js body[data-aos-delay="2500"] [data-aos].aos-animate {
  transition-delay: 2.5s; }

.js [data-aos][data-aos][data-aos-duration="2550"], .js body[data-aos-duration="2550"] [data-aos] {
  transition-duration: 2.55s; }

.js [data-aos][data-aos][data-aos-delay="2550"], .js body[data-aos-delay="2550"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2550"].aos-animate, .js body[data-aos-delay="2550"] [data-aos].aos-animate {
  transition-delay: 2.55s; }

.js [data-aos][data-aos][data-aos-duration="2600"], .js body[data-aos-duration="2600"] [data-aos] {
  transition-duration: 2.6s; }

.js [data-aos][data-aos][data-aos-delay="2600"], .js body[data-aos-delay="2600"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2600"].aos-animate, .js body[data-aos-delay="2600"] [data-aos].aos-animate {
  transition-delay: 2.6s; }

.js [data-aos][data-aos][data-aos-duration="2650"], .js body[data-aos-duration="2650"] [data-aos] {
  transition-duration: 2.65s; }

.js [data-aos][data-aos][data-aos-delay="2650"], .js body[data-aos-delay="2650"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2650"].aos-animate, .js body[data-aos-delay="2650"] [data-aos].aos-animate {
  transition-delay: 2.65s; }

.js [data-aos][data-aos][data-aos-duration="2700"], .js body[data-aos-duration="2700"] [data-aos] {
  transition-duration: 2.7s; }

.js [data-aos][data-aos][data-aos-delay="2700"], .js body[data-aos-delay="2700"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2700"].aos-animate, .js body[data-aos-delay="2700"] [data-aos].aos-animate {
  transition-delay: 2.7s; }

.js [data-aos][data-aos][data-aos-duration="2750"], .js body[data-aos-duration="2750"] [data-aos] {
  transition-duration: 2.75s; }

.js [data-aos][data-aos][data-aos-delay="2750"], .js body[data-aos-delay="2750"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2750"].aos-animate, .js body[data-aos-delay="2750"] [data-aos].aos-animate {
  transition-delay: 2.75s; }

.js [data-aos][data-aos][data-aos-duration="2800"], .js body[data-aos-duration="2800"] [data-aos] {
  transition-duration: 2.8s; }

.js [data-aos][data-aos][data-aos-delay="2800"], .js body[data-aos-delay="2800"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2800"].aos-animate, .js body[data-aos-delay="2800"] [data-aos].aos-animate {
  transition-delay: 2.8s; }

.js [data-aos][data-aos][data-aos-duration="2850"], .js body[data-aos-duration="2850"] [data-aos] {
  transition-duration: 2.85s; }

.js [data-aos][data-aos][data-aos-delay="2850"], .js body[data-aos-delay="2850"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2850"].aos-animate, .js body[data-aos-delay="2850"] [data-aos].aos-animate {
  transition-delay: 2.85s; }

.js [data-aos][data-aos][data-aos-duration="2900"], .js body[data-aos-duration="2900"] [data-aos] {
  transition-duration: 2.9s; }

.js [data-aos][data-aos][data-aos-delay="2900"], .js body[data-aos-delay="2900"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2900"].aos-animate, .js body[data-aos-delay="2900"] [data-aos].aos-animate {
  transition-delay: 2.9s; }

.js [data-aos][data-aos][data-aos-duration="2950"], .js body[data-aos-duration="2950"] [data-aos] {
  transition-duration: 2.95s; }

.js [data-aos][data-aos][data-aos-delay="2950"], .js body[data-aos-delay="2950"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="2950"].aos-animate, .js body[data-aos-delay="2950"] [data-aos].aos-animate {
  transition-delay: 2.95s; }

.js [data-aos][data-aos][data-aos-duration="3000"], .js body[data-aos-duration="3000"] [data-aos] {
  transition-duration: 3s; }

.js [data-aos][data-aos][data-aos-delay="3000"], .js body[data-aos-delay="3000"] [data-aos] {
  transition-delay: 0; }

.js [data-aos][data-aos][data-aos-delay="3000"].aos-animate, .js body[data-aos-delay="3000"] [data-aos].aos-animate {
  transition-delay: 3s; }

.js [data-aos][data-aos][data-aos-easing=linear], .js body[data-aos-easing=linear] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75); }

.js [data-aos][data-aos][data-aos-easing=ease], .js body[data-aos-easing=ease] [data-aos] {
  transition-timing-function: ease; }

.js [data-aos][data-aos][data-aos-easing=ease-in], .js body[data-aos-easing=ease-in] [data-aos] {
  transition-timing-function: ease-in; }

.js [data-aos][data-aos][data-aos-easing=ease-out], .js body[data-aos-easing=ease-out] [data-aos] {
  transition-timing-function: ease-out; }

.js [data-aos][data-aos][data-aos-easing=ease-in-out], .js body[data-aos-easing=ease-in-out] [data-aos] {
  transition-timing-function: ease-in-out; }

.js [data-aos][data-aos][data-aos-easing=ease-in-back], .js body[data-aos-easing=ease-in-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

.js [data-aos][data-aos][data-aos-easing=ease-out-back], .js body[data-aos-easing=ease-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

.js [data-aos][data-aos][data-aos-easing=ease-in-out-back], .js body[data-aos-easing=ease-in-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.js [data-aos][data-aos][data-aos-easing=ease-in-sine], .js body[data-aos-easing=ease-in-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

.js [data-aos][data-aos][data-aos-easing=ease-out-sine], .js body[data-aos-easing=ease-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

.js [data-aos][data-aos][data-aos-easing=ease-in-out-sine], .js body[data-aos-easing=ease-in-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

.js [data-aos][data-aos][data-aos-easing=ease-in-quad], .js body[data-aos-easing=ease-in-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.js [data-aos][data-aos][data-aos-easing=ease-out-quad], .js body[data-aos-easing=ease-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.js [data-aos][data-aos][data-aos-easing=ease-in-out-quad], .js body[data-aos-easing=ease-in-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

.js [data-aos][data-aos][data-aos-easing=ease-in-cubic], .js body[data-aos-easing=ease-in-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.js [data-aos][data-aos][data-aos-easing=ease-out-cubic], .js body[data-aos-easing=ease-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.js [data-aos][data-aos][data-aos-easing=ease-in-out-cubic], .js body[data-aos-easing=ease-in-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

.js [data-aos][data-aos][data-aos-easing=ease-in-quart], .js body[data-aos-easing=ease-in-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.js [data-aos][data-aos][data-aos-easing=ease-out-quart], .js body[data-aos-easing=ease-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.js [data-aos][data-aos][data-aos-easing=ease-in-out-quart], .js body[data-aos-easing=ease-in-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

.js [data-aos^=fade][data-aos^=fade] {
  opacity: 0;
  transition-property: opacity,transform; }

.js [data-aos^=fade][data-aos^=fade].aos-animate {
  opacity: 1;
  transform: translateZ(0); }

.js [data-aos=fade-up] {
  transform: translate3d(0, 100px, 0); }

.js [data-aos=fade-down] {
  transform: translate3d(0, -100px, 0); }

.js [data-aos=fade-right] {
  transform: translate3d(-100px, 0, 0); }

.js [data-aos=fade-left] {
  transform: translate3d(100px, 0, 0); }

.js [data-aos=fade-up-right] {
  transform: translate3d(-100px, 100px, 0); }

.js [data-aos=fade-up-left] {
  transform: translate3d(100px, 100px, 0); }

.js [data-aos=fade-down-right] {
  transform: translate3d(-100px, -100px, 0); }

.js [data-aos=fade-down-left] {
  transform: translate3d(100px, -100px, 0); }

.js [data-aos^=zoom][data-aos^=zoom] {
  opacity: 0;
  transition-property: opacity,transform; }

.js [data-aos^=zoom][data-aos^=zoom].aos-animate {
  opacity: 1;
  transform: translateZ(0) scale(1); }

.js [data-aos=zoom-in] {
  transform: scale(0.6); }

.js [data-aos=zoom-in-up] {
  transform: translate3d(0, 100px, 0) scale(0.6); }

.js [data-aos=zoom-in-down] {
  transform: translate3d(0, -100px, 0) scale(0.6); }

.js [data-aos=zoom-in-right] {
  transform: translate3d(-100px, 0, 0) scale(0.6); }

.js [data-aos=zoom-in-left] {
  transform: translate3d(100px, 0, 0) scale(0.6); }

.js [data-aos=zoom-out] {
  transform: scale(1.2); }

.js [data-aos=zoom-out-up] {
  transform: translate3d(0, 100px, 0) scale(1.2); }

.js [data-aos=zoom-out-down] {
  transform: translate3d(0, -100px, 0) scale(1.2); }

.js [data-aos=zoom-out-right] {
  transform: translate3d(-100px, 0, 0) scale(1.2); }

.js [data-aos=zoom-out-left] {
  transform: translate3d(100px, 0, 0) scale(1.2); }

.js [data-aos^=slide][data-aos^=slide] {
  transition-property: transform; }

.js [data-aos^=slide][data-aos^=slide].aos-animate {
  transform: translateZ(0); }

.js [data-aos=slide-up] {
  transform: translate3d(0, 100%, 0); }

.js [data-aos=slide-down] {
  transform: translate3d(0, -100%, 0); }

.js [data-aos=slide-right] {
  transform: translate3d(-100%, 0, 0); }

.js [data-aos=slide-left] {
  transform: translate3d(100%, 0, 0); }

.js [data-aos^=flip][data-aos^=flip] {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition-property: transform; }

.js [data-aos=flip-left] {
  transform: perspective(2500px) rotateY(-100deg); }

.js [data-aos=flip-left].aos-animate {
  transform: perspective(2500px) rotateY(0); }

.js [data-aos=flip-right] {
  transform: perspective(2500px) rotateY(100deg); }

.js [data-aos=flip-right].aos-animate {
  transform: perspective(2500px) rotateY(0); }

.js [data-aos=flip-up] {
  transform: perspective(2500px) rotateX(-100deg); }

.js [data-aos=flip-up].aos-animate {
  transform: perspective(2500px) rotateX(0); }

.js [data-aos=flip-down] {
  transform: perspective(2500px) rotateX(100deg); }

.js [data-aos=flip-down].aos-animate {
  transform: perspective(2500px) rotateX(0); }

/* Slider */
.slideshow, .slideShow {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease;
  -webkit-transition: opacity 1s ease; }
  .slideshow.slick-initialized, .slideShow.slick-initialized {
    visibility: visible;
    opacity: 1; }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }
  .slick-slider a:focus, .slick-slider img:focus {
    outline: none; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  margin: 0 40px 0 0;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slideShow .slick-slide {
  margin: 0 20px 0 0; }
  @media (min-width: 720px) {
    .slideShow .slick-slide {
      margin: 0 60px 0 0; } }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
button.slick-prev,
button.slick-next {
  background: transparent;
  display: block;
  text-indent: -999em;
  padding: 0;
  border: none;
  outline: none;
  width: 40px;
  height: 40px;
  padding: 0 !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 990; }
  button.slick-prev:hover, button.slick-prev:focus,
  button.slick-next:hover,
  button.slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    button.slick-prev:hover:before, button.slick-prev:focus:before,
    button.slick-next:hover:before,
    button.slick-next:focus:before {
      opacity: 1; }
  button.slick-prev.slick-disabled:before,
  button.slick-next.slick-disabled:before {
    opacity: 0.25; }
  button.slick-prev:after,
  button.slick-next:after {
    content: '';
    position: absolute;
    top: 0;
    background-image: url("../../images/arrow_left.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    display: block;
    width: 40px;
    height: 40px; }

button.slick-prev {
  left: 20px; }

button.slick-next {
  right: 20px; }
  button.slick-next:after {
    content: '';
    background-image: url("../../images/arrow_right.svg"); }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  bottom: -40px;
  list-style: none;
  display: block;
  text-align: left;
  padding: 0;
  margin: 0 0 0 0;
  margin-left: 0 !important;
  width: 1440px !important;
  max-width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: rgba(51, 51, 51, 0.4);
      display: block;
      border-radius: 50%;
      height: 8px;
      width: 8px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
    .slick-dots li.slick-active button {
      background: #333333; }

.imageGallery {
  display: block;
  padding-bottom: 32px;
  padding-bottom: 2rem; }

.kanjiBack {
  padding-top: 80px;
  padding-top: 5rem;
  background: url(../../images/backtext.svg) no-repeat -62px 0;
  background-size: contain; }

.faq .faqItem {
  border-top: 1px solid #ececec;
  padding-top: 16px;
  padding-top: 1rem; }
  .faq .faqItem h5 {
    bordeR: none;
    padding: 0;
    font-size: 18px;
    font-size: 1.125rem; }
    .faq .faqItem h5 a, .faq .faqItem h5 a:link, .faq .faqItem h5 a:visited {
      display: flex;
      grid-gap: 2rem;
      justify-content: space-between;
      color: #777777;
      align-items: center; }
      .faq .faqItem h5 a:hover, .faq .faqItem h5 a:link:hover, .faq .faqItem h5 a:visited:hover {
        color: #791a1c; }
      .faq .faqItem h5 a span, .faq .faqItem h5 a:link span, .faq .faqItem h5 a:visited span {
        padding-top: 8px;
        width: 100%;
        height: auto;
        max-width: 16px; }
        .faq .faqItem h5 a span img, .faq .faqItem h5 a:link span img, .faq .faqItem h5 a:visited span img {
          transition: all 0.25s ease-in-out;
          vertical-align: center; }
  .faq .faqItem .faqAnswer {
    display: none; }
  .faq .faqItem.open {
    border-top: 1px solid #777777; }
    .faq .faqItem.open h5 a, .faq .faqItem.open h5 a:link, .faq .faqItem.open h5 a:visited {
      color: #324051; }
      .faq .faqItem.open h5 a span img, .faq .faqItem.open h5 a:link span img, .faq .faqItem.open h5 a:visited span img {
        transition: all 0.25s ease-in-out;
        transform: rotate(45deg); }

.pagination {
  display: flex;
  justify-content: space-between;
  padding-top: 0; }
  .pagination a, .pagination a:link, .pagination a:visited {
    color: #324051; }
    .pagination a:hover, .pagination a:link:hover, .pagination a:visited:hover {
      color: #791a1c; }
  @media (min-width: 720px) {
    .pagination {
      padding-top: 1rem;
      border-top: 1px solid #EBECEE; } }

.subMenu {
  margin-top: -16px;
  margin-top: -1rem;
  background: #F4EEDC; }
  .subMenu .layout ul {
    justify-content: space-between;
    list-style: none;
    margin-bottom: 0; }
    .subMenu .layout ul li {
      font-size: 14px;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase;
      margin-bottom: 8px;
      margin-bottom: 0.5rem; }
      .subMenu .layout ul li:last-child {
        margin-bottom: 0; }
      .subMenu .layout ul li a, .subMenu .layout ul li a:link, .subMenu .layout ul li a:visited {
        display: block;
        border: 2px solid #000000;
        color: #000000;
        background: white;
        border-radius: 25px;
        padding: 4px 16px;
        padding: .25rem 1rem; }
        .subMenu .layout ul li a:hover, .subMenu .layout ul li a:link:hover, .subMenu .layout ul li a:visited:hover {
          background: #fff1b4; }
  @media (min-width: 720px) {
    .subMenu .layout {
      padding: 1.5rem 1rem; }
      .subMenu .layout ul {
        display: flex;
        justify-content: center; }
        .subMenu .layout ul li {
          margin-right: 1rem;
          margin-bottom: 0; }
          .subMenu .layout ul li:last-child {
            margin-right: 0; }
          .subMenu .layout ul li a, .subMenu .layout ul li a:link, .subMenu .layout ul li a:visited {
            border: none; } }

.newsPage .subMenu {
  background: #EBECEE; }

/* @mixin fluid-type($min-vw, $max-vw, $min-font-size, $max-font-size) */
strong {
  font-weight: bold; }

html {
  box-sizing: border-box; }

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

body {
  background: #324051;
  color: white;
  font-family: proxima-nova, sans-serif;
  font-weight: 400;
  font-feature-settings: "kern" 1, "liga" 1, "pnum" 1;
  font-kerning: normal;
  font-smoothing: antialiased;
  font-weight: 300;
  line-height: 1.4;
  text-rendering: optimizeLegibility; }

hr {
  border-top: 1px solid rgba(51, 51, 51, 0.2);
  border-bottom: none;
  height: 0; }

body a, body a:link, body a:visited, body a:focus, body a:active {
  color: #973f3a;
  text-decoration: none;
  transition: all 0.2s; }
  body a:-moz-any-link, body a:link:-moz-any-link, body a:visited:-moz-any-link, body a:focus:-moz-any-link, body a:active:-moz-any-link {
    text-decoration: none !important; }
  body a:any-link, body a:link:any-link, body a:visited:any-link, body a:focus:any-link, body a:active:any-link {
    text-decoration: none !important; }
  body a:hover, body a:link:hover, body a:visited:hover, body a:focus:hover, body a:active:hover {
    color: #000000; }

em {
  font-style: italic; }

.upper {
  text-transform: uppercase;
  letter-spacing: 1px; }

.nomargin {
  margin-bottom: 0; }

.centered {
  text-align: center; }

h1, h2 {
  font-family: proxima-nova, sans-serif;
  font-size: 51.2px;
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 40px; }

h2 {
  font-family: proxima-nova, sans-serif;
  font-size: 41.6px;
  font-size: 2.6rem;
  line-height: 140%;
  font-weight: 700;
  margin-bottom: 30px; }

h3 {
  font-family: proxima-nova, sans-serif;
  font-size: 32px;
  font-size: 2rem;
  line-height: 150%;
  font-weight: 700;
  margin-bottom: 30px; }

h4 {
  font-family: proxima-nova, sans-serif;
  font-size: 28.8px;
  font-size: 1.8rem;
  line-height: 150%;
  font-weight: 700;
  margin-bottom: 30px; }

p, ul {
  font-weight: 400;
  font-size: 17.6px;
  font-size: 1.1rem;
  line-height: 140%;
  margin-bottom: 16px;
  margin-bottom: 1rem; }
  @media (min-width: 720px) {
    p, ul {
      font-size: 1.25rem;
      line-height: 135%;
      margin-bottom: 1.2rem; } }

strong {
  font-weight: bold; }

.bigType, .layout .bigType {
  text-transform: uppercase;
  font-weight: bold;
  border: none;
  font-size: 250%;
  text-align: center;
  letter-spacing: 1px; }
  @media (min-width: 720px) {
    .bigType, .layout .bigType {
      font-size: 420%;
      letter-spacing: 2px; } }

/*
$f-mini: 14px;
$f-small: 16px;
$f-body: 18px;
$f-medium: 21px;
$f-large: 26px;
$f-xlarge: 30px;
$f-xxlarge: 45px;
$f-xxxlarge: 60px;
$f-xxxxlarge: 80px;
$f-xxxxlarge: 100px;
	
*/
Hibody.freeze {
  overflow: hidden; }

#wrapper, .container, header, main, footer, .row {
  margin: 0 auto;
  position: relative;
  width: 100%; }

.container, .row {
  width: 1440px;
  max-width: 100%; }

#wrapper {
  background: linear-gradient(#56161b 0%, #56161b 25%, #324051 100%); }

.homeSplash {
  position: relative;
  width: 100%; }
  .homeSplash figure img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    vertical-align: bottom; }
  .homeSplash .textOverlay {
    position: absolute;
    bottom: 0;
    padding: 20px; }
    .homeSplash .textOverlay hgroup {
      position: relative; }
      .homeSplash .textOverlay hgroup h1 {
        font-family: proxima-nova, sans-serif;
        font-weight: 100;
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 140%;
        margin-bottom: 0; }
    .homeSplash .textOverlay::before {
      content: "";
      display: block;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background-color: #324051;
      mix-blend-mode: multiply; }
  @media (min-width: 721px) {
    .homeSplash .textOverlay {
      padding: 40px;
      width: 50%; }
      .homeSplash .textOverlay hgroup {
        position: relative; }
        .homeSplash .textOverlay hgroup h1 {
          font-size: clamp(1.5rem, 5vw, 3.6rem);
          line-height: 120%; } }

.mainContent {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
  flex-direction: column;
  display: flex;
  column-gap: 20px;
  row-gap: 0px;
  flex-direction: column; }
  .mainContent img {
    vertical-align: bottom; }
  .mainContent .leftRow .theText {
    padding: 20px;
    border-bottom: 1px solid white; }
    .mainContent .leftRow .theText .backgroundKanji {
      display: none; }
    .mainContent .leftRow .theText h3 {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 130%;
      font-weight: 500;
      margin-bottom: 10px; }
  .mainContent .rightRow {
    display: none; }
  @media (min-width: 720px) {
    .mainContent {
      row-gap: 0px;
      display: flex;
      -moz-column-gap: 0;
           column-gap: 0;
      flex-direction: row; }
      .mainContent .rightRow {
        display: block; }
        .mainContent .rightRow figure img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
             object-fit: cover;
          vertical-align: bottom; }
      .mainContent .leftRow .mobileImg {
        display: none; }
      .mainContent .leftRow .theText {
        border-bottom: none;
        padding: 2rem;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        align-items: center; }
        .mainContent .leftRow .theText .backgroundKanji {
          font-family: kokuryu, sans-serif;
          font-size: 6rem;
          text-align: center;
          margin: auto;
          display: block;
          color: #671919;
          grid-column: 1 /span 1;
          grid-row: 1/span 1; }
      .mainContent > * {
        width: 50%; }
      .mainContent .rightRow {
        height: 100vh;
        position: relative; }
        .mainContent .rightRow figure {
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          right: 0;
          width: 100%;
          height: 100%;
          opacity: 0;
          visibility: hidden; }
          .mainContent .rightRow figure img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover; }
      .mainContent .leftRow .theText {
        height: 100vh;
        width: 100%;
        padding: 3rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
        text-align: left; }
        .mainContent .leftRow .theText hgroup {
          position: relative;
          display: grid;
          grid-template-columns: 1fr;
          grid-template-rows: 1fr; }
          .mainContent .leftRow .theText hgroup .backgroundKanji {
            font-family: kokuryu, sans-serif;
            font-size: clamp(5rem, 11vw, 14rem);
            line-height: 120%;
            text-align: center;
            grid-row: 1 /span 1;
            display: block;
            color: #671919; }
          .mainContent .leftRow .theText hgroup h3 {
            font-size: 2.4rem;
            line-height: 120%;
            letter-spacing: 1px;
            grid-row: 1 /span 1;
            grid-column: 1 /span 1;
            font-weight: 100;
            align-self: center; }
        .mainContent .leftRow .theText p {
          font-size: 1.2rem;
          line-height: 140%;
          align-self: flex-start;
          max-width: 45ch;
          font-weight: 100; } }
  @media (min-width: 960px) {
    .mainContent .leftRow .theText h3 {
      font-size: 3rem; }
    .mainContent .leftRow .theText p {
      font-size: 1.4rem; } }

.bannerContent {
  background: white;
  padding: 32px;
  padding: 2rem; }
  @media (min-width: 720px) {
    .bannerContent {
      padding: 80px 4vw; } }

.homeDivider {
  width: 100%; }
  .homeDivider figure img {
    vertical-align: bottom; }
  @media (min-width: 720px) {
    .homeDivider figure {
      margin: 0 auto;
      max-height: 600px;
      overflow: hidden; }
      .homeDivider figure img {
        -o-object-fit: cover;
           object-fit: cover;
        width: 100%; } }

@media (min-width: 720px) {
  .bannerContent.redBack.homeBeginner {
    background: #56161b url("../../images/home/tsuba2.png") no-repeat bottom left; } }

.aboutPage, .classPage, .newsPage, .galleryPage, .affiliatePage, .shopPage {
  background: white;
  color: #333333; }

.greyRow {
  background: #ececec; }

.blueRow {
  background: #324051;
  color: white; }
  .blueRow .layout h1, .blueRow .layout h2, .blueRow .layout h3,
  .blueRow .layout h4, .blueRow .layout h5, .blueRow .layout h6 {
    color: white;
    border-color: white; }
  .blueRow .bigButton {
    margin: 0 auto;
    text-align: center; }
    .blueRow .bigButton a, .blueRow .bigButton a:link, .blueRow .bigButton a:visited {
      padding: 8px 16px;
      padding: 0.5rem 1rem;
      background: #F4EEDC;
      color: #324051;
      text-transform: uppercase;
      font-weight: bold;
      border-radius: 20px; }
      .blueRow .bigButton a:hover, .blueRow .bigButton a:link:hover, .blueRow .bigButton a:visited:hover {
        background: #324051;
        color: #791a1c; }

.beigeRow {
  background: #F4EEDC; }
  .beigeRow .layout a, .beigeRow .layout a:link, .beigeRow .layout a:visited {
    color: #324051; }

.redRow {
  background: #ffebeb; }

.layout {
  padding: 32px 6vw;
  padding: 2rem 6vw; }
  @media (min-width: 720px) {
    .layout {
      max-width: 1200px;
      margin: 0 auto;
      padding: 4rem; }
      .layout .twoTxtCol {
        -moz-column-count: 2;
             column-count: 2;
        -moz-column-gap: 5vw;
             column-gap: 5vw; } }

@media (min-width: 720px) {
  .txtLpicR {
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-template-rows: auto auto;
    gap: 0 2vw; } }

@media (min-width: 720px) {
  .imgRTxtL {
    display: grid;
    grid-template-columns: 2fr 2fr;
    grid-template-rows: auto auto;
    gap: 0 2vw; }
    .imgRTxtL hgroup {
      grid-row: 1 / span 1;
      grid-column: 2 / span 1; }
    .imgRTxtL figure {
      grid-row: 1 / span 2;
      grid-column: 1 / span 1;
      padding-right: 3vw; }
    .imgRTxtL article {
      grid-row: 2 / span 1;
      grid-column: 2 / span 1; } }

header {
  background: #324051;
  transition: all 0.25s ease-out;
  /*
	.textOverlay {
		position: absolute;
		bottom: 0;
		padding: $unit;
		//background: url('../../images/home/backcol.png');
		//background-color: red;
		//background-blend-mode: screen;
			hgroup {
				position: relative;
				h1 {
					font-family: $sans;
					font-weight: 100;
					font-size: 1.5rem;
					line-height: 140%;
					margin-bottom: 0
				}
			}//hgroup
			
		&::before {
			content: "";
			display: block;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			background-color: $dark-blue;
			mix-blend-mode: multiply;
		}
	}//textOverlay

	
		*/ }
  header .logo {
    text-align: center;
    padding: 10px 20px; }
    header .logo img {
      width: 100%;
      max-width: 180px; }
    header .logo #logoSVG {
      width: 220px;
      max-width: 180px;
      transition: all 0.5s; }
      header .logo #logoSVG .st0 {
        fill: #ffffff;
        transition: all 0.5s ease-out; }
      header .logo #logoSVG .st1 {
        fill: #ffffff;
        stroke: #FFFFFF;
        stroke-width: 1;
        stroke-miterlimit: 10;
        transition: all 0.5s ease-out; }
  header .menuHolder {
    border-top: 1px solid white;
    border-bottom: 1px solid white; }
    header .menuHolder nav ul {
      display: flex;
      justify-content: space-between;
      margin-bottom: 0; }
      header .menuHolder nav ul li {
        border-right: 1px solid white;
        width: 25%;
        text-align: center; }
        header .menuHolder nav ul li:last-child {
          border-right: none; }
        header .menuHolder nav ul li a, header .menuHolder nav ul li a:link, header .menuHolder nav ul li a:visited {
          display: block;
          text-align: center;
          padding: 4px 8px;
          padding: .25rem 0.5rem;
          color: white;
          text-transform: uppercase;
          font-size: 15.2px;
          font-size: .95rem;
          font-weight: 500; }
          header .menuHolder nav ul li a:hover, header .menuHolder nav ul li a:link:hover, header .menuHolder nav ul li a:visited:hover {
            color: #fff1b4; }
  @media (min-width: 721px) {
    header {
      position: fixed;
      top: 0;
      z-index: 99;
      background: none;
      display: flex;
      justify-content: space-between; }
      header .logo {
        padding: 20px 20px;
        max-width: 220px; }
        header .logo img {
          max-width: 220px; }
        header .logo #logoSVG {
          max-width: 200px; }
      header .menuHolder {
        border-top: none;
        border-bottom: none; }
        header .menuHolder nav ul li {
          border-right: none;
          margin-left: 1px;
          width: auto; }
          header .menuHolder nav ul li a, header .menuHolder nav ul li a:link, header .menuHolder nav ul li a:visited {
            display: block;
            text-align: center;
            padding: 1.25rem;
            padding-top: 3rem;
            color: white;
            text-transform: uppercase;
            font-size: 1rem;
            font-weight: 500;
            letter-spacing: 0.5px;
            background: rgba(24, 34, 45, 0.8); }
            header .menuHolder nav ul li a:hover, header .menuHolder nav ul li a:link:hover, header .menuHolder nav ul li a:visited:hover {
              color: #fff1b4; }
      header.headerScrolled {
        background: rgba(50, 64, 81, 0.95);
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
        header.headerScrolled .logo {
          padding: 10px 20px;
          padding-bottom: 2px;
          max-width: 180px; }
          header.headerScrolled .logo #logoSVG {
            max-width: 180px; }
            header.headerScrolled .logo #logoSVG .st0 {
              fill: white; }
            header.headerScrolled .logo #logoSVG .st1 {
              fill: white;
              stroke: white; } }

.bannerContent .theText h3 {
  color: #324051;
  font-weight: bold;
  position: relative;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 120%;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  position: relative;
  padding-top: 14px;
  padding-top: 0.875rem; }
  .bannerContent .theText h3:after {
    content: "";
    background: #324051;
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    width: 25%; }

.bannerContent .theText p {
  font-size: 17.6px;
  font-size: 1.1rem;
  color: #324051; }

@media (min-width: 720px) {
  .bannerContent .theText {
    padding-right: 2vw; }
    .bannerContent .theText h3 {
      font-size: 2rem;
      line-height: 140%;
      letter-spacing: 0.5px;
      margin-bottom: 3.6rem;
      position: relative;
      padding-top: 0.875rem; }
      .bannerContent .theText h3:after {
        content: "";
        background: #324051;
        position: absolute;
        top: 0;
        left: 0;
        height: 5px;
        width: 70%; }
    .bannerContent .theText p {
      font-size: 1.25rem;
      line-height: 140%;
      color: #324051; } }

.bannerContent .homeLocation .googleMap {
  overflow: hidden;
  padding-bottom: 120%;
  position: relative;
  filter: grayscale(90%);
  height: 0; }
  .bannerContent .homeLocation .googleMap iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute; }

@media (min-width: 720px) {
  .bannerContent .homeLocation {
    display: flex;
    grid-gap: 40px; }
    .bannerContent .homeLocation > * {
      width: 50%; }
    .bannerContent .homeLocation .googleMap {
      padding-bottom: 30%; } }

@media (min-width: 720px) {
  .bannerContent .homeForm {
    display: flex;
    grid-gap: 4vh; }
    .bannerContent .homeForm > * {
      width: 50%; } }

.bannerContent .formHolder {
  padding: 16px 0;
  padding: 1rem 0; }
  .bannerContent .formHolder form .formItem, .bannerContent .formHolder form .mc-field-group {
    margin-bottom: 24px;
    margin-bottom: 1.5rem; }
    .bannerContent .formHolder form .formItem label, .bannerContent .formHolder form .mc-field-group label {
      color: #777777;
      display: block;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      font-size: 14px;
      font-size: 0.875rem;
      font-weight: bold;
      margin-bottom: 4px;
      margin-bottom: 0.25rem; }
    .bannerContent .formHolder form .formItem input, .bannerContent .formHolder form .mc-field-group input {
      border: none;
      background: #ececec;
      width: 100%;
      padding: 8px;
      padding: 0.5rem;
      font-size: 19.2px;
      font-size: 1.2rem;
      color: #333333; }
    .bannerContent .formHolder form .formItem select, .bannerContent .formHolder form .mc-field-group select {
      border: none;
      background: #ececec;
      width: 100%;
      padding: 12px 8px;
      padding: 0.75rem 0.5rem;
      font-size: 19.2px;
      font-size: 1.2rem;
      color: #324051;
      -webkit-appearance: none;
      background: #ececec url("../../images/caret-down.png") no-repeat 97%; }
    .bannerContent .formHolder form .formItem input[type="submit"], .bannerContent .formHolder form .mc-field-group input[type="submit"] {
      margin-top: 32px;
      margin-top: 2rem;
      text-transform: uppercase;
      color: white;
      background: #B50303;
      font-weight: bold;
      display: inline;
      width: auto;
      min-width: 180px;
      padding: 16px;
      padding: 1rem;
      font-size: 16px;
      font-size: 1rem;
      letter-spacing: 0.85px; }
  .bannerContent .formHolder form input[type="submit"] {
    margin-top: 32px;
    margin-top: 2rem;
    text-transform: uppercase;
    color: white;
    background: #B50303;
    font-weight: bold;
    display: inline;
    width: auto;
    min-width: 180px;
    padding: 16px;
    padding: 1rem;
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: 0.85px;
    border: none; }
  @media (min-width: 720px) {
    .bannerContent .formHolder {
      background: white;
      border-radius: 5px;
      box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.4);
      padding: 3vw 4vw;
      color: #324051;
      max-width: 560px; }
      .bannerContent .formHolder form .formItem label, .bannerContent .formHolder form .mc-field-group label {
        color: #333333; } }

.bannerContent.blueBack, .bannerContent.redBack, .bannerContent.textBoxHome {
  background: #324051;
  color: white; }
  .bannerContent.blueBack .theText h3, .bannerContent.redBack .theText h3, .bannerContent.textBoxHome .theText h3 {
    color: white;
    position: relative;
    padding-top: 14px;
    padding-top: 0.875rem; }
    .bannerContent.blueBack .theText h3:after, .bannerContent.redBack .theText h3:after, .bannerContent.textBoxHome .theText h3:after {
      content: "";
      background: white;
      position: absolute;
      top: 0;
      left: 0;
      height: 5px;
      width: 25%; }
  .bannerContent.blueBack .theText p, .bannerContent.redBack .theText p, .bannerContent.textBoxHome .theText p {
    color: white; }
  .bannerContent.blueBack .theText a, .bannerContent.redBack .theText a, .bannerContent.textBoxHome .theText a, .bannerContent.blueBack .theText a:link, .bannerContent.redBack .theText a:link, .bannerContent.textBoxHome .theText a:link, .bannerContent.blueBack .theText a:visited, .bannerContent.redBack .theText a:visited, .bannerContent.textBoxHome .theText a:visited {
    color: #fff1b4; }
    .bannerContent.blueBack .theText a:hover, .bannerContent.redBack .theText a:hover, .bannerContent.textBoxHome .theText a:hover, .bannerContent.blueBack .theText a:link:hover, .bannerContent.redBack .theText a:link:hover, .bannerContent.textBoxHome .theText a:link:hover, .bannerContent.blueBack .theText a:visited:hover, .bannerContent.redBack .theText a:visited:hover, .bannerContent.textBoxHome .theText a:visited:hover {
      color: white; }
  @media (min-width: 720px) {
    .bannerContent.blueBack .theText h3, .bannerContent.redBack .theText h3, .bannerContent.textBoxHome .theText h3 {
      position: relative;
      padding-top: 0.875rem; }
      .bannerContent.blueBack .theText h3:after, .bannerContent.redBack .theText h3:after, .bannerContent.textBoxHome .theText h3:after {
        content: "";
        background: white;
        position: absolute;
        top: 0;
        left: 0;
        height: 5px;
        width: 50%; } }
  .bannerContent.blueBack form .formItem label, .bannerContent.redBack form .formItem label, .bannerContent.textBoxHome form .formItem label {
    color: white; }
    @media (min-width: 720px) {
      .bannerContent.blueBack form .formItem label, .bannerContent.redBack form .formItem label, .bannerContent.textBoxHome form .formItem label {
        color: #333333; } }

.bannerContent.redBack {
  background: #791a1c; }

.bannerContent.textBoxHome {
  background: #791a1c; }

.introSpace {
  background: #324051;
  color: white;
  margin-bottom: 16px;
  margin-bottom: 1rem; }
  .introSpace hgroup {
    padding: 3.6vw; }
    .introSpace hgroup h3 {
      text-transform: uppercase;
      font-weight: bold;
      font-size: 19.2px;
      font-size: 1.2rem;
      letter-spacing: 1px;
      margin-bottom: 16px;
      margin-bottom: 1rem; }
    .introSpace hgroup h4 {
      text-transform: uppercase;
      font-weight: bold;
      font-size: 24px;
      font-size: 1.5rem;
      letter-spacing: 1px; }
  .introSpace img {
    border-bottom: 1px solid white;
    vertical-align: bottom;
    width: 100%; }
  @media (min-width: 720px) {
    .introSpace {
      position: relative; }
      .introSpace hgroup {
        position: absolute;
        bottom: 3rem;
        margin: auto;
        z-index: 1;
        padding: 0;
        left: 20%;
        transform: translate(-20%, 0);
        max-width: 1200px; }
        .introSpace hgroup h3 {
          font-size: 1.125rem;
          line-height: 130%; }
        .introSpace hgroup h4 {
          font-size: clamp(2.25rem, calc(-2.94rem + 11.54vw), 5.5rem);
          line-height: 110%;
          max-width: 25ch; } }

.layout h5 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 130%;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
  color: #56161b;
  padding: 0 24px;
  padding: 0 1.5rem;
  border-left: 2px solid #56161b; }
  @media (min-width: 720px) {
    .layout h5 {
      font-size: 1.5rem;
      border-left: 3px solid #56161b;
      padding-left: 2.4rem;
      line-height: 120%; } }

.layout h4 {
  font-size: 24px;
  font-size: 1.5rem;
  padding-left: 3vw;
  margin-left: -3vw;
  border-left: 2px solid #324051;
  color: #324051;
  line-height: 1;
  margin-bottom: 26.4px;
  margin-bottom: 1.65rem;
  font-weight: bold; }
  @media (min-width: 720px) {
    .layout h4 {
      font-size: 1.875rem;
      line-height: 140%; } }

.layout ul {
  list-style: disc;
  list-style-position: inside; }

.location article {
  margin-bottom: 32px;
  margin-bottom: 2rem; }

.location .googleMap {
  position: relative;
  padding-bottom: 75%;
  height: 0;
  overflow: hidden;
  margin-bottom: 32px;
  margin-bottom: 2rem; }
  .location .googleMap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

@media (min-width: 720px) {
  .facilitiesText {
    display: flex;
    justify-content: space-between;
    grid-gap: 3vw; }
    .facilitiesText > * {
      width: 50%; }
    .facilitiesText p {
      font-weight: 300; } }

@media (min-width: 720px) {
  .layout .schedule {
    display: grid;
    grid-template-columns: 2fr 3fr;
    grid-template-rows: auto auto;
    gap: 0 3vw; }
    .layout .schedule h4 {
      grid-row: 1 / span 1;
      grid-column: 1 / span 2;
      font-size: 1.75rem;
      line-height: 140%;
      margin-bottom: 3rem; }
    .layout .schedule article {
      grid-row: 2 / span 1;
      grid-column: 1 / span 1; }
      .layout .schedule article p {
        width: 100%;
        font-size: 1.45rem;
        font-weight: 300;
        margin-bottom: 1.4rem; }
        .layout .schedule article p strong {
          font-weight: 700; }
    .layout .schedule .rightImg {
      transform: translateX(8vw);
      padding-top: 2rem; }
      .layout .schedule .rightImg img {
        width: 100%;
        height: auto;
        max-width: 1200px; } }

@media (min-width: 720px) {
  .fees {
    grid-template-rows: auto auto; }
    .fees h4 {
      grid-row: 1;
      grid-column: 2 / span 1; }
    .fees article {
      grid-row: 2;
      grid-column: 2 / span 1; }
      .fees article p {
        font-weight: 300; }
    .fees .leftPic {
      grid-row: 1 / span 2;
      grid-column: 1 / span 1;
      padding-right: 3vw;
      margin-top: -100px;
      padding-top: 100px; } }

@media (min-width: 720px) {
  .location {
    display: grid;
    grid-gap: 3vw;
    grid-template-columns: 1fr 1fr;
    grid-row: auto auto; }
    .location article {
      grid-column: 1 / span 1; }
      .location article p {
        font-weight: 300; }
    .location .googleMap {
      grid-column: 2 / span 1; }
    .location .bigButton {
      grid-column: 1 /span 2;
      grid-row: 2;
      text-align: center; } }

@media (min-width: 720px) {
  .faq {
    max-width: 720px;
    margin: 0 auto; }
    .faq .faqItem .faqAnswer p {
      font-weight: 300; } }

.beginners hgroup.twoHeading {
  border-left: 2px solid #324051;
  padding-left: 3vw;
  margin-left: -3vw; }
  .beginners hgroup.twoHeading h4 {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 140%;
    margin-bottom: 0;
    border: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #324051; }
  .beginners hgroup.twoHeading h3 {
    font-size: 28.8px;
    font-size: 1.8rem;
    color: #324051; }
  @media (min-width: 720px) {
    .beginners hgroup.twoHeading h3 {
      margin-bottom: 0; } }

.beginners article h2 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 150%;
  margin-bottom: 16px;
  margin-bottom: 1rem; }

.beginners article h3 {
  font-size: 19.2px;
  font-size: 1.2rem;
  line-height: 140%;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  border: none; }

.beginners article h4 {
  font-size: 16px;
  font-size: 1rem;
  border: none; }

.beginners article h5 {
  font-size: 14px;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px; }

.beginners article h6 {
  font-size: 14px;
  font-size: 0.875rem; }

.beginners article p {
  font-weight: 300; }

.beginners article ul {
  font-weight: 300;
  margin-bottom: 24px;
  margin-bottom: 1.5rem; }

.beginners article a, .beginners article a:link, .beginners article a:visited {
  color: #324051; }

@media (min-width: 720px) {
  .beginners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1frtv;
    grid-gap: 2vw 3vw;
    align-items: flex-start; }
    .beginners hgroup {
      grid-column: 1 / span 1;
      align-items: flex-start; }
    .beginners .beginnerWidget {
      grid-column: 2 / span 1;
      grid-row: 1 /span 2; }
    .beginners article {
      grid-column: 1 / span 1;
      grid-row: 2 / span 1;
      align-self: flex-start; } }

.kidsClasses hgroup.twoHeading {
  border-left: 2px solid #56161b;
  padding-left: 3vw;
  margin-left: -3vw; }
  .kidsClasses hgroup.twoHeading h4 {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 140%;
    margin-bottom: 0;
    border: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #56161b; }
  .kidsClasses hgroup.twoHeading h3 {
    font-size: 28.8px;
    font-size: 1.8rem;
    color: #56161b; }
  @media (min-width: 720px) {
    .kidsClasses hgroup.twoHeading h3 {
      margin-bottom: 0; } }

.kidsClasses article h2 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 150%;
  margin-bottom: 16px;
  margin-bottom: 1rem; }

.kidsClasses article h3 {
  font-size: 19.2px;
  font-size: 1.2rem;
  line-height: 140%;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  border: none; }

.kidsClasses article h4 {
  font-size: 16px;
  font-size: 1rem;
  border: none; }

.kidsClasses article h5 {
  font-size: 14px;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px; }

.kidsClasses article h6 {
  font-size: 14px;
  font-size: 0.875rem; }

.kidsClasses article p {
  font-weight: 300; }

.kidsClasses article ul {
  font-weight: 300;
  margin-bottom: 24px;
  margin-bottom: 1.5rem; }

.kidsClasses article a, .kidsClasses article a:link, .kidsClasses article a:visited {
  color: #56161b; }

.kidsClasses .kidsTitle {
  background: #B50303;
  color: #F4EEDC; }
  .kidsClasses .kidsTitle .layout {
    padding: 32px 6vw;
    padding: 2rem 6vw; }
    .kidsClasses .kidsTitle .layout hgroup h3 {
      border: none;
      padding-bottom: 16px;
      padding-bottom: 1rem;
      font-size: 38.4px;
      font-size: 2.4rem;
      line-height: 140%;
      margin-bottom: 0;
      padding: 0;
      letter-spacing: 1px; }
    .kidsClasses .kidsTitle .layout hgroup h4 {
      font-size: 16px;
      font-size: 1rem;
      text-transform: uppercase;
      font-weight: 400;
      color: #F4EEDC;
      border: none;
      padding: 0;
      margin: 0;
      letter-spacing: 0.5px; }

.kidsClasses .kidsSubTitle {
  background: #791a1c;
  color: #F4EEDC; }
  .kidsClasses .kidsSubTitle .layout {
    padding: 16px 6vw;
    padding: 1rem 6vw; }
    .kidsClasses .kidsSubTitle .layout h2 {
      color: white;
      font-weight: 500;
      font-size: 25.6px;
      font-size: 1.6rem;
      margin-bottom: 0; }

.kidsClasses .kidsContent .layout figure {
  margin-bottom: 32px;
  margin-bottom: 2rem; }
  .kidsClasses .kidsContent .layout figure img {
    border-radius: 50%; }

.kidsClasses .kidsContent .layout article h3 {
  font-size: 22.4px;
  font-size: 1.4rem;
  line-height: 140%;
  font-weight: 500;
  color: #B50303; }

.kidsClasses .kidsContent .layout article h4 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 150%;
  color: #324051;
  margin-bottom: 0; }

.kidsClasses .kidsContent .kidsList hgroup {
  text-align: center;
  margin-bottom: 20px; }
  .kidsClasses .kidsContent .kidsList hgroup h3 {
    color: #791a1c;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 140%;
    margin-bottom: 0; }
  .kidsClasses .kidsContent .kidsList hgroup h4 {
    font-size: 19.2px;
    font-size: 1.2rem;
    line-height: 140%;
    border: none;
    padding: 0;
    margin: 0;
    font-weight: 500; }

.kidsClasses .kidsContent .kidsList article {
  margin-bottom: 20px; }

.kidsClasses .kidsContent .kidsList .signUpForm {
  padding: 16px 0;
  padding: 1rem 0; }
  .kidsClasses .kidsContent .kidsList .signUpForm form .formItem, .kidsClasses .kidsContent .kidsList .signUpForm form .mc-field-group {
    margin-bottom: 24px;
    margin-bottom: 1.5rem; }
    .kidsClasses .kidsContent .kidsList .signUpForm form .formItem label, .kidsClasses .kidsContent .kidsList .signUpForm form .mc-field-group label {
      color: #777777;
      display: block;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      font-size: 14px;
      font-size: 0.875rem;
      font-weight: bold;
      margin-bottom: 4px;
      margin-bottom: 0.25rem; }
    .kidsClasses .kidsContent .kidsList .signUpForm form .formItem input, .kidsClasses .kidsContent .kidsList .signUpForm form .mc-field-group input {
      border: none;
      background: white;
      width: 100%;
      padding: 8px;
      padding: 0.5rem;
      font-size: 19.2px;
      font-size: 1.2rem;
      color: #333333; }
    .kidsClasses .kidsContent .kidsList .signUpForm form .formItem select, .kidsClasses .kidsContent .kidsList .signUpForm form .mc-field-group select {
      border: none;
      background: #ececec;
      width: 100%;
      padding: 12px 8px;
      padding: 0.75rem 0.5rem;
      font-size: 19.2px;
      font-size: 1.2rem;
      color: #324051;
      -webkit-appearance: none;
      background: #ececec url("../../images/caret-down.png") no-repeat 97%; }
    .kidsClasses .kidsContent .kidsList .signUpForm form .formItem input[type="submit"], .kidsClasses .kidsContent .kidsList .signUpForm form .mc-field-group input[type="submit"] {
      margin-top: 32px;
      margin-top: 2rem;
      text-transform: uppercase;
      color: white;
      background: #B50303;
      font-weight: bold;
      display: inline;
      width: auto;
      min-width: 180px;
      padding: 16px;
      padding: 1rem;
      font-size: 16px;
      font-size: 1rem;
      letter-spacing: 0.85px; }
  .kidsClasses .kidsContent .kidsList .signUpForm form input[type="submit"] {
    margin-top: 32px;
    margin-top: 2rem;
    text-transform: uppercase;
    color: white;
    background: #B50303;
    font-weight: bold;
    display: inline;
    width: auto;
    min-width: 180px;
    padding: 16px;
    padding: 1rem;
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: 0.85px;
    border: none; }

@media (min-width: 720px) {
  .kidsClasses .kidsContent .kidsList .layout {
    display: grid;
    grid-gap: 0 3vw;
    grid-template-columns: 2fr 3fr;
    grid-template-rows: auto 1fr; }
    .kidsClasses .kidsContent .kidsList .layout hgroup {
      grid-column: 1 / span 1;
      grid-row: 1 / span 1;
      text-align: left;
      padding-right: 2vw; }
      .kidsClasses .kidsContent .kidsList .layout hgroup h3 {
        font-size: 1.8rem;
        line-height: 140%; }
      .kidsClasses .kidsContent .kidsList .layout hgroup h4 {
        font-size: 1.5rem;
        color: #B50303; }
    .kidsClasses .kidsContent .kidsList .layout article {
      grid-column: 1 /span 1;
      grid-row: 2 /span 1;
      align-self: flex-start; }
    .kidsClasses .kidsContent .kidsList .layout .signUpForm {
      grid-column: 2 /span 1;
      grid-row: 1 / span 2; } }

@media (min-width: 720px) {
  .kidsClasses .kidsTitle .layout {
    display: grid;
    grid-gap: 3vw;
    grid-template-columns: 2fr 3fr;
    padding: 2rem 3vw; }
    .kidsClasses .kidsTitle .layout hgroup {
      grid-column: 2 / span 1; }
      .kidsClasses .kidsTitle .layout hgroup h3 {
        font-size: 2.8rem;
        line-height: 150%; }
      .kidsClasses .kidsTitle .layout hgroup h4 {
        font-size: 1.5rem; }
  .kidsClasses .kidsSubTitle {
    background: #791a1c;
    color: #F4EEDC; }
    .kidsClasses .kidsSubTitle .layout {
      padding: 2rem 3vw;
      display: grid;
      grid-gap: 3vw;
      grid-template-columns: 2fr 3fr; }
      .kidsClasses .kidsSubTitle .layout h2 {
        grid-column: 2 / span 1;
        color: white;
        font-weight: 500;
        font-size: 1.75rem; }
  .kidsClasses .kidsContent .layout {
    display: grid;
    grid-template-columns: 2fr 3fr;
    padding: 2rem 3vw;
    grid-gap: 3vw; }
    .kidsClasses .kidsContent .layout figure {
      margin-top: -10rem; }
      .kidsClasses .kidsContent .layout figure img {
        box-shadow: 0 0 7px 0px rgba(0, 0, 0, 0.5);
        border: 2px solid white; }
    .kidsClasses .kidsContent .layout article h3 {
      font-size: 1.4rem;
      line-height: 140%;
      font-weight: 500;
      color: #B50303; }
    .kidsClasses .kidsContent .layout article h4 {
      font-size: 1.25rem;
      line-height: 150%;
      color: #324051;
      margin-bottom: 0; } }

.headlineRow {
  background: linear-gradient(to bottom, #EBECEE, #EBECEE 50px, white 50px, white);
  width: 100%; }
  .headlineRow .layout {
    padding: 32px 6vw;
    padding: 2rem 6vw;
    padding-top: 0;
    max-width: 1300px; }
    .headlineRow .layout .headlines .newsStory {
      margin-bottom: 32px;
      margin-bottom: 2rem;
      border-bottom: 1px solid #ececec;
      padding-bottom: 16px;
      padding-bottom: 1rem; }
      .headlineRow .layout .headlines .newsStory figure {
        margin-bottom: 8px;
        margin-bottom: 0.5rem; }
        .headlineRow .layout .headlines .newsStory figure img {
          vertical-align: bottom;
          width: 100%;
          height: auto;
          max-width: 800px; }
      .headlineRow .layout .headlines .newsStory .newsText hgroup h4 {
        color: #791a1c;
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 140%;
        text-transform: uppercase;
        font-weight: 300;
        margin-bottom: 0;
        border: none;
        margin-left: 0;
        padding-left: 0; }
      .headlineRow .layout .headlines .newsStory .newsText hgroup h2 {
        font-size: 28.8px;
        font-size: 1.8rem;
        line-height: 120%;
        text-transform: uppercase;
        margin-bottom: 16px;
        margin-bottom: 1rem; }
        .headlineRow .layout .headlines .newsStory .newsText hgroup h2 a, .headlineRow .layout .headlines .newsStory .newsText hgroup h2 a:link, .headlineRow .layout .headlines .newsStory .newsText hgroup h2 a:visited {
          color: #324051; }
          .headlineRow .layout .headlines .newsStory .newsText hgroup h2 a:hover, .headlineRow .layout .headlines .newsStory .newsText hgroup h2 a:link:hover, .headlineRow .layout .headlines .newsStory .newsText hgroup h2 a:visited:hover {
            color: #791a1c; }
    .headlineRow .layout .headlines .featureLeft, .headlineRow .layout .headlines .featureRight {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto auto; }
      .headlineRow .layout .headlines .featureLeft figure, .headlineRow .layout .headlines .featureRight figure {
        grid-row: 1; }
      .headlineRow .layout .headlines .featureLeft .newsText, .headlineRow .layout .headlines .featureRight .newsText {
        grid-row: 2; }
    @media (min-width: 720px) {
      .headlineRow .layout .headlines {
        padding: 1rem;
        display: grid;
        grid-gap: 0 3vw;
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr 1fr; }
        .headlineRow .layout .headlines .newsStory {
          border: none; }
          .headlineRow .layout .headlines .newsStory .newsText hgroup h2 {
            line-height: 100%; }
        .headlineRow .layout .headlines .featureLeft, .headlineRow .layout .headlines .featureRight {
          grid-column: 1 /span 3;
          grid-template-columns: 1fr 1fr;
          grid-template-rows: 1fr;
          grid-gap: 4vw; }
          .headlineRow .layout .headlines .featureLeft figure, .headlineRow .layout .headlines .featureRight figure {
            grid-column: 2 / span 1;
            grid-row: 1; }
            .headlineRow .layout .headlines .featureLeft figure img, .headlineRow .layout .headlines .featureRight figure img {
              width: 100%;
              height: auto;
              max-width: 1200px; }
          .headlineRow .layout .headlines .featureLeft .newsText, .headlineRow .layout .headlines .featureRight .newsText {
            grid-column: 1 /span 1;
            grid-row: 1;
            align-self: center; }
            .headlineRow .layout .headlines .featureLeft .newsText hgroup, .headlineRow .layout .headlines .featureRight .newsText hgroup {
              margin-bottom: 1rem; }
              .headlineRow .layout .headlines .featureLeft .newsText hgroup h4, .headlineRow .layout .headlines .featureRight .newsText hgroup h4 {
                margin-bottom: 1rem;
                font-size: 1rem; }
              .headlineRow .layout .headlines .featureLeft .newsText hgroup h2, .headlineRow .layout .headlines .featureRight .newsText hgroup h2 {
                font-size: 2.8rem; }
            .headlineRow .layout .headlines .featureLeft .newsText .newsSummary p, .headlineRow .layout .headlines .featureRight .newsText .newsSummary p {
              font-weight: 300;
              font-size: 1.1rem; }
        .headlineRow .layout .headlines .featureRight figure {
          grid-column: 1 /span 1; }
        .headlineRow .layout .headlines .featureRight .newsText {
          grid-column: 2 /span 1; } }
    .headlineRow .layout .newsSingle {
      background: none; }
      .headlineRow .layout .newsSingle .theStory figure {
        margin-bottom: 16px;
        margin-bottom: 1rem; }
        .headlineRow .layout .newsSingle .theStory figure img {
          vertical-align: bottom;
          width: 100%;
          height: auto;
          max-width: 1200px; }
      .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h4 {
        color: #791a1c;
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 140%;
        text-transform: uppercase;
        font-weight: 300;
        margin-bottom: 0;
        border: none;
        margin-left: 0;
        padding-left: 0; }
      .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 {
        font-size: 28.8px;
        font-size: 1.8rem;
        line-height: 120%;
        text-transform: uppercase;
        margin-bottom: 16px;
        margin-bottom: 1rem; }
        .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 a, .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 a:link, .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 a:visited {
          color: #324051; }
          .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 a:hover, .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 a:link:hover, .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 a:visited:hover {
            color: #791a1c; }
      .headlineRow .layout .newsSingle .theStory .newsArticle article {
        border-bottom: 1px solid #EBECEE;
        margin-bottom: 16px;
        margin-bottom: 1rem; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article h2 {
          font-size: 24px;
          font-size: 1.5rem;
          line-height: 150%;
          margin-bottom: 16px;
          margin-bottom: 1rem; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article h3 {
          font-size: 19.2px;
          font-size: 1.2rem;
          line-height: 140%;
          margin-bottom: 16px;
          margin-bottom: 1rem;
          border: none; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article h4 {
          font-size: 16px;
          font-size: 1rem;
          border: none; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article h5 {
          font-size: 14px;
          font-size: 0.875rem;
          text-transform: uppercase;
          letter-spacing: 0.5px; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article h6 {
          font-size: 14px;
          font-size: 0.875rem; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article p {
          font-weight: 300; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article ul {
          font-weight: 300;
          margin-bottom: 24px;
          margin-bottom: 1.5rem; }
        .headlineRow .layout .newsSingle .theStory .newsArticle article a, .headlineRow .layout .newsSingle .theStory .newsArticle article a:link, .headlineRow .layout .newsSingle .theStory .newsArticle article a:visited {
          color: #973f3a; }
      @media (min-width: 720px) {
        .headlineRow .layout .newsSingle .theStory {
          display: grid;
          grid-template-columns: 1fr 1fr;
          grid-gap: 0 4vw; }
          .headlineRow .layout .newsSingle .theStory figure {
            margin-top: 85px; }
          .headlineRow .layout .newsSingle .theStory .newsArticle {
            margin-top: 10px; }
            .headlineRow .layout .newsSingle .theStory .newsArticle hgroup {
              margin-bottom: 2rem; }
              .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h4 {
                margin-bottom: 40px;
                font-size: 1.2rem; }
              .headlineRow .layout .newsSingle .theStory .newsArticle hgroup h2 {
                font-size: 2.4rem;
                line-height: 110%; }
            .headlineRow .layout .newsSingle .theStory .newsArticle article {
              border-bottom: none;
              margin-bottom: 1rem; } }

@media (min-width: 720px) {
  .galleryPage .galleryRow .layout {
    padding-top: 0; } }

.galleryPage .galleryRow .layout .intro {
  margin-top: -32px;
  margin-top: -2rem; }
  .galleryPage .galleryRow .layout .intro h3 {
    color: #324051;
    text-align: center;
    margin-bottom: 8px;
    margin-bottom: 0.5rem;
    text-transform: uppercase; }
  .galleryPage .galleryRow .layout .intro p {
    font-weight: 300; }
  @media (min-width: 720px) {
    .galleryPage .galleryRow .layout .intro {
      max-width: 850px;
      margin: 2rem auto;
      margin-bottom: 4rem; }
      .galleryPage .galleryRow .layout .intro h3 {
        font-size: 2.4rem; } }

.galleryPage .galleryRow .layout .mediaVid {
  margin-bottom: 16px;
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  border-bottom: 1px solid #ececec; }
  @media (min-width: 720px) {
    .galleryPage .galleryRow .layout .mediaVid {
      grid-template-columns: 1fr 3fr;
      grid-template-rows: 1fr;
      grid-gap: 3vw;
      margin-bottom: 3rem;
      border-bottom: none; } }
  .galleryPage .galleryRow .layout .mediaVid .mediaSumm {
    grid-row: 2; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm h2 {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 150%;
      margin-bottom: 16px;
      margin-bottom: 1rem; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm h3 {
      font-size: 19.2px;
      font-size: 1.2rem;
      line-height: 140%;
      margin-bottom: 16px;
      margin-bottom: 1rem;
      border: none; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm h4 {
      font-size: 16px;
      font-size: 1rem;
      border: none; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm h5 {
      font-size: 14px;
      font-size: 0.875rem;
      text-transform: uppercase;
      letter-spacing: 0.5px; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm h6 {
      font-size: 14px;
      font-size: 0.875rem; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm p {
      font-weight: 300; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm ul {
      font-weight: 300;
      margin-bottom: 24px;
      margin-bottom: 1.5rem; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm a, .galleryPage .galleryRow .layout .mediaVid .mediaSumm a:link, .galleryPage .galleryRow .layout .mediaVid .mediaSumm a:visited {
      color: #973f3a; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm hgroup h2 {
      color: #324051;
      margin-bottom: 0;
      line-height: 140%; }
    .galleryPage .galleryRow .layout .mediaVid .mediaSumm hgroup h3 {
      color: #791a1c;
      font-size: 19.2px;
      font-size: 1.2rem;
      font-weight: 300;
      line-height: 120%; }
    @media (min-width: 720px) {
      .galleryPage .galleryRow .layout .mediaVid .mediaSumm {
        grid-row: 1 /span 1;
        grid-column: 1 /span 1; }
        .galleryPage .galleryRow .layout .mediaVid .mediaSumm hgroup {
          border-top: 1px solid #ececec;
          padding-top: 1rem;
          margin-bottom: 2rem; }
          .galleryPage .galleryRow .layout .mediaVid .mediaSumm hgroup h2 {
            line-height: 120%;
            margin-bottom: 0.5rem; }
        .galleryPage .galleryRow .layout .mediaVid .mediaSumm p {
          font-size: 1.1rem; } }
  .galleryPage .galleryRow .layout .mediaVid .theVideo {
    grid-row: 1;
    margin-bottom: 16px;
    margin-bottom: 1rem; }
    .galleryPage .galleryRow .layout .mediaVid .theVideo .videoHolder {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      overflow: hidden;
      max-width: 100%;
      height: auto; }
      .galleryPage .galleryRow .layout .mediaVid .theVideo .videoHolder iframe, .galleryPage .galleryRow .layout .mediaVid .theVideo .videoHolder object, .galleryPage .galleryRow .layout .mediaVid .theVideo .videoHolder embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    @media (min-width: 720px) {
      .galleryPage .galleryRow .layout .mediaVid .theVideo {
        grid-row: 1 / span 1;
        grid-column: 2 / span 1; } }

@media (min-width: 720px) {
  .affiliatePage .affiliateRow .affiliateLayout {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 2fr 4fr;
    grid-gap: 6vw; } }

.affiliatePage .affiliateRow .affiliateLayout .affLeft h4 {
  font-size: 19.2px;
  font-size: 1.2rem;
  line-height: 140%;
  border: none; }
  @media (min-width: 720px) {
    .affiliatePage .affiliateRow .affiliateLayout .affLeft h4 {
      line-height: 130%; } }

.affiliatePage .affiliateRow .affiliateLayout .affLeft p {
  font-weight: 300; }

.affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate {
  margin-bottom: 16px;
  margin-bottom: 1rem;
  border-top: 1px solid #ececec;
  padding-top: 16px;
  padding-top: 1rem; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail h2 {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 150%;
    margin-bottom: 16px;
    margin-bottom: 1rem; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail h3 {
    font-size: 19.2px;
    font-size: 1.2rem;
    line-height: 140%;
    margin-bottom: 16px;
    margin-bottom: 1rem;
    border: none; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail h4 {
    font-size: 16px;
    font-size: 1rem;
    border: none; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail h5 {
    font-size: 14px;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail h6 {
    font-size: 14px;
    font-size: 0.875rem; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail p {
    font-weight: 300; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail ul {
    font-weight: 300;
    margin-bottom: 24px;
    margin-bottom: 1.5rem; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail a, .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail a:link, .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail a:visited {
    color: #973f3a; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail h5 {
    border: none;
    font-size: 17.6px;
    font-size: 1.1rem;
    margin-bottom: 0;
    padding: 0;
    margin: 0;
    color: #324051; }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail a, .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail a:link, .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail a:visited {
    color: #791a1c; }
  @media (min-width: 720px) {
    .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate .affDetail {
      grid-column: 2 / span 1;
      grid-row: 1; } }
  .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate figure {
    display: none; }
    @media (min-width: 720px) {
      .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate figure {
        display: block;
        grid-column: 1 / span 1;
        grid-row: 1; }
        .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate figure img {
          width: 100%;
          height: auto;
          max-width: 338px; } }
  @media (min-width: 720px) {
    .affiliatePage .affiliateRow .affiliateLayout .affRight .affiliate {
      display: grid;
      grid-template-columns: 2fr 4fr;
      grid-row: 1fr;
      grid-gap: 3vw; } }

.shopPage .shopRow .shopIntro {
  background: #fbf9f3;
  width: 100%; }
  .shopPage .shopRow .shopIntro .layout {
    padding: 16px 6vw;
    padding: 1rem 6vw; }
    @media (min-width: 720px) {
      .shopPage .shopRow .shopIntro .layout {
        max-width: 1100px; } }
    .shopPage .shopRow .shopIntro .layout hgroup h2 {
      color: #324051;
      font-size: 28.8px;
      font-size: 1.8rem;
      line-height: 140%;
      text-align: center;
      margin-bottom: 12px;
      margin-bottom: 0.75rem; }
    .shopPage .shopRow .shopIntro .layout hgroup h3 {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 140%;
      color: #973f3a;
      text-align: center;
      font-weight: 500; }
    .shopPage .shopRow .shopIntro .layout .introShop h2 {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 150%;
      margin-bottom: 16px;
      margin-bottom: 1rem; }
    .shopPage .shopRow .shopIntro .layout .introShop h3 {
      font-size: 19.2px;
      font-size: 1.2rem;
      line-height: 140%;
      margin-bottom: 16px;
      margin-bottom: 1rem;
      border: none; }
    .shopPage .shopRow .shopIntro .layout .introShop h4 {
      font-size: 16px;
      font-size: 1rem;
      border: none; }
    .shopPage .shopRow .shopIntro .layout .introShop h5 {
      font-size: 14px;
      font-size: 0.875rem;
      text-transform: uppercase;
      letter-spacing: 0.5px; }
    .shopPage .shopRow .shopIntro .layout .introShop h6 {
      font-size: 14px;
      font-size: 0.875rem; }
    .shopPage .shopRow .shopIntro .layout .introShop p {
      font-weight: 300; }
    .shopPage .shopRow .shopIntro .layout .introShop ul {
      font-weight: 300;
      margin-bottom: 24px;
      margin-bottom: 1.5rem; }
    .shopPage .shopRow .shopIntro .layout .introShop a, .shopPage .shopRow .shopIntro .layout .introShop a:link, .shopPage .shopRow .shopIntro .layout .introShop a:visited {
      color: #973f3a; }
    @media (min-width: 720px) {
      .shopPage .shopRow .shopIntro .layout .introShop {
        -moz-column-count: 2;
             column-count: 2;
        -moz-column-gap: 3vw;
             column-gap: 3vw; }
        .shopPage .shopRow .shopIntro .layout .introShop p {
          line-height: 140%; } }

@media (min-width: 720px) {
  .shopPage .shopRow .shopSection {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 3vw; } }

.shopPage .shopRow .shopSection .shopItem {
  margin-bottom: 32px;
  margin-bottom: 2rem;
  border-bottom: 1px solid #ececec; }
  .shopPage .shopRow .shopSection .shopItem figure {
    width: 100%;
    margin-bottom: 10px; }
    .shopPage .shopRow .shopSection .shopItem figure img {
      width: 100%;
      height: auto;
      max-width: 800px; }
  .shopPage .shopRow .shopSection .shopItem h4 {
    font-size: 22.4px;
    font-size: 1.4rem;
    line-height: 140%;
    color: #324051;
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
    grid-gap: 1rem; }
    .shopPage .shopRow .shopSection .shopItem h4 span.shopprice {
      font-weight: 500; }
  .shopPage .shopRow .shopSection .shopItem .action {
    display: flex;
    justify-content: space-between;
    grid-gap: 1rem; }
    .shopPage .shopRow .shopSection .shopItem .action p {
      font-weight: 300; }
    .shopPage .shopRow .shopSection .shopItem .action a, .shopPage .shopRow .shopSection .shopItem .action a:link, .shopPage .shopRow .shopSection .shopItem .action a:visited {
      color: #973f3a; }
      .shopPage .shopRow .shopSection .shopItem .action a:hover, .shopPage .shopRow .shopSection .shopItem .action a:link:hover, .shopPage .shopRow .shopSection .shopItem .action a:visited:hover {
        color: #333333; }

.shopPage .shopRow .termsLink {
  text-align: center;
  margin-top: 32px;
  margin-top: 2rem;
  padding: 16px 0px;
  padding: 1rem 0px; }
  .shopPage .shopRow .termsLink a, .shopPage .shopRow .termsLink a:link, .shopPage .shopRow .termsLink a:visited {
    display: inline-block;
    padding: 8px 16px;
    padding: 0.5rem 1rem;
    background: white;
    border: 1px solid #000000;
    border-radius: 20px;
    color: #973f3a; }
    .shopPage .shopRow .termsLink a:hover, .shopPage .shopRow .termsLink a:link:hover, .shopPage .shopRow .termsLink a:visited:hover {
      color: #333333; }

.shopPage .shopRow .teeSpring {
  width: 100%;
  display: relative; }
  .shopPage .shopRow .teeSpring iframe {
    width: 100%;
    min-height: 460px; }
    @media (min-width: 720px) {
      .shopPage .shopRow .teeSpring iframe {
        min-height: 640px; } }

@media (min-width: 720px) {
  .shopPage .shopRow .contentSection {
    display: grid;
    grid-template-columns: 3fr 4fr;
    grid-template-rows: auto 1fr;
    grid-gap: 0 3vw; } }

.shopPage .shopRow .contentSection hgroup h2 {
  color: #324051;
  font-size: 28.8px;
  font-size: 1.8rem;
  line-height: 140%;
  text-align: center;
  margin-bottom: 12px;
  margin-bottom: 0.75rem; }

.shopPage .shopRow .contentSection hgroup h3 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 140%;
  color: #973f3a;
  text-align: center;
  font-weight: 500; }

@media (min-width: 720px) {
  .shopPage .shopRow .contentSection hgroup {
    grid-row: 1 / span 1;
    grid-column: 2 /span 1; }
    .shopPage .shopRow .contentSection hgroup h2 {
      text-align: start;
      margin-bottom: 0;
      line-height: 130%; }
    .shopPage .shopRow .contentSection hgroup h3 {
      text-align: start; } }

.shopPage .shopRow .contentSection .detailImg {
  margin-bottom: 30px; }
  .shopPage .shopRow .contentSection .detailImg figure {
    width: 100%;
    margin-bottom: 20px; }
    .shopPage .shopRow .contentSection .detailImg figure img {
      width: 100%;
      height: auto;
      max-width: 800px; }
  .shopPage .shopRow .contentSection .detailImg p.buy a, .shopPage .shopRow .contentSection .detailImg p.buy a:link, .shopPage .shopRow .contentSection .detailImg p.buy a:visited {
    display: inline-block;
    min-width: 100px;
    text-align: center;
    font-weight: 700;
    letter-spacing: 1px;
    background: #324051;
    color: white;
    text-transform: uppercase;
    font-size: 14px;
    font-size: 0.875rem;
    padding: 8px 16px;
    padding: 0.5rem 1rem;
    border-radius: 25px; }
    .shopPage .shopRow .contentSection .detailImg p.buy a:hover, .shopPage .shopRow .contentSection .detailImg p.buy a:link:hover, .shopPage .shopRow .contentSection .detailImg p.buy a:visited:hover {
      background: #791a1c; }
  @media (min-width: 720px) {
    .shopPage .shopRow .contentSection .detailImg {
      grid-row: 1 / span 2;
      grid-column: 1 /span 1; } }

.shopPage .shopRow .contentSection .detailMain .shopVid {
  width: 100%;
  margin-bottom: 20px; }
  .shopPage .shopRow .contentSection .detailMain .shopVid .videoHolder {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    height: auto; }
    .shopPage .shopRow .contentSection .detailMain .shopVid .videoHolder iframe, .shopPage .shopRow .contentSection .detailMain .shopVid .videoHolder object, .shopPage .shopRow .contentSection .detailMain .shopVid .videoHolder embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

.shopPage .shopRow .contentSection .detailMain h2 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 150%;
  margin-bottom: 16px;
  margin-bottom: 1rem; }

.shopPage .shopRow .contentSection .detailMain h3 {
  font-size: 19.2px;
  font-size: 1.2rem;
  line-height: 140%;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  border: none; }

.shopPage .shopRow .contentSection .detailMain h4 {
  font-size: 16px;
  font-size: 1rem;
  border: none; }

.shopPage .shopRow .contentSection .detailMain h5 {
  font-size: 14px;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px; }

.shopPage .shopRow .contentSection .detailMain h6 {
  font-size: 14px;
  font-size: 0.875rem; }

.shopPage .shopRow .contentSection .detailMain p {
  font-weight: 300; }

.shopPage .shopRow .contentSection .detailMain ul {
  font-weight: 300;
  margin-bottom: 24px;
  margin-bottom: 1.5rem; }

.shopPage .shopRow .contentSection .detailMain a, .shopPage .shopRow .contentSection .detailMain a:link, .shopPage .shopRow .contentSection .detailMain a:visited {
  color: #973f3a; }

.shopPage .shopRow .contentSection .detailMain h4 {
  font-size: 22.4px;
  font-size: 1.4rem;
  line-height: 130%; }

@media (min-width: 720px) {
  .shopPage .shopRow .contentSection .detailMain {
    grid-column: 2 / span 1;
    grid-row: 2 / span 1; } }

.footerHolder {
  background: #000000;
  color: white; }
  .footerHolder footer {
    padding: 40px; }
    .footerHolder footer .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      grid-gap: 20px; }
      .footerHolder footer .container a, .footerHolder footer .container a:link, .footerHolder footer .container a:visited {
        color: white; }
        .footerHolder footer .container a:hover, .footerHolder footer .container a:link:hover, .footerHolder footer .container a:visited:hover {
          color: #fff1b4; }
      .footerHolder footer .container .footerMenu01 {
        position: relative;
        padding-top: 13.3333333333px; }
        .footerHolder footer .container .footerMenu01:after {
          content: "";
          background: white;
          position: absolute;
          top: 0;
          left: 0;
          height: 3px;
          width: 25%; }
      .footerHolder footer .container .footerMenu02 {
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        position: relative;
        padding-top: 13.3333333333px; }
        .footerHolder footer .container .footerMenu02:after {
          content: "";
          background: white;
          position: absolute;
          top: 0;
          left: 0;
          height: 3px;
          width: 25%; }
      .footerHolder footer .container .footerMenu03 {
        position: relative;
        padding-top: 13.3333333333px; }
        .footerHolder footer .container .footerMenu03:after {
          content: "";
          background: white;
          position: absolute;
          top: 0;
          left: 0;
          height: 3px;
          width: 25%; }
        .footerHolder footer .container .footerMenu03 ul li.indentLink span {
          margin-right: 9.0909090909px;
          margin-left: -24px; }
      .footerHolder footer .container .footerMenu04 {
        position: relative;
        padding-top: 13.3333333333px; }
        .footerHolder footer .container .footerMenu04:after {
          content: "";
          background: white;
          position: absolute;
          top: 0;
          left: 0;
          height: 3px;
          width: 25%; }
        .footerHolder footer .container .footerMenu04 ul {
          display: flex;
          justify-content: flex-start;
          font-size: 32px;
          font-size: 2rem;
          gap: 20px; }
      @media (min-width: 720px) {
        .footerHolder footer .container {
          grid-template-columns: 1fr 1fr 1fr 1fr;
          grid-template-rows: 1fr;
          grid-gap: 4vw; }
          .footerHolder footer .container .footerMenu01 {
            position: relative;
            padding-top: 13.3333333333px; }
            .footerHolder footer .container .footerMenu01:after {
              content: "";
              background: white;
              position: absolute;
              top: 0;
              left: 0;
              height: 3px;
              width: 80%; }
          .footerHolder footer .container .footerMenu02 {
            grid-column: 2 / span 1;
            grid-row: 1;
            position: relative;
            padding-top: 13.3333333333px; }
            .footerHolder footer .container .footerMenu02:after {
              content: "";
              background: white;
              position: absolute;
              top: 0;
              left: 0;
              height: 3px;
              width: 80%; }
          .footerHolder footer .container .footerMenu03 {
            grid-column: 3 / span 1;
            position: relative;
            padding-top: 13.3333333333px; }
            .footerHolder footer .container .footerMenu03:after {
              content: "";
              background: white;
              position: absolute;
              top: 0;
              left: 0;
              height: 3px;
              width: 80%; }
          .footerHolder footer .container .footerMenu04 {
            grid-column: 4 / span 1;
            position: relative;
            padding-top: 13.3333333333px; }
            .footerHolder footer .container .footerMenu04:after {
              content: "";
              background: white;
              position: absolute;
              top: 0;
              left: 0;
              height: 3px;
              width: 80%; }
            .footerHolder footer .container .footerMenu04 ul {
              grid-gap: 24px;
              font-size: 2.4rem; } }