/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*******************
BREAKPOINTS
*******************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Typography

Need to import a font or set of icons for your site? Drop them in
here or just use this to establish your typographical grid. Or not.
Do whatever you want to...GOSH!

Helpful Articles:
http://trentwalton.com/2012/06/19/fluid-type/
http://ia.net/blog/responsive-typography-the-basics/
http://alistapart.com/column/responsive-typography-is-a-physical-discipline

******************************************************************/
/*********************
FONT FACE (IN YOUR FACE)
*********************/
/*  To embed your own fonts, use this syntax
  and place your fonts inside the
  library/fonts folder. For more information
  on embedding fonts, go to:
  http://www.fontsquirrel.com/
  Be sure to remove the comment brackets.
*/
@font-face {
  font-family: "product_sansregular";
  src: url("../fonts/product_sans_regular-webfont.woff2") format("woff2"), url("../fonts/product_sans_regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "product_sans_lightregular";
  src: url("../fonts/product_sans_light-webfont.woff2") format("woff2"), url("../fonts/product_sans_light-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/*  @font-face {
    font-family: 'Font Name';
    src: url('library/fonts/font-name.eot');
    src: url('library/fonts/font-name.eot?#iefix') format('embedded-opentype'),
           url('library/fonts/font-name.woff') format('woff'),
           url('library/fonts/font-name.ttf') format('truetype'),
           url('library/fonts/font-name.svg#font-name') format('svg');
    font-weight: normal;
    font-style: normal;
}
*/
/*
The following is based of Typebase:
https://github.com/devinhunt/typebase.css
I've edited it a bit, but it's a nice starting point.
*/
.nova-regular {
  font-family: "proxima-nova", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.nova-italic {
  font-family: "proxima-nova", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.nova-medium, .section-testimonial .text-col h2 {
  font-family: "proxima-nova", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.nova-bold {
  font-family: "proxima-nova", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.bookmania-regular {
  font-family: "bookmania", serif;
  font-weight: 400;
  font-style: normal;
}

.bookmania-bold {
  font-family: "bookmania", serif;
  font-weight: 700;
  font-style: normal;
}

.bookmania-italic {
  font-family: "bookmania", serif;
  font-weight: 400;
  font-style: italic;
}

:root {
  font-size: 20px;
}

/***********************
// Typoagraphy Global Styles
**********************/
body {
  font-family: proxima-nova, Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 400;
  color: #3d3d3d;
  letter-spacing: 0;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  word-break: break-word;
}

h1 {
  font-family: bookmania, Cambria, Times New Roman, Times, serif;
  font-size: 38px;
  font-weight: 700;
}

h2, h3, h4, h5, h6 {
  font-family: proxima-nova, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

h2 {
  font-size: 31px;
}

h3 {
  font-size: 27px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 20px;
  color: #642970;
}

h6 {
  font-size: 16px;
}

h1,
h2,
h3 {
  margin: 24px 0;
}

h4,
h5 {
  margin: 12px 0;
}

p {
  font-size: 20px;
  line-height: 1.4;
  -webkit-hyphens: none;
      -ms-hyphens: none;
          hyphens: none;
  margin-bottom: 0.66667rem;
}

p.large {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 500;
}

button, .button, .reverse, .g-btn, input[type=submit], input[type=reset], input[type=button] {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 400;
}

a:not(.button):not(.reverse):not(.g-btn), .link, .link--cta {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 400;
  color: #000000;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
a:not(.button):not(.reverse):not(.g-btn):hover, a:not(.button):not(.reverse):not(.g-btn):visited, .link:hover, .link:visited, .link--cta:hover, .link--cta:visited {
  color: #642970;
}
.primary-menu a:not(.button):not(.reverse):not(.g-btn), .primary-menu .link, .primary-menu .link--cta {
  font-size: 16px;
}

li, label {
  font-size: 20px;
  margin-bottom: 0.66667rem;
}

.text-strong, strong, b {
  font-weight: 700 !important;
}

/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: none;
  -ms-hyphens: none;
      hyphens: none;
  -webkit-font-feature-settings: "liga", "dlig";
  -ms-font-feature-settings: "liga", "dlig";
  -o-font-feature-settings: "liga", "dlig";
  font-feature-settings: "liga", "dlig";
}

@media (min-width: 876px) {
  h1 {
    font-size: 47px;
  }
  h2 {
    font-size: 35px;
  }
  h3 {
    font-size: 30px;
  }
}
@media screen and (min-width: 1680px) {
  h1 {
    font-size: 55px;
  }
}
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
Backgrounds
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include backgroundsize(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/*********************
CSS3 TRANSITIONS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* Accesibility */
.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Global Styles */
html, body {
  overflow-x: hidden;
}

.full-width {
  width: 100%;
}

.sj-subtitle {
  font-size: 14px;
  color: #f50057;
  margin-bottom: 15px;
}

.bg-light {
  background: #fff;
}

.bg-dark {
  background: #000000;
}

.border-radius {
  border-radius: 4px;
}

.box-shadow {
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
}

.has-top-line:before {
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background: #642970;
  margin-bottom: 29px;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
}
img.full-width-img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

.sj-max-width {
  max-width: 1392px;
  margin: 0 auto;
}

.section-padding {
  padding: 50px 30px;
}

.clear {
  clear: both;
}

.bg-center {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 50px;
}

strong, b {
  font-weight: 500;
}

em, i {
  font-style: italic;
}

.list-style-none {
  list-style: none;
}

.img-placeholder {
  background: #f8f9fa;
}
.img-placeholder img {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}

@media (min-width: 768px) {
  .section-padding {
    padding: 50px 30px;
  }
}
.link-arrow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.p-relative {
  position: relative;
}

.title-underline {
  position: relative;
  margin-bottom: 50px;
}
.title-underline:before {
  display: block;
  content: "";
  position: absolute;
  bottom: -15px;
  width: 50px;
  background: #642970;
  height: 5px;
}

.text-lightgrey {
  color: #7c7c7c;
}

.sj-slider-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  scroll-behavior: smooth;
  width: 250px;
}
.sj-slider-wrapper #slider-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sj-slider-wrapper .card.active {
  width: 250px;
}

@media screen and (min-width: 576px) {
  .sj-slider-wrapper,
  .sj-slider-wrapper .card.active {
    width: 450px;
  }
}
@media screen and (min-width: 768px) {
  .sj-slider-wrapper,
  .sj-slider-wrapper .card.active {
    width: 650px;
  }
}
@media screen and (min-width: 876px) {
  .sj-slider-wrapper,
  .sj-slider-wrapper .card.active {
    width: 750px;
  }
}
@media screen and (min-width: 992px) {
  .sj-slider-wrapper,
  .sj-slider-wrapper .card.active {
    width: 850px;
  }
}
@media screen and (min-width: 1024px) {
  .sj-slider-wrapper #slider-container {
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
  }
}
@media screen and (min-width: 1200px) {
  .sj-slider-wrapper,
  .sj-slider-wrapper .card.active {
    width: 1050px;
  }
}
@media screen and (min-width: 1392px) {
  .sj-slider-wrapper,
  .sj-slider-wrapper .card.active {
    width: 1200px;
  }
}
@media screen and (min-width: 1680px) {
  .sj-slider-wrapper,
  .sj-slider-wrapper .card.active {
    width: 1300px;
  }
}
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
.taxonomy-filter-wrapper {
  margin-bottom: 50px;
}
.taxonomy-filter-wrapper li {
  text-transform: uppercase;
  border-bottom: 1px solid #7c7c7c;
  margin-bottom: 0;
}
.taxonomy-filter-wrapper li.active {
  border-bottom: 1.5px solid #642970;
}
.taxonomy-filter-wrapper li .filter_term:not(.button):not(.reverse):not(.g-btn):not(.reverse):not(.g-btn) {
  display: inline-block;
  color: #7c7c7c;
  padding: 5px;
  position: relative;
}
.taxonomy-filter-wrapper li .filter_term:not(.button):not(.reverse):not(.g-btn):not(.reverse):not(.g-btn).active {
  color: #642970;
}

#loadMore {
  margin-top: 50px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .taxonomy-filter-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    border-bottom: 1px solid #7c7c7c;
  }
  .taxonomy-filter-wrapper li {
    border-bottom: none;
    padding-right: 15px;
  }
  .taxonomy-filter-wrapper li:last-of-type {
    padding-right: 0;
  }
  #loadMore {
    margin-top: 100px;
  }
}
.ajax_loader {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 4;
  background: white;
}
.ajax_loader.loading {
  display: none;
}
.ajax_loader .advancedFilterLoader {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.sp {
  margin: 20px auto;
}

.sp-3balls {
  position: relative;
  opacity: 1;
  -webkit-animation: spScaleAlpha 1s infinite linear;
  animation: spScaleAlpha 1s infinite linear;
}
.sp-3balls, .sp-3balls:before, .sp-3balls:after {
  border-radius: 50%;
  background-color: #642970;
  width: 18px;
  height: 18px;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  display: inline-block;
}
.sp-3balls:before, .sp-3balls:after {
  content: "";
  position: relative;
  opacity: 0.25;
}
.sp-3balls:before {
  left: 30px;
  top: 0px;
  -webkit-animation: spScaleAlphaBefore 1s infinite linear;
  animation: spScaleAlphaBefore 1s infinite linear;
}
.sp-3balls:after {
  left: -30px;
  top: -23px;
  -webkit-animation: spScaleAlphaAfter 1s infinite linear;
  animation: spScaleAlphaAfter 1s infinite linear;
}

@-webkit-keyframes spScaleAlpha {
  0% {
    opacity: 1;
  }
  33% {
    opacity: 0.25;
  }
  66% {
    opacity: 0.25;
  }
  100% {
    opacity: 1;
  }
}
@keyframes spScaleAlpha {
  0% {
    opacity: 1;
  }
  33% {
    opacity: 0.25;
  }
  66% {
    opacity: 0.25;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes spScaleAlphaBefore {
  0% {
    opacity: 0.25;
  }
  33% {
    opacity: 1;
  }
  66% {
    opacity: 0.25;
  }
}
@keyframes spScaleAlphaBefore {
  0% {
    opacity: 0.25;
  }
  33% {
    opacity: 1;
  }
  66% {
    opacity: 0.25;
  }
}
@-webkit-keyframes spScaleAlphaAfter {
  33% {
    opacity: 0.25;
  }
  66% {
    opacity: 1;
  }
  100% {
    opacity: 0.25;
  }
}
@keyframes spScaleAlphaAfter {
  33% {
    opacity: 0.25;
  }
  66% {
    opacity: 1;
  }
  100% {
    opacity: 0.25;
  }
}
.button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  margin-top: 24px;
}
.button-wrapper.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.button-wrapper .button, .button-wrapper .reverse, .button-wrapper .g-btn {
  margin-bottom: 15px;
}
.button-wrapper .button:last-of-type, .button-wrapper .reverse:last-of-type, .button-wrapper .g-btn:last-of-type {
  margin-bottom: 0;
}

.button, .reverse, .g-btn {
  display: inline-block;
  font-weight: 600;
  font-size: 14px;
  position: relative;
  background-color: transparent;
  color: #fff;
  padding: 0.5em;
  border: 0;
  text-transform: uppercase;
  -webkit-transition: background-color 0.25s ease-in-out;
  transition: background-color 0.25s ease-in-out;
}
.button:hover, .reverse:hover, .g-btn:hover {
  color: #fff;
  background-color: #642970;
  border-color: #642970;
}

.g-btn {
  border: 1px solid #fff;
  font-size: 0.85rem;
}
.g-btn:hover, .g-btn:focus {
  border-color: #642970;
  background-color: #642970;
  color: #fff;
}
.g-btn.reverse {
  color: #fff;
  background-color: #642970;
  border-color: #642970;
}

.reverse {
  color: #000000;
  background-color: #fff;
  border: 1px solid #000000;
}

@media (min-width: 576px) {
  .button-wrapper .button, .button-wrapper .g-btn, .button-wrapper .reverse {
    margin-bottom: 0;
  }
}
.card-img {
  height: 250px;
  margin-top: 15px;
}

.media-col {
  min-height: 250px;
  height: 100%;
}

.half-width-wrapper iframe {
  height: 100%;
}

@media (min-width: 576px) {
  .card-img {
    height: 350px;
  }
  .media-col {
    min-height: 450px;
  }
}
@media (min-width: 768px) {
  .card-img {
    height: 300px;
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
  .card-text {
    max-width: calc(50% - 35px);
    -ms-flex-preferred-size: calc(50% - 35px);
        flex-basis: calc(50% - 35px);
    margin-left: 35px;
  }
}
@media (min-width: 1024px) {
  .media-col {
    min-height: 400px;
  }
}
@media (min-width: 1200px) {
  .card-img {
    height: 250px;
    max-width: 100%;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .card-text {
    margin-left: 0;
    max-width: 100%;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
/* Ad Block */
.bnr-wrapper {
  margin: 0 auto;
  padding: 35px;
  background: #f8f9fa;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.bnr-wrapper h2 {
  margin-top: 0;
}

.cta-block-wrapper {
  text-align: center;
}
@media screen and (min-width: 1392px) {
  .cta-block-wrapper {
    width: 85%;
  }
}

/* Testimonials */
.section-testimonial {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-testimonial .slider-arrow {
  cursor: pointer;
}
.section-testimonial #prev {
  margin-right: 15px;
}
.section-testimonial #next {
  margin-left: 15px;
}
.section-testimonial .text-col {
  padding: 0 15px 15px;
}
.section-testimonial .text-col img {
  width: 35px;
}
.section-testimonial .text-col h2 {
  margin-top: 12px;
  line-height: 1.2;
  font-weight: 500;
  font-style: italic;
}

@media (min-width: 1024px) {
  .section-testimonial .text-col {
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding: 0;
  }
  .section-testimonial .text-col img {
    margin-top: 12px;
  }
}
/* Accordion */
.section-accordion.fill .listing-item {
  background: #f5f5f5;
  margin-bottom: 15px;
}
.section-accordion.fill .listing-item:last-of-type {
  margin-bottom: 0;
}

.lists-wrapper > .listing-item {
  border-bottom: 1px solid #7c7c7c;
  padding: 30px;
}
.lists-wrapper > .listing-item:first-of-type {
  border-top: 1px solid #7c7c7c;
}
.lists-wrapper .listing-item .listing-title.open {
  color: #642970;
  font-weight: 600;
}
.lists-wrapper .listing-item .listing-title.open i {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
  -webkit-transition: all 250ms ease-in;
  transition: all 250ms ease-in;
}
.lists-wrapper .listing-item .accordion-content {
  display: none;
  margin-top: 25px;
}
.lists-wrapper .listing-item .accordion-content.open {
  display: block;
}

.title-arrow {
  position: relative;
}
.title-arrow .listing-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: #000000;
  margin: 0;
  cursor: pointer;
}
.title-arrow .listing-title span {
  width: calc(100% - 30px);
}
.title-arrow .listing-title i {
  font-size: 14px;
  position: absolute;
  top: 35px;
  right: 30px;
  -webkit-transition: all 250ms ease-in;
  transition: all 250ms ease-in;
}

@media (min-width: 576px) {
  .title-arrow .listing-title {
    margin: 0 30px 0 0;
  }
  .title-arrow i {
    right: 9px;
  }
}
/* cards */
.sj-card {
  padding: 15px;
}
.sj-card .sj-card-link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.sj-card img {
  width: 35px;
  height: auto;
}
.sj-card p {
  margin: 0;
}

.sj-card {
  position: relative;
  -webkit-transition: -webkit-box-shadow 0.25s ease-in;
  transition: -webkit-box-shadow 0.25s ease-in;
  transition: box-shadow 0.25s ease-in;
  transition: box-shadow 0.25s ease-in, -webkit-box-shadow 0.25s ease-in;
}
.sj-card:hover {
  -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
          box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.lists-wrapper.center .sj-card {
  text-align: center;
}
.lists-wrapper.link-arrow .sj-card:after {
  display: block;
  background: url(../images/icons/link-arrow.svg);
  content: "";
  width: 170px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left;
  margin-top: 15px;
  margin-bottom: 5px;
  -webkit-transition: margin-left 0.2s ease-in-out;
  transition: margin-left 0.2s ease-in-out;
}
.lists-wrapper.link-arrow .sj-card:hover:after {
  margin-left: 10px;
}
.lists-wrapper.icon-md .sj-card img {
  width: 70px;
}
.lists-wrapper.icon-absolute .sj-card h4 {
  margin-top: 20px;
}
.lists-wrapper.icon-absolute .sj-card img {
  position: absolute;
  top: -15%;
}
.lists-wrapper.icon-absolute.icon-md .sj-card {
  margin: 35px 0;
}
.lists-wrapper.icon-absolute.icon-md .sj-card h4 {
  margin-top: 35px;
}
.lists-wrapper.icon-absolute.icon-md .sj-card img {
  top: -30%;
}

/* Logo and Sponsors */
.section-sponsors ul {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
.section-sponsors ul li {
  text-align: center;
}

@media (min-width: 576px) {
  .section-sponsors ul li {
    max-width: calc(50% - 8px);
    -ms-flex-preferred-size: calc(50% - 8px);
        flex-basis: calc(50% - 8px);
  }
}
@media (min-width: 576px) {
  .section-sponsors ul li {
    max-width: calc(33.33% - 10px);
    -ms-flex-preferred-size: calc(33.33% - 10px);
        flex-basis: calc(33.33% - 10px);
  }
}
@media (min-width: 992px) {
  .section-sponsors ul li {
    max-width: calc(20% - 20px);
    -ms-flex-preferred-size: calc(20% - 20px);
        flex-basis: calc(20% - 20px);
  }
}
/* Banner */
.section-banner {
  height: 400px;
  text-align: center;
  width: 100vw;
  margin: 0 0 0 calc(50% - 50vw);
  background-attachment: fixed;
}

.section-banner.narrow {
  min-height: unset;
  height: 200px;
}

@media (min-width: 576px) {
  .section-banner {
    height: 450px;
  }
}
@media (min-width: 768px) {
  .section-banner {
    height: 500px;
  }
}
@media (min-width: 1200px) {
  .section-banner {
    min-height: 800px;
  }
}
/* Listing */
.section-listing .display-grid {
  gap: 0;
}
.section-listing .title-arrow {
  border-bottom: 1px solid #000000;
}
.section-listing .title-arrow:first-of-type {
  border-top: 1px solid #000000;
}
.section-listing .title-arrow .listing-title {
  display: block;
  padding: 15px;
}
.section-listing .title-arrow .listing-title i {
  font-size: 14px;
  top: 20px;
  -webkit-transition: right 0.2s ease-in-out;
  transition: right 0.2s ease-in-out;
}
.section-listing .title-arrow .listing-title:hover i {
  right: 25px;
}

@media (min-width: 992px) {
  .section-listing .lists-wrapper.two {
    -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
            column-gap: 30px;
  }
  .section-listing .lists-wrapper.two .title-arrow:nth-of-type(2) {
    border-top: 1px solid #000000;
  }
}
/* Section One Third - VST */
.tile-card .tile-card-link:hover + .card-img:after {
  background: rgba(0, 0, 0, 0.45);
}
.tile-card .card-img {
  overflow: hidden;
  width: 100%;
  -webkit-transition: -webkit-transform 0.25s ease-in-out;
  transition: -webkit-transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
  position: relative;
}
.tile-card .card-img:after {
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: background 0.25s ease-in-out;
  transition: background 0.25s ease-in-out;
}
.tile-card .card-img:hover:after {
  background: rgba(0, 0, 0, 0.45);
}

/* Full Width video */
.section-full-width-video iframe {
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 8/4;
}

/* CPT blocks - resources, FAQs */
.ajax-filters {
  position: relative;
}

/* Bio Block - VST */
.section-bio hr {
    margin-top: -25px !important;
    margin-bottom: 25px !important;
}

.section-bio .bio-wrapper .bio-image {
  width: 300px;
  height: 300px;
  min-height: unset;
  background-size: cover;
  border-radius: 100%;
  justify-self: center;
}

.section-bio .bio-wrapper .bio-content {
  align-self: center;
}

.section-bio .bio-wrapper .bio-content p {
  font-size: 0.9rem;
}

#footer p {
  font-size: 16px;
}
#footer .lower-footer {
  float: left;
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
#footer .lower-footer a {
  color: #642970;
  font-size: 16px;
  text-decoration: underline;
}
#footer.bg-dark {
  color: #fff;
}
#footer.bg-dark ul.footer-menu > li {
  text-transform: uppercase;
}
#footer.bg-dark ul.footer-menu > li a:not(.button):not(.g-btn):not(.reverse):not(.g-btn):not(.reverse):not(.reverse):not(.g-btn) {
  font-weight: 400;
}
#footer.bg-dark ul.footer-menu li.icon-menu a:before {
  font-size: 1rem;
}
#footer.bg-dark .lower-footer a {
  color: #fff;
}

/* Footer Menu Added in Admin Side */
ul.footer-menu > li {
  float: left;
  width: 100%;
}
ul.footer-menu > li a:not(.button):not(.g-btn):not(.reverse):not(.reverse):not(.g-btn) {
  display: inline-block;
  font-weight: 700;
  padding: 0.75rem;
  font-size: 16px;
  color: #000000;
}
.bg-dark ul.footer-menu > li a:not(.button):not(.g-btn):not(.reverse):not(.reverse):not(.g-btn) {
  color: #fff;
}
ul.footer-menu > li .sub-menu {
  padding-left: 1.25rem;
  border-left: 1px solid #757575;
  margin: 1em 0;
}
.bg-dark ul.footer-menu > li .sub-menu {
  border-left: 1px solid #fff;
}
ul.footer-menu > li .sub-menu li a:not(.button):not(.g-btn):not(.reverse):not(.reverse):not(.g-btn) {
  font-weight: 400;
  padding: 0.2rem 0;
}
ul.footer-menu li.icon-menu {
  width: auto;
}
ul.footer-menu li.icon-menu a span {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
ul.footer-menu li.icon-menu a:before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 400;
  content: "\f0c1";
  font-size: 1.25rem;
  background: none;
  -webkit-transform: none;
          transform: none;
  width: 100%;
  height: 100%;
  text-align: center;
  margin: 0;
}
ul.footer-menu li.icon-menu.facebook-f a:before {
  font-family: "Font Awesome 5 Brands";
  content: "\f39e";
}
ul.footer-menu li.icon-menu.instagram a:before {
  font-family: "Font Awesome 5 Brands";
  content: "\f16d";
}
ul.footer-menu li.icon-menu.youtube a:before {
  font-family: "Font Awesome 5 Brands";
  content: "\f167";
}

.footer-text-wrapper img {
  margin-bottom: 20px;
}

@media (min-width: 576px) {
  .lower-footer {
    text-align: center;
  }
}
@media (min-width: 768px) {
  ul.footer-menu > li {
    width: 25%;
  }
  #footer.bg-dark ul.footer-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #footer.bg-dark ul.footer-menu > li {
    width: 33.333%;
  }
  #footer.bg-dark ul.footer-menu > li.icon-menu {
    width: auto;
  }
}
@media (min-width: 1200px) {
  #footer.bg-dark .footer-text-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 75px;
       -moz-column-gap: 75px;
            column-gap: 75px;
  }
}
input, textarea {
  font-family: proxima-nova, Helvetica, Arial, sans-serif;
}

