/* MEDIA QUERIES */
* {
  box-sizing: border-box; }

.title-a {
  font-weight: 900;
  font-size: 4.6875vw;
  line-height: 1.1em; }
  @media only screen and (max-width: 1024px) {
    .title-a {
      font-size: 9.375vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .title-a {
      font-size: 8.8vw; } }

.title-b {
  font-weight: 900;
  font-size: 3.125vw;
  line-height: 1.1em; }
  @media only screen and (max-width: 1024px) {
    .title-b {
      font-size: 5.85938vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .title-b {
      font-size: 7.2vw; } }

.title-c {
  font-weight: 900;
  font-size: 1.5625vw;
  line-height: 1.6em; }
  @media only screen and (max-width: 1024px) {
    .title-c {
      font-size: 2.34375vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .title-c {
      font-size: 4.26667vw; } }

.title-d {
  font-size: 2.34375vw;
  line-height: 1.4em; }
  @media only screen and (max-width: 1024px) {
    .title-d {
      font-size: 4.29688vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .title-d {
      font-size: 7.2vw; } }

.type-a {
  font-size: 1.09375vw;
  line-height: 1.6em; }
  @media only screen and (max-width: 1024px) {
    .type-a {
      font-size: 2.08333vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .type-a {
      font-size: 3.73333vw; } }

.type-b {
  font-weight: 500;
  font-size: 10px; }
  @media only screen and (min-width: 1441px) {
    .type-b {
      font-size: 0.625vw; } }

.type-c {
  font-size: 0.9375vw;
  line-height: 1.8em; }
  @media only screen and (max-width: 1440px) {
    .type-c {
      font-size: 1.09375vw; } }
  @media only screen and (max-width: 1024px) {
    .type-c {
      font-size: 1.82292vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .type-c {
      font-size: 3.46667vw; } }

.type-d {
  font-size: 1.875vw;
  line-height: 1.6em; }
  @media only screen and (max-width: 1024px) {
    .type-d {
      font-size: 3.125vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .type-d {
      font-size: 4.8vw; } }

body {
  transition: opacity 600ms cubic-bezier(0.075, 0.82, 0.165, 1);
  font-family: 'Poppins', sans-serif;
  background-color: #FFF;
  color: #222222;
  padding: 0;
  margin: 0;
  font-weight: 300;
  font-size: 1.09375vw;
  line-height: 1.6em;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  opacity: 1; }
  @media only screen and (max-width: 1024px) {
    body {
      font-size: 2.08333vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    body {
      font-size: 3.73333vw; } }

  body.init {
    opacity: 0; }

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: inherit;
  color: inherit;
  font-family: inherit; }

a {
  text-decoration: none;
  color: inherit; }

b, strong {
  font-weight: 900; }

.block-content-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }

a.block-content-overlay {
  display: block; }

.link-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* BASICS */
@media only screen and (min-width: 768px) {
  .mobile-only {
    display: none !important; } }

@media only screen and (min-width: 1025px) {
  .device-only {
    display: none !important; } }

/* FORMS */
button,
input[type="submit"] {
  background: none;
  -webkit-appearance: none;
  border: none;
  border-radius: 0;
  outline: none;
  font: inherit;
  color: inherit;
  cursor: pointer; }

.btn, button:not(.skip-btn-style),
input[type="submit"] {
  cursor: pointer;
  padding: 0;
  display: inline-block;
  text-transform: uppercase;
  position: relative;
  padding: 0.8em 0; }
  .btn:disabled, button:not(.skip-btn-style):disabled,
  input[type="submit"]:disabled {
    cursor: not-allowed;
    border-color: #FFF; }

input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']),
select {
  color: #000;
  background: none;
  -webkit-appearance: none;
  border: none;
  border-radius: 0;
  outline: none;
  font-family: 'Poppins', sans-serif;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  text-transform: uppercase; }
  input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit'])::-moz-placeholder,
  select::-moz-placeholder {
    color: #000;
    opacity: 1; }
  input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit'])::-webkit-input-placeholder,
  select::-webkit-input-placeholder {
    color: #000; }
  input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).reverse::-moz-placeholder,
  select.reverse::-moz-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).reverse::-webkit-input-placeholder,
  select.reverse::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).error,
  select.error {
    border-color: #000;
    color: #000; }
    input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).error::-moz-placeholder,
    select.error::-moz-placeholder {
      color: #000; }
    input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).error::-webkit-input-placeholder,
    select.error::-webkit-input-placeholder {
      color: #000; }
  input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']):focus::-moz-placeholder,
  select:focus::-moz-placeholder {
    color: transparent;
    opacity: 0; }
  input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']):focus::-webkit-input-placeholder,
  select:focus::-webkit-input-placeholder {
    color: transparent;
    opacity: 0; }
  @media only screen and (min-width: 1025px) {
    input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']),
    select {
      padding: 0.52083vw 0 0.41667vw; } }
  @media only screen and (max-width: 1024px) {
    input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']),
    select {
      padding: 0.78125vw 0; } }
  @media only screen and (max-width: 767px) {
    input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']),
    select {
      padding: 2.13333vw 0; } }

/*
input[type='checkbox'],
input[type='radio'] {
  @include form-fields-clear-appearance();
  @include form-field-placeholders();
  border-radius: 0;
  border: 1px solid;
  width: 10px;
  height: 10px;
}
label.checkbox {
  display: flex;
  // align-items: center;
  // text-transform: uppercase;
  @include media-query($desktop) {
    padding: vw(10) 0 0;
  }
  @include media-query($device) {
    padding: vw_tablet(6) 0 0;
  }
  @include media-query($mobile) {
    padding: vw_mobile(8) 0 0;
  }
  input {
    margin: 0;
    margin-right: 10px;
    &:checked {
      background: #000;
    }
  }
}
*/
a.x-close, button.x-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 6.35417vw;
  height: 6.25vw;
  padding: 0;
  display: flex;
  align-items: center; }
  a.x-close svg, button.x-close svg {
    display: block;
    margin: 0 auto; }
  @media only screen and (max-width: 1024px) {
    a.x-close, button.x-close {
      width: 6.51042vw;
      height: 6.51042vw; }
      a.x-close svg, button.x-close svg {
        width: auto;
        height: 15px;
        display: block; } }
  @media only screen and (max-width: 767px) {
    a.x-close, button.x-close {
      width: 10.66667vw;
      height: 10.66667vw; } }
a.x-close-btn, button.x-close-btn {
  position: absolute;
  top: 2.60417vw;
  right: 2.60417vw; }
  @media only screen and (max-width: 1024px) {
    a.x-close-btn, button.x-close-btn {
      top: 3.90625vw;
      right: 3.90625vw; } }
  @media only screen and (max-width: 767px) {
    a.x-close-btn, button.x-close-btn {
      top: 5.33333vw;
      right: 5.33333vw; } }
a.link-btn, button.link-btn {
  padding: 0 0 0.26042vw 0;
  border-bottom: 1px solid #000; }

.sm-x-close {
  width: 11px;
  height: 11px;
  background-size: 11px auto;
  background-repeat: no-repeat;
  background-image: url("images/icon-x-close-thin.svg");
  display: block; }
  @media only screen and (max-width: 1024px) {
    .sm-x-close {
      width: 10px;
      height: 10px;
      background-size: 10px auto; } }

textarea {
  width: 100%;
  font-weight: normal;
  background: none;
  -webkit-appearance: none;
  border: none;
  border-radius: 0;
  outline: none;
  border: 1px solid #FFF;
  padding: 1em; }
  textarea::-moz-placeholder {
    color: #000;
    opacity: 1; }
  textarea::-webkit-input-placeholder {
    color: #000; }
  textarea.reverse::-moz-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  textarea.reverse::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  textarea.error {
    border-color: #000;
    color: #000; }
    textarea.error::-moz-placeholder {
      color: #000; }
    textarea.error::-webkit-input-placeholder {
      color: #000; }
  textarea:focus::-moz-placeholder {
    color: transparent;
    opacity: 0; }
  textarea:focus::-webkit-input-placeholder {
    color: transparent;
    opacity: 0; }

label.error {
  color: #000;
  text-transform: uppercase;
  padding-top: 0.6em;
  display: block !important; }
  label.error:first-child {
    display: none !important; }
label .label {
  color: rgba(255, 255, 255, 0.5);
  opacity: 0; }
label.filled .label {
  opacity: 1; }

@media only screen and (min-width: 768px) {
  .fields {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .fields:not(:first-child) {
      padding-top: 1.04167vw; } }
    @media only screen and (min-width: 768px) and (max-width: 1024px) and (min-width: 768px) {
      .fields:not(:first-child) {
        padding-top: 2.60417vw; } }
@media only screen and (min-width: 768px) {
    .fields .field:not(:only-child) {
      flex: 0 0 calc(50% - 1.04167vw); } }
    @media only screen and (min-width: 768px) and (max-width: 1024px) and (min-width: 768px) {
      .fields .field:not(:only-child) {
        flex: 0 0 calc(50% - 1.95313vw); } }
@media only screen and (min-width: 768px) {
    .fields .field:only-child {
      flex: 0 0 100%; } }
@media only screen and (max-width: 767px) {
  .fields:first-child .field:first-child {
    padding-top: 0; } }
.fields .field {
  display: block;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .fields .field {
      padding-top: 5.33333vw; } }

.btns {
  padding-top: 2.39583vw;
  display: flex;
  align-items: center; }
  @media only screen and (max-width: 1024px) and (min-width: 768px) {
    .btns {
      padding-top: 5.46875vw; } }
  @media only screen and (max-width: 767px) {
    .btns {
      padding-top: 6.4vw; } }

.field.checkbox.error {
  color: #000; }
  .field.checkbox.error input, .field.checkbox.error a {
    border-color: #000; }

.block-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

/* DRAWER */
.blocker {
  transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: none;
  opacity: 0;
  top: 0;
  left: 0;
  z-index: 102;
  background: rgba(0, 0, 0, 0.1); }

.drawer.active > .blocker {
  opacity: 1;
  pointer-events: all; }

.drawer {
  transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1); }
  .drawer .x-close {
    position: fixed; }
  .drawer.active .drawer-interior {
    visibility: visible;
    pointer-events: all;
    opacity: 1;
    transform: none; }
  .drawer .drawer-interior {
    transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
    width: 40%;
    position: fixed;
    top: 0;
    transform: translateX(100%);
    padding: 0 0 2.60417vw 2.60417vw;
    height: 100%;
    z-index: 102;
    right: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: #c1020e;
    color: #FFF; }
    @media only screen and (max-width: 1440px) {
      .drawer .drawer-interior {
        padding: 0 0 3.125vw 3.125vw; } }
    @media only screen and (max-width: 1024px) {
      .drawer .drawer-interior {
        padding: 0 0 3.90625vw 3.90625vw;
        width: 67.44792vw;
        top: 0; } }
    @media only screen and (max-width: 767px) {
      .drawer .drawer-interior {
        width: 100%;
        padding: 0 0 5.33333vw 5.33333vw;
        height: calc(100% - 10.66667vw);
        top: auto;
        bottom: 0;
        transform: translateY(100%); } }
    .drawer .drawer-interior .drawer-header {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: #c1020e;
      color: #FFF;
      display: flex;
      align-items: center;
      justify-content: space-between;
      transform: translateY(-5%);
      line-height: 1em;
      height: 4.79167vw;
      padding: 0 2.60417vw;
      z-index: 102; }
      @media only screen and (max-width: 1440px) {
        .drawer .drawer-interior .drawer-header {
          padding: 0 3.125vw;
          height: 6.5625vw; } }
  @media only screen and (max-width: 1440px) and (max-width: 1024px) {
    .drawer .drawer-interior .drawer-header {
      padding: 0 3.90625vw;
      height: 9.375vw; } }

  @media only screen and (max-width: 1440px) and (max-width: 1024px) and (max-width: 767px) {
    .drawer .drawer-interior .drawer-header {
      padding: 0 5.33333vw;
      height: 18.66667vw; } }

    .drawer .drawer-interior .drawer-close {
      font-family: 'Poppins', sans-serif;
      text-transform: none;
      border-bottom: 1px dotted;
      padding-bottom: 0.2em; }
  .drawer:not(.drawer-full) .drawer-content {
    padding-top: 4.79167vw;
    height: 100%;
    padding-right: 2.60417vw; }
    .drawer:not(.drawer-full) .drawer-content {
      overflow-y: hidden; }
    .drawer:not(.drawer-full) .drawer-content:not(.transitioning) {
      overflow-y: auto !important; }
    .drawer:not(.drawer-full) .drawer-content::-webkit-scrollbar {
      width: 4px; }
    .drawer:not(.drawer-full) .drawer-content::-webkit-scrollbar-track {
      background-color: #FFF; }
    .drawer:not(.drawer-full) .drawer-content::-webkit-scrollbar-thumb {
      background-color: #FFF; }
    @media only screen and (max-width: 1440px) {
      .drawer:not(.drawer-full) .drawer-content {
        padding-top: 6.5625vw;
        padding-right: 3.125vw; } }
  @media only screen and (max-width: 1440px) and (max-width: 1024px) {
    .drawer:not(.drawer-full) .drawer-content {
      padding-top: 9.375vw;
      padding-right: 3.90625vw; } }

  @media only screen and (max-width: 1440px) and (max-width: 1024px) and (max-width: 767px) {
    .drawer:not(.drawer-full) .drawer-content {
      padding-top: 18.66667vw;
      padding-right: 5.33333vw; } }

    .drawer:not(.drawer-full) .drawer-content p:not(:last-child) {
      padding-bottom: 2em; }
  .drawer.drawer-full .drawer-interior {
    width: 100%;
    transform: none;
    max-width: 100%; }
    .drawer.drawer-full .drawer-interior {
      overflow-y: hidden; }
    .drawer.drawer-full .drawer-interior:not(.transitioning) {
      overflow-y: auto !important; }
    .drawer.drawer-full .drawer-interior::-webkit-scrollbar {
      width: 4px; }
    .drawer.drawer-full .drawer-interior::-webkit-scrollbar-track {
      background-color: #FFF; }
    .drawer.drawer-full .drawer-interior::-webkit-scrollbar-thumb {
      background-color: #FFF; }
  .drawer.drawer-full .drawer-content {
    min-height: 100%;
    display: flex;
    align-items: center; }

.subscribe-drawer {
  /*
  #can_embed_form_inner h2,
  #action_info {
    display: none;
  }
  #can_embed_form input[type=text], #can_embed_form input[type=password], #can_embed_form input[type=url], #can_embed_form input[type=email], #can_embed_form input[type=tel], #can_embed_form input[type=number] {
    font-weight: 300;
    text-transform: none;
    color: #FFF;
    @include form-field-placeholders($color: #FFF);
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #FFF;
    padding-left: 0;
  }

#can_embed_form input[type=text]:focus, #can_embed_form input[type=password]:focus, #can_embed_form input[type=url]:focus, #can_embed_form input[type=email]:focus, #can_embed_form input[type=tel]:focus, #can_embed_form input[type=number]:focus {
  border-color: #FFF;
}
  #can_embed_form #action_welcome_message #action_welcome_message_inner {
    background-color: transparent;
    color: #FFF;
    border: none;
    padding: 0;
  }
  .lined_after_title, #can_embed_form_inner>h2+h4, #can_embed_form_inner>.last_line+h4, #can_embed_form .action_sidebar>h4:not(.sidebartitle), #can_embed_form #select_tickets>h4, #can_embed_form #letter-form>div>h4, #can_embed_form #letter-form #form_col1>h4, #can_embed_form #letter-form #form_col2>h4, #can_embed_form h3+h4, .event_campaign #can_embed_form>h2+h4, .letter #can_embed_form h2.line+h4 {
    @include title-d();
    padding-bottom: 1em;
    margin: 0;
    @include bold();
    letter-spacing: 0;
    text-transform: none;
    &:after {
      content: none;
    }
  }

  .can_button, #donate_auto_modal input[type=submit], #donate_auto_modal .button,
  #donate_make_recurring_modal input[type=submit], #donate_make_recurring_modal .button,
  #can_embed_form input[type=submit], #can_embed_form .button {
    @include button();
    display: inline-block;
    max-width: 12em;
    // margin-top: 2em;

  }
  #can_embed_form #d_sharing {
    border: none;
    label {
      max-width: 24em;
      padding-left: 2em;
    }
  }
  #can_embed_form.can_float #form_col1,
  #can_embed_form.can_float #form_col2 {
    float: none;
    width: 100%;
  }

  #can_embed_form.can_float #form_col2 {
    padding-top: 2em;
  }

  #can_embed_form .floatlabel-wrapper .floatlabel-label-active {
    display: none !important;
  }
  #can_embed_form #d_sharing input[type='checkbox'] {
    width: 14px;
    height: 14px;
    transform: translateY(3px);
    border: 1px solid #FFF;
    &:checked {
      // background: #FFF;
      &:before {
        content: "x";
        position: absolute;
        top: -3px;
        left: 1px;
        color: #FFF;
        font-family: 'Courier';
        line-height: 1em;
      }
    }

  }

  #can_embed_form.can_float #form_col1 {
    @include media-query($desktop) {
      display: flex;
      flex-wrap: wrap;
      li.core_field {
        width: 50%;
        &:nth-child(even) {
          input {
            margin-right: 1em;
          }

        }
        &:nth-child(odd) {
          input {
            margin-left: 1em;
          }

        }
      }
    }
  }
}

#can_embed_form #can_thank_you {
  background: transparent !important;
  & + .clearfix,
  h4 {
    display: none !important;
  }
}
*/ }
  .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']), .subscribe-drawer select {
    color: #FFF;
    text-transform: none; }
    .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit'])::-moz-placeholder, .subscribe-drawer select::-moz-placeholder {
      color: #FFF;
      opacity: 1; }
    .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit'])::-webkit-input-placeholder, .subscribe-drawer select::-webkit-input-placeholder {
      color: #FFF; }
    .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).reverse::-moz-placeholder, .subscribe-drawer select.reverse::-moz-placeholder {
      color: rgba(255, 255, 255, 0.7); }
    .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).reverse::-webkit-input-placeholder, .subscribe-drawer select.reverse::-webkit-input-placeholder {
      color: rgba(255, 255, 255, 0.7); }
    .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).error, .subscribe-drawer select.error {
      border-color: #000;
      color: #000; }
      .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).error::-moz-placeholder, .subscribe-drawer select.error::-moz-placeholder {
        color: #000; }
      .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']).error::-webkit-input-placeholder, .subscribe-drawer select.error::-webkit-input-placeholder {
        color: #000; }
    .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']):focus::-moz-placeholder, .subscribe-drawer select:focus::-moz-placeholder {
      color: transparent;
      opacity: 0; }
    .subscribe-drawer input:not(.qty-input):not([type='checkbox']):not([type='radio']):not([type='submit']):focus::-webkit-input-placeholder, .subscribe-drawer select:focus::-webkit-input-placeholder {
      color: transparent;
      opacity: 0; }
  .subscribe-drawer .actionnetwork-signup-message {
    font-weight: 900; }
  .subscribe-drawer input[type='submit'] {
    padding: 0.5em 2em;
    background-color: #2e3178;
    border-radius: 2em;
    color: #FFF;
    font-weight: 900; }
    .subscribe-drawer input[type='submit']:hover {
      background-color: #131551; }

/* HEADER */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 100;
  width: 100%;
  transition: opacity 0.3s ease-in;
  /*
  &.header--hidden {
    @include media-query($desktop) {
      opacity: 0;
    }
  } */ }
  .header .header-interior {
    transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
    height: 3.90625vw; }
    @media only screen and (max-width: 1024px) {
      .header .header-interior {
        height: 6.51042vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .header .header-interior {
      height: 10.66667vw; } }

  .header.header--scrolled .header-interior {
    box-shadow: 4px 6px 4px -6px rgba(0, 0, 0, 0.5);
    background-color: #ec232f;
    color: #FFF; }
  @media only screen and (max-width: 1024px) {
    .header.header--scrolled #menu {
      height: 6.51042vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .header.header--scrolled #menu {
      height: 10.66667vw; } }

  .header.header--scrolled #menu svg [stroke] {
    stroke: #FFF; }
  .header.header--scrolled .logo {
    width: 5.20833vw;
    top: 1.30208vw; }
    @media only screen and (max-width: 1024px) {
      .header.header--scrolled .logo {
        width: 7.8125vw;
        top: 1.95313vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .header.header--scrolled .logo {
      top: 2.66667vw;
      width: 13.33333vw; } }

  @media only screen and (min-width: 1025px) {
    .header.header--scrolled .main-nav {
      top: 0;
      padding-top: 1em;
      padding-bottom: 1em; } }
  .header .logo {
    transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
    display: block; }
  @media only screen and (max-width: 1024px) {
    .header .nav-wrapper {
      background-color: #FFF;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      color: #222;
      padding: 3.90625vw;
      padding-top: 6.51042vw;
      transform: translateX(-100%);
      transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1); } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .header .nav-wrapper {
      padding: 5.33333vw;
      padding-top: 10.66667vw; } }
  @media only screen and (max-width: 1024px) {
      .header .nav-wrapper.active {
        transform: none; } }
  @media only screen and (min-width: 1025px) {
    .header .main-nav {
      transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
      position: fixed;
      right: 0;
      padding-right: 2.60417vw;
      top: 1em;
      padding-top: 1em;
      padding-bottom: 1em; }
      .header .main-nav .nav {
        display: flex;
        justify-content: flex-end; }
        .header .main-nav .nav li {
          margin-left: 2em; } }
  @media only screen and (max-width: 1024px) {
    .header .main-nav .nav li a {
      padding: 0.4em 0;
      display: block; } }

#menu {
  width: calc(7.8125vw + 17px);
  height: calc(10.66667vw + 12px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0; }
  @media only screen and (max-width: 767px) {
    #menu {
      width: calc(10.66667vw + 17px);
      height: calc(10.66667vw + 12px); } }
  #menu svg {
    width: 17px;
    height: auto;
    display: block; }
    #menu svg [stroke] {
      stroke: #2e3178; }

nav {
  font-weight: 900; }
  nav ul, nav ol, nav li {
    margin: 0;
    padding: 0;
    list-style: none; }
  nav a {
    color: inherit;
    text-decoration: none; }
  nav .current-menu-item > a,
  nav .current-menu-ancestor > a {
    position: relative; }
    nav .current-menu-item > a:after,
    nav .current-menu-ancestor > a:after {
      content: "";
      position: absolute;
      bottom: -1em;
      left: 0;
      width: 100%;
      height: 1em;
      display: block;
      background-size: 4.01042vw auto;
      background-position: center center;
      background-repeat: no-repeat;
      background-image: url("images/wiggle-blue.svg"); }
      @media only screen and (max-width: 1024px) {
        nav .current-menu-item > a:after,
        nav .current-menu-ancestor > a:after {
          background-size: 11.71875vw auto;
          background-position: bottom left;
          bottom: 0; } }
      @media only screen and (max-width: 767px) {
        nav .current-menu-item > a:after,
        nav .current-menu-ancestor > a:after {
          background-size: 24vw auto; } }

.social-nav-list {
  display: flex;
  justify-content: center;
  align-items: center; }
  .social-nav-list li {
    padding: 0 0.5em; }
  .social-nav-list svg [fill] {
    fill: #FFF; }
  .social-nav-list svg [stroke] {
    stroke: #FFF; }

.footer {
  background: #ec232f;
  color: #FFF;
  padding: 2.60417vw;
  text-align: center; }
  @media only screen and (max-width: 1024px) and (min-width: 768px) {
    .footer {
      padding: 7.8125vw 3.90625vw;
      margin-top: 7.8125vw; } }
  @media only screen and (max-width: 767px) {
    .footer {
      padding: 10.66667vw 5.33333vw;
      margin-top: 10.66667vw; } }
  .footer a {
    color: #FFF; }
  @media only screen and (min-width: 1025px) {
    .footer .footer-interior {
      display: flex; }
      .footer .footer-interior .footer-col {
        width: 33.33333%; } }
  @media only screen and (min-width: 1025px) {
    .footer .footer-left {
      text-align: left; } }
  .footer .footer-right a {
    text-decoration: none; }
  @media only screen and (min-width: 1025px) {
    .footer .footer-right {
      text-align: right; } }

@media only screen and (min-width: 1025px) {
  .utility-nav {
    text-align: right;
    position: fixed;
    top: 7.8125vw;
    right: 2.60417vw; } }
  @media only screen and (min-width: 1025px) and (max-width: 1440px) {
    .utility-nav {
      right: 3.125vw; } }

@media only screen and (max-width: 1024px) {
  .utility-nav {
    padding-top: 1em; } }

.toggle-target.inactive {
  display: none; }

.back-to-top {
  display: none;
  opacity: 0;
  transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1); }
  .back-to-top.active {
    opacity: 1; }
  @media only screen and (min-width: 1025px) {
    .back-to-top {
      position: fixed;
      right: 2.60417vw;
      bottom: 2.60417vw; } }
  @media only screen and (min-width: 1025px) and (max-width: 1440px) {
    .back-to-top {
      right: 3.125vw;
      bottom: 3.125vw; } }
  @media only screen and (min-width: 1025px) {
      .back-to-top.scrolled {
        bottom: calc(3.75vw + 1px);
        transform: translateY(-4.66667em); } }
    @media only screen and (min-width: 1025px) and (max-width: 1440px) {
      .back-to-top.scrolled {
        bottom: calc(3.125vw + 1px);
        transform: translateY(-4.5em); } }

.container-interior {
  /*
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 $gutter-site;
  @include media-query($small) {
    padding: 0 $gutter-site-small;
  }
  @include media-query($tablet) {
    padding: 0 $gutter-tablet;
  }
  @include media-query($mobile) {
    padding: 0 $gutter-mobile;
  } */ }

sup {
  line-height: 1em; }

/* GLOBAL MODULES */
.pagination {
  padding: 0 0 2em 0;
  display: block;
  text-align: center; }

.infinite-grids .block {
  transition: all 250ms cubic-bezier(0.075, 0.82, 0.165, 1); }
  .infinite-grids .block.fade {
    opacity: 0; }

.justify {
  text-align: justify; }

.grids {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 1025px) {
    .grids {
      width: calc(100% + 2.60417vw) !important;
      transform: translateX(-1.30208vw) !important; } }
  @media only screen and (min-width: 1025px) and (max-width: 1440px) {
    .grids {
      width: calc(100% + 1.5625vw) !important;
      transform: translateX(-0.78125vw) !important; } }

  @media only screen and (max-width: 1024px) {
    .grids {
      width: calc(100% + 3.90625vw) !important;
      transform: translateX(-1.95313vw) !important; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .grids {
      width: calc(100% + 5.33333vw) !important;
      transform: translateX(-2.66667vw) !important; } }

  .grids .grid-item {
    width: 33.3333%;
    padding: 0 1.30208vw 2.60417vw !important; }
    @media only screen and (max-width: 1440px) {
      .grids .grid-item {
        padding: 0 0.78125vw 3.6em !important; } }
    @media only screen and (max-width: 1024px) {
      .grids .grid-item {
        width: 50%;
        padding: 0 1.95313vw 3.90625vw !important; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .grids .grid-item {
      padding: 0 2.66667vw 16vw !important; } }

    .grids .grid-item .block-image {
      position: relative; }
      .grids .grid-item .block-image a {
        position: relative;
        overflow: hidden;
        display: block;
        padding: 0 !important; }
        .grids .grid-item .block-image a:before {
          display: block;
          content: '';
          width: 100%;
          padding-top: 130.21583%; }
        .grids .grid-item .block-image a > img, .grids .grid-item .block-image a > picture, .grids .grid-item .block-image a > video {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          margin: 0;
          width: 100%;
          height: 100%;
          display: block; }
        .grids .grid-item .block-image a img, .grids .grid-item .block-image a video {
          object-fit: cover;
          width: 100%;
          height: 100%;
          display: block; }
      .grids .grid-item .block-image:after {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        left: 0;
        content: "";
        cursor: pointer;
        pointer-events: none;
        z-index: 1; }
      .grids .grid-item .block-image:hover img {
        filter: blur(24px) !important;
        -webkit-filter: blur(24px) !important;
        transition: .2s filter ease-in !important; }
      .grids .grid-item .block-image img {
        object-fit: cover;
        transition: .2s filter ease-out; }

/* FORMS */
form select {
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  background-image: url("images/icon-down-arrow.svg");
  background-size: 8px auto; }
  @supports (-ms-ime-align:auto) {
    form select {
      background-size: 100% 100%; } }
  @media only screen and (max-width: 1440px) {
    form select {
      background-size: 6px auto; } }
  @media only screen and (max-width: 1440px) and (max-width: 767px) {
    form select {
      background-size: 7px auto; } }

form .ui-button {
  padding-left: 0;
  padding-right: 0; }
form .ui-selectmenu-button {
  width: 100% !important; }
  form .ui-selectmenu-button .ui-selectmenu-text {
    margin: 0;
    padding-right: 1.5625vw;
    height: 100%; }
    form .ui-selectmenu-button .ui-selectmenu-text.placeholder {
      color: rgba(255, 255, 255, 0.7); }
  form .ui-selectmenu-button .ui-selectmenu-icon {
    position: absolute;
    float: none;
    right: 0px;
    top: 0px;
    height: 100%;
    background-color: transparent;
    color: transparent;
    width: 24px;
    background-size: contain;
    background-position: center right;
    background-repeat: no-repeat;
    background-image: url("images/icon-down-arrow.svg");
    background-size: 8px auto; }
    @supports (-ms-ime-align:auto) {
      form .ui-selectmenu-button .ui-selectmenu-icon {
        background-size: 100% 100%; } }
    @media only screen and (max-width: 1440px) {
      form .ui-selectmenu-button .ui-selectmenu-icon {
        background-size: 6px auto; } }
  @media only screen and (max-width: 1440px) and (max-width: 767px) {
    form .ui-selectmenu-button .ui-selectmenu-icon {
      background-size: 7px auto; } }

  form .ui-selectmenu-button.ui-selectmenu-button.ui-selectmenu-button-open .ui-selectmenu-icon {
    z-index: 101;
    transform: scaleY(-1) translateY(1px); }
form .select-wrapper {
  position: relative; }
form .ui-selectmenu-menu {
  transition: opacity 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
  background: #FFF;
  box-shadow: 0;
  border: none;
  display: block;
  pointer-events: none;
  opacity: 0;
  max-height: 300px;
  width: 100%;
  top: 100% !important;
  left: 0 !important;
  overflow: hidden; }
  form .ui-selectmenu-menu .ui-widget-content {
    padding: 0.46875vw 0.83333vw; }
    form .ui-selectmenu-menu .ui-widget-content {
      overflow-y: hidden; }
    form .ui-selectmenu-menu .ui-widget-content:not(.transitioning) {
      overflow-y: auto !important; }
    form .ui-selectmenu-menu .ui-widget-content::-webkit-scrollbar {
      width: 4px; }
    form .ui-selectmenu-menu .ui-widget-content::-webkit-scrollbar-track {
      background-color: #FFF; }
    form .ui-selectmenu-menu .ui-widget-content::-webkit-scrollbar-thumb {
      background-color: #FFF; }
    @media only screen and (max-width: 1024px) and (min-width: 768px) {
      form .ui-selectmenu-menu .ui-widget-content {
        padding-left: 2.08333vw;
        padding-right: 2.08333vw; } }
    @media only screen and (max-width: 767px) {
      form .ui-selectmenu-menu .ui-widget-content {
        padding-left: 3.2vw;
        padding-right: 3.2vw; } }
  form .ui-selectmenu-menu .ui-menu-item {
    color: #000;
    min-height: 0;
    height: auto;
    line-height: 2.1875vw; }
    @media only screen and (max-width: 1024px) {
      form .ui-selectmenu-menu .ui-menu-item {
        line-height: 2.4em; } }
    form .ui-selectmenu-menu .ui-menu-item.ui-state-disabled {
      display: none; }
    form .ui-selectmenu-menu .ui-menu-item .ui-menu-item-wrapper {
      display: block;
      padding: 0;
      margin: 0; }
      form .ui-selectmenu-menu .ui-menu-item .ui-menu-item-wrapper:focus {
        outline: none; }
      form .ui-selectmenu-menu .ui-menu-item .ui-menu-item-wrapper.ui-state-active {
        font-weight: 900; }
  form .ui-selectmenu-menu.ui-selectmenu-open {
    opacity: 1;
    pointer-events: all; }
form .errors, form .error {
  color: #000; }
  form .errors ul, form .error ul {
    padding-left: 0;
    margin-left: 1.4em; }

.logo {
  width: 8.95833vw;
  position: fixed;
  top: 2.60417vw;
  left: 2.60417vw; }
  @media only screen and (max-width: 1024px) {
    .logo {
      width: 15.625vw;
      top: 3.90625vw;
      left: 3.90625vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .logo {
      top: 5.33333vw;
      left: 5.33333vw;
      width: 19.2vw; } }

  .logo svg {
    width: 100%;
    height: auto;
    display: block; }

/* BIG ROSE */
.big-rose-wrapper {
  min-height: 26.04167vw; }

.big-rose-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%); }
  .big-rose-bg svg {
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto; }
  .big-rose-bg + .block-content {
    position: relative; }

.small-rose {
  width: 6em;
  height: auto;
  margin: 0 auto 1em; }
  .small-rose svg {
    display: block;
    height: auto;
    width: 100%; }

.rose-head {
  margin: 0 auto;
  width: 5.20833vw;
  margin-bottom: 1em; }
  @media only screen and (max-width: 1024px) and (min-width: 768px) {
    .rose-head {
      width: 9.375vw; } }
  @media only screen and (max-width: 767px) {
    .rose-head {
      width: 19.2vw; } }
  .rose-head svg {
    width: 100%;
    height: auto;
    display: block; }

/* LIGHT PAGES */
.red-waves {
  display: none; }
  .red-waves svg {
    display: block;
    width: 100%;
    height: auto; }

.page-header {
  padding-top: 7.8125vw;
  text-align: center; }
  .page-header .wiggle {
    margin: 1em auto 0;
    width: 12.5vw; }
    @media only screen and (max-width: 1024px) {
      .page-header .wiggle {
        width: 23.4375vw; } }
    @media only screen and (max-width: 767px) {
      .page-header .wiggle {
        width: 32vw; } }
    .page-header .wiggle svg {
      display: block;
      width: 100%;
      height: auto; }

.page-header-content {
  max-width: 73.69792vw;
  margin: 0 auto;
  padding: 2.60417vw;
  position: relative;
  text-align: center; }

.blocks.isotope {
  display: flex; }
  .blocks.isotope .block {
    width: 49%; }
    @media only screen and (min-width: 768px) {
      .blocks.isotope .block:nth-child(2) .block-interior {
        padding-top: 5em; } }
    .blocks.isotope .block.type-text .block-title, .blocks.isotope .block.type-news .block-title, .blocks.isotope .block.type-events .block-title {
      text-align: center;
      position: relative;
      padding-bottom: 1.6em;
      margin-bottom: 0.9em; }
      .blocks.isotope .block.type-text .block-title:after, .blocks.isotope .block.type-news .block-title:after, .blocks.isotope .block.type-events .block-title:after {
        content: "";
        position: absolute;
        bottom: -1em;
        left: 0;
        width: 100%;
        height: 1em;
        display: block;
        background-size: 4.01042vw auto;
        background-position: center center;
        background-repeat: no-repeat;
        background-image: url("images/wiggle-blue.svg"); }
        @media only screen and (max-width: 1024px) {
          .blocks.isotope .block.type-text .block-title:after, .blocks.isotope .block.type-news .block-title:after, .blocks.isotope .block.type-events .block-title:after {
            background-size: 11.71875vw auto;
            background-position: bottom left;
            bottom: 0; } }
        @media only screen and (max-width: 767px) {
          .blocks.isotope .block.type-text .block-title:after, .blocks.isotope .block.type-news .block-title:after, .blocks.isotope .block.type-events .block-title:after {
            background-size: 24vw auto; } }
      .blocks.isotope .block.type-text .block-title:after, .blocks.isotope .block.type-news .block-title:after, .blocks.isotope .block.type-events .block-title:after {
        background-size: 10em;
        background-position: center center;
        bottom: 0; }
    .blocks.isotope .block.type-quote .block-text {
      font-weight: 900;
      font-size: 3.125vw;
      line-height: 1.1em;
      font-weight: 500;
      line-height: 1.11667em; }
      @media only screen and (max-width: 1024px) {
        .blocks.isotope .block.type-quote .block-text {
          font-size: 5.85938vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .blocks.isotope .block.type-quote .block-text {
      font-size: 7.2vw; } }

    .blocks.isotope .block.type-quote .block-interior {
      text-align: center; }
      @media only screen and (min-width: 768px) {
        .blocks.isotope .block.type-quote .block-interior {
          max-width: 36.77083vw;
          padding-left: 0;
          padding-right: 0; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) and (min-width: 768px) {
    .blocks.isotope .block.type-quote .block-interior {
      max-width: 88.54167vw; } }

    .blocks.isotope .block.type-quote .block-citation {
      text-transform: uppercase;
      padding-top: 1em; }
    .blocks.isotope .block.type-text .block-interior, .blocks.isotope .block.type-events .block-interior {
      text-align: center; }
      @media only screen and (min-width: 768px) {
        .blocks.isotope .block.type-text .block-interior, .blocks.isotope .block.type-events .block-interior {
          max-width: 28.22917vw;
          padding-left: 0;
          padding-right: 0; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) and (min-width: 768px) {
    .blocks.isotope .block.type-text .block-interior, .blocks.isotope .block.type-events .block-interior {
      max-width: 65.10417vw; } }

    .blocks.isotope .block.type-text a, .blocks.isotope .block.type-events a {
      border-bottom: 1px dotted; }
    .blocks.isotope .block.type-events .list-events {
      padding-bottom: 1em; }
    .blocks.isotope .block.type-events .list-event {
      padding-bottom: 1em; }
      .blocks.isotope .block.type-events .list-event .list-date {
        font-weight: 900; }
  .blocks.isotope .block-interior {
    padding: 3em;
    padding-bottom: 4em;
    margin: 0 auto; }
    @media only screen and (max-width: 1024px) and (min-width: 768px) {
      .blocks.isotope .block-interior {
        padding: 1em;
        padding-bottom: 3em; } }
    @media only screen and (max-width: 767px) {
      .blocks.isotope .block-interior {
        padding: 1em;
        padding-bottom: 3em; } }

@media only screen and (min-width: 1025px) {
  body.single-post .main-nav {
    color: #FFF; } }

@media only screen and (max-width: 1024px) {
  #page {
    padding-top: 7.8125vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    #page {
      padding-top: 10.66667vw; } }

.page-template-page-home .blocks.isotope {
  max-width: 87.5vw;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) and (min-width: 768px) {
    .page-template-page-home .blocks.isotope {
      max-width: 75.52083vw;
      margin: 0 auto; } }
  .page-template-page-home .blocks.isotope .block .block-image svg {
    width: 19.04762em;
    height: auto;
    display: block;
    margin: 0 auto 1em; }
  .page-template-page-home .blocks.isotope .block .block-image.tall svg {
    width: 9.52381em; }
  @media only screen and (max-width: 1024px) {
    .page-template-page-home .blocks.isotope .block {
      width: 100%; }
      .page-template-page-home .blocks.isotope .block:nth-child(2) .block-interior {
        padding-top: 2em; } }

/* DARK PAGES */
body.single-post .header-interior {
  background-color: #ec232f; }

body.page-template-default,
body.page-template-page-home,
body.single-calendar,
body.page-template-page-landing,
body.page-template-page-landing-singe {
  background-color: #ec232f;
  color: #FFF; }
  body.page-template-default .page-header .wiggle [fill],
  body.page-template-page-home .page-header .wiggle [fill],
  body.single-calendar .page-header .wiggle [fill],
  body.page-template-page-landing .page-header .wiggle [fill],
  body.page-template-page-landing-singe .page-header .wiggle [fill] {
    fill: #2e3178; }
  body.page-template-default .header:not(.header--scrolled) svg [stroke],
  body.page-template-page-home .header:not(.header--scrolled) svg [stroke],
  body.single-calendar .header:not(.header--scrolled) svg [stroke],
  body.page-template-page-landing .header:not(.header--scrolled) svg [stroke],
  body.page-template-page-landing-singe .header:not(.header--scrolled) svg [stroke] {
    stroke: #FFF; }

.page-body {
  padding-bottom: 2em; }

body.page-template-page-landing .page-body,
body.page-template-page-landing-single .page-body {
  max-width: 75.52083vw;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) and (min-width: 768px) {
    body.page-template-page-landing .page-body,
    body.page-template-page-landing-single .page-body {
      max-width: calc(100% - 7.8125vw); } }
  @media only screen and (max-width: 767px) {
    body.page-template-page-landing .page-body,
    body.page-template-page-landing-single .page-body {
      max-width: calc(100% - 10.66667vw); } }
@media only screen and (min-width: 1025px) {
  body.page-template-page-landing.page-template-page-landing-single .page-body,
  body.page-template-page-landing-single.page-template-page-landing-single .page-body {
    max-width: 57.29167vw; } }
body.page-template-page-landing.page-template-page-landing-single .page-body .block-interior > .block-title:first-child,
body.page-template-page-landing-single.page-template-page-landing-single .page-body .block-interior > .block-title:first-child {
  padding-top: 2em; }
body.page-template-page-landing.page-template-page-landing-single .page-body .block-text a,
body.page-template-page-landing.page-template-page-landing-single .page-body .outro a,
body.page-template-page-landing-single.page-template-page-landing-single .page-body .block-text a,
body.page-template-page-landing-single.page-template-page-landing-single .page-body .outro a {
  border-bottom: 1px dotted #ec232f; }
body.page-template-page-landing .page-body p:not(:last-child),
body.page-template-page-landing-single .page-body p:not(:last-child) {
  padding-bottom: 1em; }
body.page-template-page-landing .page-body .landing-intro,
body.page-template-page-landing-single .page-body .landing-intro {
  text-align: center;
  width: 90%;
  padding-bottom: 1em;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    body.page-template-page-landing .page-body .landing-intro,
    body.page-template-page-landing-single .page-body .landing-intro {
      padding-bottom: 2em; } }
body.page-template-page-landing .page-body .landing-intro p[style*=font-size],
body.page-template-page-landing-single .page-body .landing-intro p[style*=font-size] {
  line-height: 1.2;
  overflow-wrap: break-word; }
  @media only screen and (max-width: 767px) {
    body.page-template-page-landing .page-body .landing-intro p[style*=font-size],
    body.page-template-page-landing-single .page-body .landing-intro p[style*=font-size] {
      font-size: 4.8vw !important; }
    body.page-template-page-landing .page-body .landing-intro p[style*=font-size][style*="font-size:55px"],
    body.page-template-page-landing-single .page-body .landing-intro p[style*=font-size][style*="font-size:55px"] {
      font-size: 8.8vw !important; } }
body.page-template-page-landing .page-body .block-title,
body.page-template-page-landing-single .page-body .block-title {
  text-align: center;
  position: relative;
  padding-bottom: 1.6em;
  margin-bottom: 0.9em; }
  body.page-template-page-landing .page-body .block-title:after,
  body.page-template-page-landing-single .page-body .block-title:after {
    content: "";
    position: absolute;
    bottom: -1em;
    left: 0;
    width: 100%;
    height: 1em;
    display: block;
    background-size: 4.01042vw auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("images/wiggle-blue.svg"); }
    @media only screen and (max-width: 1024px) {
      body.page-template-page-landing .page-body .block-title:after,
      body.page-template-page-landing-single .page-body .block-title:after {
        background-size: 11.71875vw auto;
        background-position: bottom left;
        bottom: 0; } }
    @media only screen and (max-width: 767px) {
      body.page-template-page-landing .page-body .block-title:after,
      body.page-template-page-landing-single .page-body .block-title:after {
        background-size: 24vw auto; } }
  body.page-template-page-landing .page-body .block-title:after,
  body.page-template-page-landing-single .page-body .block-title:after {
    background-size: 10em;
    background-position: center center;
    bottom: 0; }
body.page-template-page-landing .page-body .block-text a,
body.page-template-page-landing .page-body .outro a,
body.page-template-page-landing-single .page-body .block-text a,
body.page-template-page-landing-single .page-body .outro a {
  border-bottom: 1px dotted #FFF; }
body.page-template-page-landing .page-body .outro,
body.page-template-page-landing-single .page-body .outro {
  max-width: 45em;
  margin: 0 auto;
  padding: 3em 0; }
@media only screen and (max-width: 1024px) and (min-width: 768px) {
  body.page-template-page-landing .page-body .blocks.isotope,
  body.page-template-page-landing-single .page-body .blocks.isotope {
    max-width: 75.52083vw;
    margin: 0 auto; } }
@media only screen and (max-width: 1024px) {
  body.page-template-page-landing .page-body .blocks.isotope .block,
  body.page-template-page-landing-single .page-body .blocks.isotope .block {
    width: 100%; }
    body.page-template-page-landing .page-body .blocks.isotope .block:nth-child(2) .block-interior,
    body.page-template-page-landing-single .page-body .blocks.isotope .block:nth-child(2) .block-interior {
      padding-top: 2em; } }
body.page-template-page-landing .page-body .block-image svg,
body.page-template-page-landing-single .page-body .block-image svg {
  width: 14.28571em;
  height: auto;
  display: block;
  margin: 0 auto 1em; }
body.page-template-page-landing .page-body .block-image.tall svg,
body.page-template-page-landing-single .page-body .block-image.tall svg {
  width: 9.52381em; }

body.single-calendar .page-header {
  position: relative; }
body.single-calendar .cal-subscribe {
  display: flex;
  align-items: center;
  border-radius: 1em;
  background: #FFF;
  padding: 0 1em;
  line-height: 2em;
  color: #2e3178;
  text-align: center;
  max-width: 14.72727em; }
  @media only screen and (min-width: 768px) {
    body.single-calendar .cal-subscribe {
      position: absolute;
      right: 0;
      bottom: 2.60417vw; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) and (min-width: 768px) {
    body.single-calendar .cal-subscribe {
      bottom: 4.6875vw; } }

  @media only screen and (min-width: 1025px) {
    body.single-calendar .cal-subscribe:hover .bell {
      transform: rotate(-15deg); } }
  @media only screen and (max-width: 767px) {
    body.single-calendar .cal-subscribe {
      margin: 0 auto;
      margin-top: 2em;
      margin-bottom: 2em; } }
  body.single-calendar .cal-subscribe .bell {
    display: inline-block;
    margin-right: 0.25em; }
body.single-calendar .page-calendar {
  max-width: 75.52083vw;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) and (min-width: 768px) {
    body.single-calendar .page-calendar {
      max-width: calc(100% - 7.8125vw); } }
  @media only screen and (max-width: 767px) {
    body.single-calendar .page-calendar {
      max-width: calc(100% - 10.66667vw); } }
@media only screen and (max-width: 767px) {
  body.single-calendar .simcal-events {
    padding-left: 0; } }
body.single-calendar .simcal-events-dots b {
  color: #FFF !important; }
body.single-calendar .simcal-event-details {
  color: #2e3178; }
  body.single-calendar .simcal-event-details a {
    border-bottom: 1px dotted #2e3178; }
body.single-calendar .simcal-event-start,
body.single-calendar .simcal-event-end,
body.single-calendar .simcal-event-address {
  font-weight: 500; }
body.single-calendar .simcal-default-calendar-grid > table tbody td {
  background: rgba(0, 0, 0, 0.15); }
body.single-calendar .simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-number {
  background: rgba(0, 0, 0, 0.1) !important;
  font-weight: 900;
  padding: 0.8em 0; }
body.single-calendar .simcal-default-calendar-grid.simcal-default-calendar-light .simcal-today .simcal-day-number {
  background: #2e3178 !important; }
body.single-calendar .simcal-default-calendar-light .simcal-nav-button {
  color: #FFF !important; }

.page-store .page-interior {
  width: 80vw;
  margin: 0 auto;
  max-width: 1200px; }

.page-list .page-header .wiggle svg [fill] {
  fill: #ec232f; }
.page-list .post-categories {
  display: inline; }
.page-list .blocks {
  margin: 4em auto;
  width: 50vw; }
  @media only screen and (max-width: 1024px) {
    .page-list .blocks {
      width: 83.33333vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .page-list .blocks {
      width: 80vw; } }

.page-list .block {
  border-top: 1px solid #2e3178;
  padding: 2em 0; }
  .page-list .block .block-interior {
    display: flex;
    align-items: center; }
    .page-list .block .block-interior .block-subtitle {
      color: #ec232f;
      line-height: 1.4em; }
    .page-list .block .block-interior .block-title {
      color: #2e3178;
      font-weight: 900;
      border-bottom: 1px transparent solid; }
      .page-list .block .block-interior .block-title:hover {
        border-bottom: 1px dotted #2e3178; }
    .page-list .block .block-interior .block-image img {
      height: auto;
      display: block;
      width: 6.25vw;
      margin-right: 2em; }
      @media only screen and (max-width: 1024px) {
        .page-list .block .block-interior .block-image img {
          width: 13.02083vw;
          margin-right: 1em; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .page-list .block .block-interior .block-image img {
      width: 24vw;
      margin-right: 3.2vw; } }

.post-categories {
  list-style: none;
  margin: 0;
  padding: 0; }
  .post-categories li {
    display: inline-block; }
    .post-categories li:not(:first-child):before {
      content: " / "; }

.page-article .page-header {
  padding-bottom: 5.20833vw;
  position: relative;
  color: #FFF; }
  .page-article .page-header:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 7.8125vw);
    background-color: #ec232f; }
  .page-article .page-header .page-category {
    color: #2e3178;
    padding-bottom: 1em; }
    .page-article .page-header .page-category a {
      color: #2e3178;
      text-decoration: none; }
  .page-article .page-header .page-date {
    padding-top: 1em; }
  .page-article .page-header .red-waves {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7.8125vw; }
    @media only screen and (max-width: 1024px) {
      .page-article .page-header .red-waves {
        bottom: 2px; } }
.page-article .page-body {
  max-width: 46.875vw;
  padding-top: 4em;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) and (min-width: 768px) {
    .page-article .page-body {
      max-width: 80.72917vw; } }
  @media only screen and (max-width: 767px) {
    .page-article .page-body {
      max-width: 85.33333vw; } }
  .page-article .page-body:after {
    content: "";
    display: block;
    width: 7.8125vw;
    height: 8em;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("images/rose-stem-horz.svg");
    margin: 0 auto; }
    @supports (-ms-ime-align:auto) {
      .page-article .page-body:after {
        background-size: 100% 100%; } }
    @media only screen and (max-width: 1024px) {
      .page-article .page-body:after {
        width: 15.625vw; } }
    @media only screen and (max-width: 767px) {
      .page-article .page-body:after {
        width: 32vw; } }
  .page-article .page-body h2,
  .page-article .page-body h3 {
    font-weight: 900;
    color: #2e3178;
    padding-bottom: 1em; }
  .page-article .page-body h2 {
    font-weight: 900;
    font-size: 1.5625vw;
    line-height: 1.6em; }
    @media only screen and (max-width: 1024px) {
      .page-article .page-body h2 {
        font-size: 2.34375vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .page-article .page-body h2 {
      font-size: 4.26667vw; } }

  .page-article .page-body p:not(:last-child) {
    padding-bottom: 2em; }
  .page-article .page-body p b, .page-article .page-body p strong {
    font-weight: 500; }
  .page-article .page-body > figure.wp-block-image:first-child + p:first-letter {
    color: #2e3178;
    float: left;
    font-size: 3.6em;
    line-height: 1em;
    font-weight: 900;
    margin-right: 0.15em; }
  .page-article .page-body > p a {
    color: #ec232f;
    border-bottom: 1px dotted #ec232f;
    font-weight: 500; }
  .page-article .page-body > p:first-child:first-letter {
    color: #2e3178;
    float: left;
    font-size: 3.6em;
    line-height: 1em;
    font-weight: 900;
    margin-right: 0.15em; }
  .page-article .page-body table {
    width: 100% !important;
    margin-bottom: 2em; }
    .page-article .page-body table tr:first-child b, .page-article .page-body table tr:first-child strong {
      color: #ec232f;
      font-weight: 500; }
    .page-article .page-body table td {
      padding: 0;
      border-bottom: 1px solid #2e3178; }
  .page-article .page-body figure {
    margin: 0;
    padding-bottom: 4em; }
    .page-article .page-body figure img {
      max-width: 100%;
      height: auto;
      margin: 0 auto;
      display: block; }
    .page-article .page-body figure.wp-block-pullquote:after, .page-article .page-body figure.wp-block-pullquote:before {
      content: "";
      width: 9.375vw;
      height: 0.67708vw;
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
      background-image: url("images/wiggle-blue.svg");
      display: block;
      margin: 0 auto; }
      @supports (-ms-ime-align:auto) {
        .page-article .page-body figure.wp-block-pullquote:after, .page-article .page-body figure.wp-block-pullquote:before {
          background-size: 100% 100%; } }
      @media only screen and (max-width: 1024px) {
        .page-article .page-body figure.wp-block-pullquote:after, .page-article .page-body figure.wp-block-pullquote:before {
          width: 15.625vw;
          height: 1.17188vw; } }
      @media only screen and (max-width: 767px) {
        .page-article .page-body figure.wp-block-pullquote:after, .page-article .page-body figure.wp-block-pullquote:before {
          width: 32vw;
          height: 2.4vw; } }
    .page-article .page-body figure.wp-block-pullquote blockquote {
      margin: 0; }
    .page-article .page-body figure blockquote {
      padding: 2em 0; }
      .page-article .page-body figure blockquote p {
        font-size: 2.34375vw;
        line-height: 1.4em;
        color: #2e3178;
        padding-bottom: 0 !important; }
        @media only screen and (max-width: 1024px) {
          .page-article .page-body figure blockquote p {
            font-size: 4.29688vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .page-article .page-body figure blockquote p {
      font-size: 7.2vw; } }

      .page-article .page-body figure blockquote cite {
        font-weight: 500;
        font-size: 10px;
        text-transform: uppercase;
        font-style: normal;
        color: #2e3178;
        letter-spacing: 0.2em;
        padding-top: 2em;
        display: block; }
        @media only screen and (min-width: 1441px) {
          .page-article .page-body figure blockquote cite {
            font-size: 0.625vw; } }
  .page-article .page-body > blockquote {
    font-family: courier;
    margin: 0;
    padding-left: 2em;
    padding-right: 2em;
    padding-bottom: 2em; }

.module-lead {
  max-width: 73.69792vw;
  margin: 0 auto;
  position: relative;
  width: 100%;
  min-height: 36.45833vw;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center; }
  @media only screen and (max-width: 1024px) {
    .module-lead {
      max-width: 91.14583vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .module-lead {
      max-width: 80vw; } }

  .module-lead .big-rose-wrapper {
    min-height: 19.79167vw; }
  .module-lead .big-rose-bg svg {
    max-width: 66.66667vw; }
  .module-lead .module-interior {
    position: relative;
    width: 100%;
    margin-top: 18vw; }
@media only screen and (max-width: 1024px) and (max-width: 767px) {
  .module-lead .module-interior {
    margin-top: 26.66667vw; } }

  @media only screen and (min-width: 1025px) {
    .module-lead .block-content {
      padding-top: 5.20833vw; } }
  @media only screen and (max-width: 1024px) {
    .module-lead .block-title {
      max-width: 8em; } }
  .module-lead .block-text {
    max-width: 54em;
    margin: 1em auto; }
    @media only screen and (max-width: 1024px) {
      .module-lead .block-text {
        max-width: 42em; } }
    .module-lead .block-text a {
      padding: 0.5em 2em;
      background-color: #2e3178;
      border-radius: 2em;
      color: #FFF;
      font-weight: 900;
      display: inline-block;
      margin: 2em auto; }

.page-template-page-splash {
  background-color: #ec232f;
  color: #FFF; }
  .page-template-page-splash .page-body .contact {
    padding-top: 2em;
    text-align: center; }
  .page-template-page-splash .page-body .module-splash {
    max-width: 73.69792vw;
    margin: 0 auto;
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center; }
    @media only screen and (max-width: 1024px) {
      .page-template-page-splash .page-body .module-splash {
        max-width: 91.14583vw; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .page-template-page-splash .page-body .module-splash {
      max-width: 80vw; } }

    .page-template-page-splash .page-body .module-splash .module-interior {
      position: relative;
      width: 100%;
      margin-top: 10.41667vw; }
@media only screen and (max-width: 1024px) and (max-width: 767px) {
  .page-template-page-splash .page-body .module-splash .module-interior {
    margin-top: 26.66667vw; } }

    @media only screen and (min-width: 1025px) {
      .page-template-page-splash .page-body .module-splash .block-content {
        padding-top: 5.20833vw; } }
    @media only screen and (max-width: 1024px) {
      .page-template-page-splash .page-body .module-splash .block-title {
        max-width: 8em; } }
    .page-template-page-splash .page-body .module-splash .block-text {
      max-width: 54em;
      margin: 1em auto; }
      @media only screen and (max-width: 1024px) {
        .page-template-page-splash .page-body .module-splash .block-text {
          max-width: 42em; } }
      .page-template-page-splash .page-body .module-splash .block-text a {
        padding: 0.5em 2em;
        background-color: #2e3178;
        border-radius: 2em;
        color: #FFF;
        font-weight: 900;
        display: inline-block;
        margin: 2em auto; }
  .page-template-page-splash .header, .page-template-page-splash .footer {
    display: none; }

.cart-options {
  text-transform: uppercase;
  padding-top: 1em; }
  .cart-options a {
    color: #ec232f; }

.woocommerce div.product {
  display: flex; }

.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
  width: 48%; }

.woocommerce div.product div.summary {
  padding-left: 1em; }

.woocommerce div.product div.images .flex-control-thumbs li {
  padding: 2px; }
.woocommerce div.product div.images .flex-control-thumbs img {
  width: 80%;
  max-width: 100px; }

.woocommerce .button {
  background-color: #000 !important;
  color: #FFF !important; }

.woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce div.product .stock {
  color: #ec232f; }

.single-product form .ui-selectmenu-button .ui-selectmenu-text.placeholder {
  color: #000; }
.single-product form .ui-selectmenu-menu {
  top: 0 !important; }
.single-product form .ui-selectmenu-menu .ui-widget-content {
  padding-top: 0 !important;
  border: 1px solid #efefef;
  position: relative; }
  .single-product form .ui-selectmenu-menu .ui-widget-content:after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #efefef; }
.single-product .woocommerce div.product form.cart .variations td {
  position: relative;
  padding-left: 0.83333vw; }
.single-product .woocommerce div.product form.cart .variations th {
  text-align: left;
  position: relative; }
.single-product .ui-selectmenu-button.ui-button {
  margin-top: 0.15em;
  padding-top: 0.15em; }

@media only screen and (max-width: 1024px) {
  .desktop-only {
    display: none !important; } }

@media only screen and (min-width: 1025px) {
  .tablet-only {
    display: none !important; } }
@media only screen and (max-width: 767px) {
  .tablet-only {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .mobile-only {
    display: none !important; } }

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

.ui-admin-barui-admin-bar--is-collapsed {
  display: none !important; }

.invisible {
  visibility: hidden; }

.displace, .hide {
  position: absolute;
  left: -10000px;
  top: -10000px; }

/*# sourceMappingURL=style.css.map */
