@charset "UTF-8";
/*

Base Styles
===========

HTML, BODY, #wrapper styles

*/
:root {
  --teal_primary: #006968;
  --teal_light: #c7e0e0;
  --yellow_primary: #fdc50e;
  --yellow_light: #ffeebd;
  --blue_primary: #003057;
  --blue_light: #ccd1e6;
  --azure_primary: #0076ac;
  --azure_light: #d1f1fc;
  --green_primary: #22421e;
  --green_light: #cfdbd1;
  --coral_primary: #f04151;
  --coral_light: #ffd7d9;
  --maroon_primary: #691c32;
  --maroon_light: #e6d5d4;
  --pink_primary: #ee4796;
  --pink_light: #fbd8e7;
  --neutral: #f1f3f7;
}

.wrapper {
  max-width: 1100px;
  margin: 0 auto;
  width: 90%;
}

.vistra-forms-colour-palette {
  --vistra-forms-primary-color: #bf0d3f;
  --vistra-forms-light-color: #fff;
  --vistra-input-colour: #fff;
  --vistra-forms-svg: url("../../images/con_bg_tint.svg")
}

.vistra-forms-colour-palette .bg-colour-white {
  --vistra-forms-primary-color: #bf0d3f;
  --vistra-forms-light-color: #fff;
  --vistra-forms-svg: url("../../images/con_bg_tint.svg")
}