.gform_wrapper {
  max-width: 900px;
  margin: 0 auto;
}
.gform_wrapper input,
.gform_wrapper textarea {
  border-radius: 0 !important;
}
.gform_wrapper .gform_title {
  text-align: center;
}
.gform_wrapper.gform-theme .gform_footer input[type=submit].gform_button {
  background: #642970 !important;
}

/* Flex, Grid */
.display-grid {
  display: grid;
  gap: 30px;
}

@media (min-width: 1024px) {
  .grid-half {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
  .grid-half .media-col.right {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.grid-two-thirds.left .media-col {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.grid-two-thirds .media-col {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media (min-width: 1200px) {
  .grid-two-thirds {
    grid-template-columns: 2fr 1fr;
  }
  .grid-two-thirds.left {
    grid-template-columns: 1fr 2fr;
  }
  .grid-two-thirds .media-col {
    height: auto;
  }
}

.grid-one-third {
  gap: 40px;
}
@media (min-width: 1200px) {
  .grid-one-third {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.display-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.lists-wrapper.square .list-thumb {
  width: 100%;
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}
.lists-wrapper.square .list-thumb a {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media (min-width: 576px) {
  .lists-wrapper {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .lists-wrapper.four {
    grid-template-columns: repeat(4, 1fr);
  }
}
html.active {
  overflow-y: hidden;
}

#header {
  position: fixed;
  background-color: #fff;
  width: 100vw;
  z-index: 99;
}
#header.active {
  -webkit-box-shadow: 0 3px 4px rgba(126, 124, 124, 0.16), 0 2px 4px rgba(0, 0, 0, 0.23);
          box-shadow: 0 3px 4px rgba(126, 124, 124, 0.16), 0 2px 4px rgba(0, 0, 0, 0.23);
}
#header nav {
  position: relative;
  height: 80px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header nav #header_logo {
  height: 60px;
  padding: 0 10px;
}
#header nav #burgerTrigger {
  position: absolute;
  top: 32px;
  right: 30px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  background: transparent;
  border: none;
}
#header nav #burgerTrigger .burger-inner {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 3px;
  background-color: #642970;
  -webkit-transition: all 200ms ease-in;
  transition: all 200ms ease-in;
}
#header nav #burgerTrigger .burger-inner:after, #header nav #burgerTrigger .burger-inner:before {
  display: block;
  content: "";
  background-color: #642970;
  position: absolute;
  width: 100%;
  height: 3px;
  border-radius: 4px;
  -webkit-transition: all 200ms ease-in;
  transition: all 200ms ease-in;
}
#header nav #burgerTrigger .burger-inner:after {
  top: 7px;
}
#header nav #burgerTrigger .burger-inner:before {
  bottom: 7px;
}
#header nav #burgerTrigger.active .burger-inner {
  background: transparent;
}
#header nav #burgerTrigger.active .burger-inner:after {
  top: -3px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
#header nav #burgerTrigger.active .burger-inner:before {
  bottom: 3px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

header.admin_bar .primary-menu {
  top: 112px;
  height: calc(100% - 112px);
}

.primary-menu {
  top: 113px;
  max-width: 450px;
  left: -100%;
  width: 100%;
  color: #fff;
  height: calc(100% - 66px);
  background-color: #000000;
  padding: 5%;
  position: fixed;
  z-index: 9997;
  overflow-y: auto;
  -webkit-transform: translate3d(0, 0, 205px);
          transform: translate3d(0, 0, 205px);
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
  box-sizing: border-box;
}
.primary-menu.active {
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
.primary-menu li {
  font-weight: 600;
  -webkit-transition: background 0.25s ease-in;
  transition: background 0.25s ease-in;
  position: relative;
}
.primary-menu li a {
  display: inline-block;
  color: #fff;
  text-transform: uppercase;
  padding: 20px;
  -webkit-transition: color 0.25s ease-in;
  transition: color 0.25s ease-in;
}
.primary-menu li a:not(.button):not(.g-btn):not(.reverse):not(.reverse):not(.g-btn) {
  color: #fff;
}
.primary-menu li i {
  display: none;
}
.primary-menu li.menu-item-has-children i {
  display: inline-block;
  font-size: 18px;
  color: #fff;
  cursor: pointer;
  position: absolute;
  top: 24px;
  right: 20px;
  -webkit-transition: -webkit-transform 0.15s ease-in;
  transition: -webkit-transform 0.15s ease-in;
  transition: transform 0.15s ease-in;
  transition: transform 0.15s ease-in, -webkit-transform 0.15s ease-in;
}
.primary-menu li.menu-item-has-children i.open {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.primary-menu li .sub-menu {
  display: none;
}
.primary-menu li .sub-menu li {
  margin: 0;
}
.primary-menu li .sub-menu li a {
  margin-left: 15px;
}
.primary-menu li .sub-menu li i {
  display: none;
}
.primary-menu > li {
  border-bottom: 1px solid #fff;
}
.primary-menu > li:first-of-type {
  border-top: 1px solid #fff;
}

@media (min-width: 1200px) {
  #burgerTrigger {
    display: none;
  }
  .page-template-template-field_home #header {
    background-color: transparent;
  }
  .page-template-template-field_home #header.active {
    background-color: #fff;
  }
  #header nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #header nav #header_logo {
    height: auto;
  }
  #header nav .logo-burger-wrapper {
    max-width: 200px;
    -ms-flex-preferred-size: 200px;
        flex-basis: 200px;
  }
  #header nav .primary-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: calc(100% - 200px);
    -ms-flex-preferred-size: calc(100% - 200px);
        flex-basis: calc(100% - 200px);
    position: initial;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: none;
    overflow: unset;
    padding: 0;
  }
  #header nav .primary-menu > li:after {
    content: none;
  }
  #header nav .primary-menu li {
    font-weight: 300;
    margin: 0 7px;
    padding: 0 8px;
  }
  #header nav .primary-menu li.reverse.border:hover a {
    color: #fff;
  }
  #header nav .primary-menu li.box a {
    background-color: #fff;
    border: 1px solid #000000;
  }
  #header nav .primary-menu li.box.purple a {
    color: #fff;
    background-color: #642970;
    border: 1px solid #642970;
  }
  #header nav .primary-menu li a {
    color: #000000;
    padding: 10px;
  }
  #header nav .primary-menu li.menu-item-has-children {
    position: relative;
  }
  #header nav .primary-menu li.menu-item-has-children i {
    color: #000000;
    font-size: 12px;
    top: calc(50% - 6px);
    right: 0;
  }
  #header nav .primary-menu li.menu-item-has-children .sub-menu {
    display: block;
    visibility: hidden;
    width: 200px;
    position: absolute;
    background: #642970;
    border: 1px solid #642970;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
    -webkit-transition: all 0.15s ease-in;
    transition: all 0.15s ease-in;
  }
  #header nav .primary-menu li.menu-item-has-children .sub-menu li {
    background: transparent;
    padding: 0;
  }
  #header nav .primary-menu li.menu-item-has-children .sub-menu li a {
    display: block;
    width: auto;
    font-size: 15px;
    margin: 0;
    padding: 15px;
    color: #fff;
    -webkit-transition: all 0.15s ease-in;
    transition: all 0.15s ease-in;
  }
  #header nav .primary-menu li.menu-item-has-children .sub-menu li a:before {
    content: none;
  }
  #header nav .primary-menu li.menu-item-has-children .sub-menu li a:hover {
    color: #642970;
    background: #fff;
  }
  #header nav .primary-menu li.menu-item-has-children:hover .sub-menu {
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  #header nav .primary-menu > li {
    border: none;
  }
  #header nav .primary-menu > li:first-of-type {
    border: none;
  }
}
.section-hero {
  min-height: 700px;
}
.section-hero:after {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
}
.section-hero .banner-text-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  z-index: 5;
  padding: 30px;
}
.section-hero .banner-text-wrapper p,
.section-hero .banner-text-wrapper .g-btn {
  color: #fff;
}
.section-hero .banner-text-wrapper .g-btn {
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .section-hero {
    min-height: 500px;
  }
}
@media (min-width: 1200px) {
  .section-hero {
    min-height: 525px;
  }
  .section-hero .banner-text-wrapper {
    max-width: 680px;
  }
}
/* Field Site */
.hero-text h1 span {
  display: block;
  font-family: proxima-nova, Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
  color: #642970;
  margin-bottom: 25px;
}
.hero-text .button-wrapper .button, .hero-text .button-wrapper .g-btn, .hero-text .button-wrapper .reverse {
  width: 100%;
  text-align: center;
  margin-bottom: 15px;
}