.vistra-forms-colour-palette [class*="bg-colour-blue"] {
  --vistra-forms-primary-color: var(--blue_primary);
  --vistra-forms-light-color: var(--blue_light);
  --vistra-forms-svg: url("../../images/con_bg_blue.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-teal"] {
  --vistra-forms-primary-color: var(--teal_primary);
  --vistra-forms-light-color: var(--teal_light);
  --vistra-forms-svg: url("../../images/con_bg_teal.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-green"] {
  --vistra-forms-primary-color: var(--green_primary);
  --vistra-forms-light-color: var(--green_light);
  --vistra-forms-svg: url("../../images/con_bg_green.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-pink"] {
  --vistra-forms-primary-color: var(--pink_primary);
  --vistra-forms-light-color: var(--pink_light);
  --vistra-forms-svg: url("../../images/con_bg_pink.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-maroon"] {
  --vistra-forms-primary-color: var(--maroon_primary);
  --vistra-forms-light-color: var(--maroon_light);
  --vistra-forms-svg: url("../../images/con_bg_maroon.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-azure"] {
  --vistra-forms-primary-color: var(--azure_primary);
  --vistra-forms-light-color: var(--azure_light);
  --vistra-forms-svg: url("../../images/con_bg_azure.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-yellow"] {
  --vistra-forms-primary-color: var(--yellow_primary);
  --vistra-forms-light-color: var(--yellow_light);
  --vistra-forms-svg: url("../../images/con_bg_yellow.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-coral"] {
  --vistra-forms-primary-color: var(--coral_primary);
  --vistra-forms-light-color: var(--coral_light);
  --vistra-forms-svg: url("../../images/con_bg_coral.svg");
}

.vistra-forms-colour-palette [class*="bg-colour-neutral"] {
  --vistra-forms-primary-color: var(--neutral);
  --vistra-forms-light-color: var(--neutral);
  --vistra-forms-svg: none;
  --vistra-input-colour: var(--neutral);
}

/* Helpers
   ========================================================================== */
.h-ir {
  color: transparent;
  font: 0/0 a;
  text-shadow: none;
}

.h-hide-text {
  text-indent: 300%;
  white-space: nowrap;
  overflow: hidden;
}

@media all and (-ms-high-contrast: none) {
  .h-hide-text { /* IE10 */
    text-indent: -9999px;
  }
  *::-ms-backdrop, .h-hide-text { /* IE11 */
    text-indent: -9999px;
  }
}
.h-hidden {
  display: none !important;
  visibility: hidden;
}

.h-screen-reader-text:not(:focus):not(:active),
.h-visually-hidden: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 !important;
  width: 1px;
  white-space: nowrap;
  word-wrap: normal !important;
}
.h-screen-reader-text:focus,
.h-visually-hidden:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}

.h-plain-list {
  list-style: none;
  list-style-image: none;
}

.h-center-text {
  text-align: center;
}

.h-left-text {
  text-align: left;
}

.h-right-text {
  text-align: right;
}

.h-centered {
  margin-right: auto;
  margin-left: auto;
}

.h-float-left {
  float: left;
}

.h-float-right {
  float: right;
}

.h-skipnav {
  background: transparent;
  color: #000000;
  left: 0;
  padding: 1rem 1.5rem;
  position: absolute;
  top: -4.2rem;
  transition: all 0.2s ease-in-out;
  z-index: 100;
}

.h-skipnav:focus {
  background: #FFFFFF;
  left: 0;
  outline: 0;
  position: absolute;
  top: 0;
  transition: all 0.2s ease-in-out;
}

/*------------------------------------*\
	$BEAUTONS.CSS
\*------------------------------------*/
/**
 * beautons is a beautifully simple button toolkit.
 *
 * LICENSE
 *
 * Copyright 2013 Harry Roberts
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
/*!*
 *
 * @csswizardry -- csswizardry.com/beautons
 *
 */
/*------------------------------------*\
	$BASE
\*------------------------------------*/
/**
* Base button styles.
*
*  1. Allow us to better style box model properties.
*  2. Line different sized buttons up a little nicer.
*  3. Stop buttons wrapping and looking broken.
*  4. Make buttons inherit font styles.
*  5. Force all elements using beautons to appear clickable.
*  6. Normalise box model styles.
*  7. If the button’s text is 1em, and the button is (3 * font-size) tall, then
*     there is 1em of space above and below that text. We therefore apply 1em
*     of space to the left and right, as padding, to keep consistent spacing.
*  8. Basic cosmetics for default buttons. Change or override at will.
*  9. Fixes odd inner spacing in IE7.
* 10. Don’t allow buttons to have underlines; it kinda ruins the illusion.
* 11. Prevents from inheriting default anchor styles.
*/
/*------------------------------------*\
	$SIZES
\*------------------------------------*/
/**
 * Button size modifiers.
 *
 * These all follow the same sizing rules as above; text is 1em, space around it
 * remains uniform.
 */
/**
 * These buttons will fill the entirety of their container.
 *
 * 1. Remove padding so that widths and paddings don’t conflict.
 */
.btn--full, .hs-submit .hs-button.primary.large {
  width: 100%;
  padding-right: 0; /* [1] */
  padding-left: 0; /* [1] */
  text-align: center;
}

/*------------------------------------*\
	$FONT-SIZES
\*------------------------------------*/
/**
 * Button font-size modifiers.
 */
/**
 * Make the button inherit sizing from its parent.
 */
/*------------------------------------*\
	$FUNCTIONS
\*------------------------------------*/
/**
 * Button function modifiers.
 */
/**
 * Negative actions; e.g. close account, delete photo, remove friend, etc.
 */
/*------------------------------------*\
	$STYLES
\*------------------------------------*/
/**
 * Button style modifiers.
 *
 * 1. Use an overly-large number to ensure completely rounded, pill-like ends.
 */



.form__label > i {
  font-weight: normal;
  text-transform: lowercase;
  font-style: normal;
  color: #7b7b7b;
}


/*a {*/
/*  color: rgb(188, 8, 49);*/
/*}*/
/*a:visited {*/
/*  color: rgb(188, 8, 49);*/
/*}*/
/*a:hover {*/
/*  color: #f51b4d;*/
/*}*/
/*a:focus {*/
/*  color: #0b0c0c;*/
/*}*/
/*a:active {*/
/*  color: #f63460;*/
/*}*/

.unstyled-link {
  color: inherit;
  text-decoration: none;
}
.unstyled-link:visited {
  color: inherit;
}
.unstyled-link:hover {
  color: #f51b4d;
}
.unstyled-link:focus {
  color: #0b0c0c;
}
.unstyled-link:active {
  color: #f63460;
}

.unstyled-child-link a {
  color: inherit;
  text-decoration: none;
}
.unstyled-child-link a:visited {
  color: inherit;
}
.unstyled-child-link a:hover {
  color: #f51b4d;
}
.unstyled-child-link a:focus {
  color: #0b0c0c;
}
.unstyled-child-link a:active {
  color: #f63460;
}

.hover--underline {
  text-decoration: none;
}
.hover--underline:hover, .hover--underline:focus {
  text-decoration: underline;
}

/*a:not(.btn):focus {*/
/*  outline: 3px solid transparent;*/
/*  background-color: #ffbf47;*/
/*  box-shadow: 0 -2px #ffbf47, 0 4px #0b0c0c;*/
/*  text-decoration: none;*/
/*  color: #0b0c0c;*/
/*}*/




.group-primary {
  position: relative;
  z-index: 3;
  grid-area: primary;
}

.group-secondary {
  position: relative;
  z-index: 1;
  grid-area: secondary;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.13);
}
.group-secondary:before {
  content: "";
  display: block;
  width: 150%;
  height: 200px;
  background: #bf0d3f url("../../images/con_bg_tint.svg");
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  top: -100px;
  left: -25%;
  right: 0;
  z-index: -1;
}

.group-secondary.bg-colour-white:before {
  background: #bf0d3f url("../../images/con_bg_tint.svg");
  background-repeat: no-repeat;
  background-position: center;
}
.group-secondary.bg-colour-teal-primary:before {
  background: var(--teal_primary) url("../../images/con_bg_teal.svg");
  background-repeat: no-repeat;
  background-position: center;
}
.group-secondary.bg-colour-yellow-primary:before {
  background: var(--yellow_primary) url("../../images/con_bg_yellow.svg");
  background-repeat: no-repeat;
  background-position: center;
}

@media all and (min-width: 48em) {
  .group-secondary:before {
    width: 1000px;
    height: calc(100% + 40px);
    top: -20px;
    left: 70%;
  }
}

.group-primary__inner,
.group-secondary__inner {
  background-color: #FFFFFF;
  padding: 1rem 1rem;
}

.bg-colour-teal-light .group-primary__inner {
  background-color: var(--teal_light);
  padding: 1rem 1rem;
}
.bg-colour-yellow-light .group-primary__inner {
  background-color: var(--yellow_light);
  padding: 1rem 1rem;
}

@media all and (min-width: 48em) {
  .group-primary__inner,
  .group-secondary__inner {
    padding: 1rem 1.5rem;
  }
}

.contactform__layout,
.form-item-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media all and (min-width: 64em) {
  .contactform__layout,
  .form-item-group {
    grid-template-columns: repeat(2, 1fr);
  }
}

.form-item-group {
  gap: 0.5rem;
}

.form-item--full-width {
  grid-column: 1/-1;
}

.form-item-opt-in.form-item-opt-in--inline {
  display: grid;
  grid-template-columns: 75px auto;
  gap: 0.5rem;
}

.form-item-opt-in.form-item-opt-in--inline .option {
  min-width: 75px;
}

.form-item-opt-in.form-item-opt-in--inline .option.option--full-width {
  grid-column: 1/-1;
}

.hs-form input:not([type="checkbox"]).hs-input,
.hs-form textarea.hs-input {
  width: 100% !important;
}

.hs-form input:focus, .hs-form textarea:focus, .hs-form select:focus{
  outline: none;
  border: 1px solid #bf0d3e !important;
}
.hs-form input[type="checkbox"].hs-input {
  margin: 0;
  accent-color: #bf0d3e;
  width: auto;
}
.text--red {
  color: #bf0d3e;
}

.hs-richtext p {
  font-size: .85rem;
}

.hbspt-form fieldset {
  max-width: unset !important;
}

.hs_recaptcha.hs-form-field, .hs_submit {
  padding: 10px 0 0 0;
}