.hero-bg {
  height: 400px;
  width: 100%;
}

@media (min-width: 768px) {
  .hero-text .button-wrapper .button, .hero-text .button-wrapper .g-btn, .hero-text .button-wrapper .reverse {
    width: auto;
  }
  .hero-bg {
    height: 500px;
  }
}
@media (min-width: 1200px) {
  .field-hero {
    position: relative;
  }
  .field-hero h1 {
    margin-top: 100px;
  }
  .hero-text {
    width: 45%;
  }
  .hero-bg {
    margin-top: 80px;
    width: 55%;
    height: auto;
  }
}
/* Page Content Styles */
.tile-card {
  position: relative;
}
.tile-card .tile-card-link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.tile-card .card-link h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
}
.tile-card .card-link h3 i {
  font-size: 22px;
  margin-top: 10px;
  -webkit-transition: all 250ms ease-in;
  transition: all 250ms ease-in;
}
.tile-card:hover h3 i {
  margin-right: 10px;
}

@media (min-width: 576px) {
  .tile-card .tile-img-col {
    height: 350px;
  }
}
@media (min-width: 768px) {
  .tile-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 1200px) {
  .tile-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.page-header .page-header-text {
  max-width: 800px;
  margin-top: 50px;
}
.page-header .page-header-bg {
  height: 400px;
  margin-top: 50px;
}

.text-editor {
  margin: 24px 0;
}
.text-editor a {
  color: #000000;
  text-decoration: underline;
}
.text-editor blockquote {
  position: relative;
  padding-left: 100px;
}
.text-editor blockquote:before {
  display: block;
  content: "";
  width: 10px;
  height: 100%;
  background: #642970;
  position: absolute;
  left: 50px;
}
.text-editor img {
  display: block;
  width: 100%;
  border-radius: 4px;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
}
.text-editor img.aligncenter {
  display: block;
  margin: 24px auto;
}
.text-editor p:first-of-type {
  margin-top: 0;
}
.text-editor p:last-of-type {
  margin-bottom: 0;
}
.text-editor ul {
  list-style-type: disc;
}
.text-editor ol {
  list-style-type: decimal;
}
.text-editor ul, .text-editor ol {
  padding-left: 35px;
}

.half-width-wrapper .text-editor img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .text-editor img {
    max-width: 90%;
    margin: 0 auto;
  }
}
@media (min-width: 1200px) {
  .text-editor img {
    max-width: 85%;
  }
}
/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/