@charset "UTF-8";
/*------------------------------------*\
    #TABLE OF CONTENTS
\*------------------------------------*/
/**
 * ABSTRACTS..............................Declarations of Sass variables & mixins
 * BASE...................................Default element styles
 * LAYOUT.................................Layout-specific styles
 * COMPONENTS.............................Component styles
 * UTILITIES..............................Utility classes
 */
/*------------------------------------*\
    #ABSTRACTS
\*------------------------------------*/
/*------------------------------------*\
    #VARIABLES
\*------------------------------------*/
/**
 * CONTENTS
 *
 * COLORS
 * Brand Colors...............Globally-available variables and config
 * Neutral Colors.............Grayscale colors, including white and black
 * Utility Colors.............Info, Warning, Error, Success
 *
 * TYPOGRAPHY
 * Font Families..............The fonts used in the design system
 * Sizing.....................Font sizing
 *
 * LAYOUT
 * Max-widths.................Maximum layout container width
 *

 * SPACING
 * Spacing defaults...........Spacing between elements
 *
 * BORDERS
 * Border Width...............Border thicknesses
 * Border Radius..............Border radius definitions
 *
 * ANIMATION
 * Animation Speed............Transition/animation speed variables
 * Animation easing...........Easing variables
 *
 * BREAKPOINTS
 * Breakpoints................Global breakpoint definitions
 */
/*------------------------------------*\
     #COLORS
 \*------------------------------------*/
/**
 * Brand Colors
 * 1) Brand=specific colors
 */
/**
 * Neutral Colors
 * 1) Neutral colors are grayscale values used throughout the UI
 */
/**
 * Utility Colors
 * 1) Utility colors are colors used to provide feedback, such as alert messages,
 *    form validation, etc.
 */
/*------------------------------------*\
    #TYPOGRAPHY
\*------------------------------------*/
/**
 * Font Family
 */
/**
 * Font Sizing
 */
/**
 * Line Height
 */
/*------------------------------------*\
    #LAYOUT
\*------------------------------------*/
/**
 * Max Width
 */
/*------------------------------------*\
    #SPACING
\*------------------------------------*/
/**
 * Spacing and offsets
 * 1) Used to space grids and body padding
 */
/*------------------------------------*\
    #BORDERS
\*------------------------------------*/
/**
 * Border widths
 */
/**
 * Border radius
 */
/*------------------------------------*\
    #ANIMATION
\*------------------------------------*/
/**
 * Transition Speed
 */
/**
 * Transition Ease
 */
/*------------------------------------*\
    #BREAKPOINTS
\*------------------------------------*/
/**
 * Breakpoints used in media queries
 * 1) These are not the only breakpoints used, but they provide a few defaults
 */
/*------------------------------------*\
    #MIXINS
\*------------------------------------*/
/**
 * Body Styles 
 * 1) Prevent Mobile Safari from scaling up text: https://blog.55minutes.com/2012/04/iphone-text-resizing/
 */
/**
 * XL Type Styles
 */
/**
 * XL Heading Styles
 */
/**
 * Large Heading Styles
 */
/**
 * Medium 2 Heading Styles
 */
/**
 * Medium 3 Heading Styles
 */
/**
 * Medium Heading Styles
 */
/**
* Returns content wrapped media query
*
* This resonsive query accepts both values from the SCSS map for queries as well as custom values
*
*/
/*------------------------------------*\
    #COLORS
\*------------------------------------*/
/**
 * In this file, we take the literal colors from our palette (defined in variables.scss)
 * and define them against variables that we can utilise anywhere throughout the project.
 */
/*------------------------------------*\
    #GLOBAL TEXT COLOR
\*------------------------------------*/
/**
 * Body text and background colors
 */
/**
 * Highlight colors
 */
/*------------------------------------*\
    #LINKS
\*------------------------------------*/
/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
/*------------------------------------*\
    #FORMS
\*------------------------------------*/
/*------------------------------------*\
    #BASE
\*------------------------------------*/
/*------------------------------------*\
    #RESET
\*------------------------------------*/
/**
 * Border-Box http:/paulirish.com/2012/box-sizing-border-box-ftw/
 */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/**
 * 1) Zero out margins and padding for elements
 */
html, body, div, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, ol, ul, li, form, legend, label, table, header, footer, nav, section, figure {
  margin: 0;
  padding: 0; }

/**
 * 1) Set HTML5 elements to display: block
 */
header, footer, nav, section, article, figure {
  display: block; }

/*------------------------------------*\
    #BODY
\*------------------------------------*/
/**
 * HTML base styles
 * 1) Set the html element's height to at least 100% of the viewport.
 *    This is used to achieve a sticky footer
 */
html {
  min-height: 100vh;
  /* 1 */
  background-color: #fff; }

/**
 * Body base styles
 * 1) Set the body element's height to at least 100% of the viewport.
 *    This is used to achieve a sticky footer
 */
body {
  min-height: 100vh;
  /* 1 */
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  /* 1 */
  background-color: transparent;
  color: #212529;
  margin: 0 auto; }

/*------------------------------------*\
    #LINKS
\*------------------------------------*/
/**
 * Link base styles
 */
a {
  color: #444;
  text-decoration: none;
  outline: 0;
  -webkit-transition: color 0.15s ease-out;
  -o-transition: color 0.15s ease-out;
  transition: color 0.15s ease-out; }
  a:hover, a:focus {
    color: #808080; }
  a:active {
    color: #131313; }
  a:visited {
    color: #131313; }

/*------------------------------------*\
    #LISTS
\*------------------------------------*/
/**
 * 1) List base styles
 */
/**
  * Remove list styles from unordered and ordered lists
  */
ol, ul {
  list-style: none; }

/*------------------------------------*\
    #HEADINGS
\*------------------------------------*/
/**
 * Heading 1 base styles
 */
h1 {
  font-size: 3rem;
  font-weight: normal;
  line-height: 1.2; }

/**
 * Heading 2 base styles
 */
h2 {
  font-size: 2rem;
  font-weight: normal;
  line-height: 1.2; }

/**
 * Heading 3 base styles
 */
h3 {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.2; }

/**
 * Heading 4 base styles
 */
h4 {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.2; }

/*------------------------------------*\
    #FORMS
\*------------------------------------*/
/**
 * 1) Form element base styles
 */
/**
 * Input placeholder text base styles
 */
::-webkit-input-placeholder {
  color: #808080; }

::-moz-placeholder {
  color: #808080; }

:-ms-input-placeholder {
  color: #808080; }

/**
 * Fieldset base styles
 */
fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

/**
 * Legend base styles
 */
legend {
  margin-bottom: 0.25rem; }

/**
 * Label base styles
 */
label {
  display: block;
  padding-bottom: 0.25rem;
  color: #131313; }

/**
 * Add font size 100% of form element and margin 0 to these elements
 */
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 1rem;
  margin: 0; }

/**
 * Text area base styles
 */
textarea {
  resize: none; }

/**
 * Input  and text area base styles
 */
input,
textarea {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #444;
  background: #fff; }
  input:focus,
  textarea:focus {
    border-color: #131313; }

/**
 * Remove webkit appearance styles from these elements
 */
input[type="text"],
input[type="search"],
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="url"],
input[type="number"],
textarea {
  -webkit-appearance: none;
  display: block; }

/**
 * Checkbox and radio button base styles
 */
input[type="checkbox"],
input[type="radio"] {
  width: auto;
  margin-right: 0.3rem;
  border-color: #444; }

/**
 * Search input base styles
 */
input[type="search"] {
  -webkit-appearance: none;
  border-radius: 0; }

/**
 * Select
 * 1) Remove default styling
 */
select {
  display: block;
  font-size: 1rem;
  width: 100%;
  border: 1px solid #444;
  padding: 0.5rem;
  background: #fff;
  color: #131313; }
  select:focus {
    border-color: #131313; }

/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
/**
 * Button and submit inputs reset
 * 1) These should be styled using c-btn
 */
button {
  cursor: pointer; }

/*------------------------------------*\
    #MAIN ELEMENT
\*------------------------------------*/
/**
 * Main element
 */
[role=main] {
  display: block;
  padding: 1rem; }

/*------------------------------------*\
    #MEDIA
\*------------------------------------*/
/**
 * Responsive image styling
 * 1) Allows for images to flex with varying screen size
 */
img {
  max-width: 100%;
  height: auto; }

/*------------------------------------*\
    #TEXT
\*------------------------------------*/
/**
 * Paragraph base styles
 */
p {
  margin-bottom: 1rem; }

/**
 * Blockquote base styles
 */
blockquote {
  font-style: italic;
  border-left: 1px solid #808080;
  color: #808080;
  padding-left: 1rem;
  margin-bottom: 1rem; }

/**
 * Horizontal rule base styles
 */
hr {
  border: 0;
  height: 1px;
  background: #808080;
  margin: 1rem 0; }

/**
 * Selection styles
 */
::-moz-selection {
  color: #131313;
  background: #ddd;
  /* Gecko Browsers */ }

::selection {
  color: #131313;
  background: #ddd;
  /* WebKit/Blink Browsers */ }

/**
 * Code base styles
 */
code {
  display: inline-block;
  background: #f9f9f9;
  border: 1px solid #ddd;
  padding: 0.2rem 0.5rem;
  line-height: 1.2;
  font-size: 0.85rem; }

/**
 * Preformatted text base styles
 */
pre {
  background: #f9f9f9;
  border: 1px solid #ddd;
  font-size: 1rem;
  padding: 1rem;
  overflow-x: auto;
  /**
	 * Remove border from code within preformatted text block
	 */ }
  pre code {
    border: 0; }

/**
 * Code with languages associated with them
 * 1) Override Prism sysles for code blocks with language
 */
code[class*="language-"],
pre[class*="language-"] {
  font-family: monospace !important; }

/*------------------------------------*\
    #TABLES
\*------------------------------------*/
/**
 * Table
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

/**
 * Table header cell
 */
th {
  text-align: left; }

/**
 * Table row
 */
tr {
  vertical-align: top; }

/*------------------------------------*\
    #LAYOUT
\*------------------------------------*/
/*------------------------------------*\
    #LAYOUT
\*------------------------------------*/
/**
 *
 * 1) This caps the width of text passages
 *    to achieve a comfortable line length
 */
.l-linelength-container {
  max-width: 36rem; }

/*------------------------------------*\
    #GRID
\*------------------------------------*/
/*------------------------------------*\
    #SECTION
\*------------------------------------*/
.section {
  padding-top: 50px;
  padding-bottom: 50px; }
  @media (min-width: 48em) {
    .section {
      padding-top: 70px;
      padding-bottom: 70px; } }

/*------------------------------------*\
    #left right
\*------------------------------------*/
.l-left-right {
  display: block;
  margin: 0; }
  .l-left-right--ns {
    margin: 0; }
    .l-left-right--ns .l-left-right__item {
      padding: 0; }
  @media (min-width: 48em) {
    .l-left-right--cv {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .l-left-right--1-3 > div {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: auto;
    max-width: initial; }
  @media (min-width: 60em) {
    .l-left-right--1-3 .l-left-right__item {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.333333%;
              flex: 0 0 33.333333%;
      width: 33.333333%;
      max-width: initial; } }
  .l-left-right--2-3 > div {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: auto;
    max-width: initial; }
  @media (min-width: 60em) {
    .l-left-right--2-3 .l-left-right__item {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 66.666%;
              flex: 0 0 66.666%;
      width: 66.666%;
      max-width: initial; } }
  @media (min-width: 60em) {
    .l-left-right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 -1.5rem; }
      .l-left-right--flip {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse; }
      .l-left-right--ns {
        margin: 0; }
        .l-left-right--ns .l-left-right__item {
          padding: 0; } }

.l-left-right__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
  padding: 1.5rem 0; }
  @media (min-width: 60em) {
    .l-left-right__item {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%;
      padding: 1.5rem; } }

@media (min-width: 60em) {
  .l-left-right__item .u-styled-img {
    height: 100%; }
    .l-left-right__item .u-styled-img > img {
      -o-object-fit: cover;
         object-fit: cover;
      height: 100%; } }

/*------------------------------------*\
    #UTILITIES
\*------------------------------------*/
/*------------------------------------*\
    #VISIBILITY CLASSES
\*------------------------------------*/
/**
 * Is Hidden
 * 1) Completely remove from the flow and screen readers.
 */
.u-is-hidden {
  display: none !important;
  visibility: hidden !important; }

/**
 * Is Visibly Hidden
 * 1) Completely remove from the flow but leave available to screen readers.
 */
.u-is-vishidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px); }

/*------------------------------------*\
    #SPACING
\*------------------------------------*/
/**
 * Margin bottom none
 * 1) Force margin bottom of 0
 */
.u-margin-bottom-none {
  margin-bottom: 0 !important; }

/**
 * Margin bottom small
 * 1) Force margin bottom of $spacing-small variable
 */
.u-margin-bottom-small {
  margin-bottom: 1rem !important; }

/**
 * Margin bottom
 * 1) Force margin bottom of $spacing variable
 */
.u-margin-bottom {
  margin-bottom: 1rem !important; }

/**
 * Margin bottom large
 * 1) Force margin bottom of $spacing-large variable
 */
.u-margin-bottom-large {
  margin-bottom: 2rem !important; }

.u-margin-bottom-large-to-xxl {
  margin-bottom: 2rem !important; }
  @media all and (min-width: bp-large) {
    .u-margin-bottom-large-to-xxl {
      margin-bottom: 8rem !important; } }

/**
 * Margin top none
 * 1) Force margin top of 0
 */
.u-margin-top-none {
  margin-top: 0 !important; }

/**
 * Margin top small
 * 1) Force margin top of $spacing-small variable
 */
.u-margin-top-small {
  margin-top: 1rem !important; }

/**
 * Margin top
 * 1) Force margin top of $spacing variable
 */
.u-margin-top {
  margin-top: 1rem !important; }

/**
 * Margin top large
 * 1) Force margin top of $spacing-large variable
 */
.u-margin-top-large {
  margin-top: 2rem !important; }

.u-margin-top-booking {
  margin-top: 28rem !important; }

/**
 * Margin right none
 * 1) Force margin right of 0
 */
.u-margin-right-none {
  margin-right: 0 !important; }

/**
 * Margin right small
 * 1) Force margin right of $spacing-small variable
 */
.u-margin-right-small {
  margin-right: 1rem !important; }

/**
 * Margin right
 * 1) Force margin right of $spacing variable
 */
.u-margin-right {
  margin-right: 1rem !important; }

/**
 * Margin right large
 * 1) Force margin right of $spacing-large variable
 */
.u-margin-right-large {
  margin-right: 2rem !important; }

/**
 * Margin left none
 * 1) Force margin left of 0
 */
.u-margin-left-none {
  margin-left: 0 !important; }

/**
 * Margin left small
 * 1) Force margin left of $spacing-small variable
 */
.u-margin-left-small {
  margin-left: 1rem !important; }

/**
 * Margin left
 * 1) Force margin left of $spacing variable
 */
.u-margin-left {
  margin-left: 1rem !important; }

/**
 * Margin left large
 * 1) Force margin left of $spacing-large variable
 */
.u-margin-left-large {
  margin-left: 2rem !important; }

/**
 * Center display block contents
 */
.u-margin-center {
  margin: 0 auto !important; }

/**
 * Padding none
 */
.u-padding-none {
  padding: 0 !important; }

/**
 * Padding small
 */
.u-padding-small {
  padding: 1rem !important; }

/**
 * Padding
 */
.u-padding {
  padding: 1rem !important; }

/**
 * Padding large
 */
.u-padding-large {
  padding: 2rem !important; }

/**
 * Padding top none
 */
.u-padding-top-none {
  padding-top: 0 !important; }

/**
 * Padding top small
 */
.u-padding-top-small {
  padding-top: 1rem !important; }

/**
 * Padding top
 */
.u-padding-top {
  padding-top: 1rem !important; }

/**
 * Padding top large
 */
.u-padding-top-large {
  padding-top: 2rem !important; }

/**
 * Padding bottom none
 */
.u-padding-bottom-none {
  padding-bottom: 0 !important; }

/**
 * Padding bottom small
 */
.u-padding-bottom-small {
  padding-bottom: 1rem !important; }

/**
 * Padding bottom
 */
.u-padding-bottom {
  padding-bottom: 1rem !important; }

/**
 * Padding bottom large
 */
.u-padding-bottom-large {
  padding-bottom: 2rem !important; }

/**
 * Padding right none
 */
.u-padding-right-none {
  padding-right: 0 !important; }

/**
 * Padding right small
 */
.u-padding-right-small {
  padding-right: 1rem !important; }

/**
 * Padding right
 */
.u-padding-right {
  padding-right: 1rem !important; }

/**
 * Padding right large
 */
.u-padding-right-large {
  padding-right: 2rem !important; }

/**
 * Padding left none
 */
.u-padding-left-none {
  padding-left: 0 !important; }

/**
 * Padding left small
 */
.u-padding-left-small {
  padding-left: 1rem !important; }

/**
 * Padding left
 */
.u-padding-left {
  padding-left: 1rem !important; }

/**
 * Padding left large
 */
.u-padding-left-large {
  padding-left: 2rem !important; }

.green-bg {
  background-color: #F6FAF1;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative; }
  .green-bg > div {
    max-width: 1408px;
    margin-left: auto;
    margin-right: auto; }
  .green-bg__start:before {
    content: "";
    width: 100%;
    height: 300px;
    display: block;
    -webkit-transform: skewY(-3deg);
        -ms-transform: skewY(-3deg);
            transform: skewY(-3deg);
    background-color: #F6FAF1;
    position: relative;
    z-index: -1;
    position: absolute;
    top: -25%; }
    @media (min-width: 48em) {
      .green-bg__start:before {
        height: 250px;
        -webkit-transform: skewY(-3deg);
            -ms-transform: skewY(-3deg);
                transform: skewY(-3deg);
        top: -25%; } }
  .green-bg__end:after {
    content: "";
    width: 100%;
    height: 300px;
    display: block;
    -webkit-transform: skewY(3deg);
        -ms-transform: skewY(3deg);
            transform: skewY(3deg);
    background-color: #F6FAF1;
    position: absolute;
    z-index: -1; }
    @media (min-width: 48em) {
      .green-bg__end:after {
        height: 250px;
        -webkit-transform: skewY(3deg);
            -ms-transform: skewY(3deg);
                transform: skewY(3deg);
        top: 80%; } }

/*------------------------------------*\
    #COMPONENTS
\*------------------------------------*/
/*------------------------------------*\
    #TABLE OF CONTENTS
\*------------------------------------*/
/**
 * MOLECULES..............................Smaller components that can be used in more complex components
 * ORGANISMS..............................More complex components
 */
/*------------------------------------*\
    #MOLECULES
\*------------------------------------*/
/*------------------------------------*\
    #CARD
\*------------------------------------*/
/**
 * A collection of text and/or images and/or other smaller content 
 */
.c-card {
  display: block;
  border: 1px solid #bbb;
  padding: 1rem;
  max-width: 27rem;
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }
  .c-card:hover, .c-card:focus {
    border-color: #666;
    background: #f9f9f9; }

/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
/**
 *
 * 1) Button or link that has functionality to it
 */
.c-btn {
  display: inline-block;
  border: 1px solid #131313;
  background: #3DA143;
  color: #fff;
  line-height: 1;
  font-weight: bold;
  padding: 23px 22px 23px 55px;
  border: 0;
  text-align: center;
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }
  .c-btn:hover, .c-btn:focus {
    background: #808080; }
  .c-btn--gradient {
    background: -webkit-gradient(linear, right top, left top, from(#3FA64A), color-stop(34.81%, #2DA14A), to(#009349));
    background: -o-linear-gradient(right, #3FA64A 0%, #2DA14A 34.81%, #009349 100%);
    background: linear-gradient(270deg, #3FA64A 0%, #2DA14A 34.81%, #009349 100%);
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    color: #fff !important; }
    .c-btn--gradient:hover, .c-btn--gradient:focus {
      background: -webkit-gradient(linear, right top, left top, from(#009349), color-stop(34.81%, #2DA14A), to(#3FA64A));
      background: -o-linear-gradient(right, #009349 0%, #2DA14A 34.81%, #3FA64A 100%);
      background: linear-gradient(270deg, #009349 0%, #2DA14A 34.81%, #3FA64A 100%);
      -webkit-transition: all 0.5s ease-in-out;
      -o-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out;
      color: #fff; }
  .c-btn--white {
    background-color: #fff;
    color: #00853F;
    border: 1px solid #fff;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
    .c-btn--white:hover, .c-btn--white:focus {
      background: #3DA143;
      color: #fff;
      -webkit-transition: all 0.5s ease-in-out;
      -o-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out; }
  .c-btn i {
    margin-left: 40px; }

/*
 * Inner container wrapper
 * 1) Container is direct decendant of <button>, since there's
 *    a bug with applying flexbox directly to a <button>
 * 2) Only needs to be used for buttons containing both icons and text
 */
.c-btn__inner {
  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; }

/*
 * Button icon
 */
.c-btn__icon {
  width: 1rem;
  height: 1rem;
  fill: #fff;
  -webkit-transition: fill 0.15s ease-out;
  -o-transition: fill 0.15s ease-out;
  transition: fill 0.15s ease-out; }

/*------------------------------------*\
    #FIELDS
\*------------------------------------*/
/**
 * 1) Consists of a label, form control, and an optional note about the field.
 */
.c-field {
  margin-bottom: 2rem; }

/**
 * Field label
 */
.c-field__label {
  margin-bottom: 0.25rem;
  font-size: 1rem;
  font-weight: bold; }

/**
 * Field body
 */
.c-field__body {
  position: relative; }

/**
 * Field note
 */
.c-field__note {
  display: inline-block;
  font-size: 0.75rem;
  color: #808080; }

/*------------------------------------*\
    #LOGO
\*------------------------------------*/
/**
 * Branding image or text of the site
 */
.c-logo {
  max-width: 140px; }
  @media (min-width: 48em) {
    .c-logo {
      max-width: 193px; } }

/**
 * Logo link
 */
.c-logo__link {
  display: block; }

/**
 * Logo image
 */
.c-logo__img {
  display: block; }

/*------------------------------------*\
    #GRID
\*------------------------------------*/
/**
 * Primary Grid  
 */
.l-grid {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  margin-bottom: 2rem; }

/*------------------------------------*\
    #LAYOUT CONTAINER
\*------------------------------------*/
/**
 * Layout Container
 * 1) Caps the width of the content to the maximum width
 *    and centers the container
 */
.l-container {
  max-width: 90rem;
  margin: 0 auto; }

@media (min-width: 48em) {
  .c-footer-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6%;
            flex: 0 0 66.6%; } }

.c-footer-nav__item {
  padding-bottom: 40px; }
  @media (min-width: 48em) {
    .c-footer-nav__item {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      padding-bottom: 0; } }
  .c-footer-nav__item .c-footer-nav__label {
    font-size: 21px;
    font-weight: bold;
    line-height: 21px;
    margin-bottom: 25px;
    display: block; }
  .c-footer-nav__item .c-footer-nav__link {
    font-size: 16px;
    font-weight: 300;
    line-height: 28px;
    margin-bottom: 10px; }
    .c-footer-nav__item .c-footer-nav__link a {
      color: #212529; }
      .c-footer-nav__item .c-footer-nav__link a:focus, .c-footer-nav__item .c-footer-nav__link a:hover {
        color: #00853F;
        text-decoration: none; }

/*------------------------------------*\
    #PRIMARY NAVIGATION
\*------------------------------------*/
.subsite-nav {
  background: #3DA143; }
  @media (min-width: 48em) {
    .subsite-nav {
      padding-left: 15px;
      padding-right: 15px; } }
  .subsite-nav h5, .subsite-nav h3 {
    color: #fff; }
    .subsite-nav h5 a, .subsite-nav h3 a {
      color: #fff; }
  .subsite-nav h3 {
    font-size: 18px;
    font-weight: bold;
    line-height: 22px;
    border-right: none;
    margin: 10px 0;
    padding: 10px 10px; }
    @media (min-width: 992px) {
      .subsite-nav h3 {
        padding: 10px 20px;
        border-right: 1px solid #fff; } }
  .subsite-nav__mob-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px;
    background-color: #3DA143; }
    @media (min-width: 48em) {
      .subsite-nav__mob-title {
        display: none; } }
    .subsite-nav__mob-title.active {
      background-color: #fff; }
      .subsite-nav__mob-title.active h5, .subsite-nav__mob-title.active h3 {
        color: #212529; }
      .subsite-nav__mob-title.active .navbar-toggler:after {
        color: #212529; }
      .subsite-nav__mob-title.active .navbar-toggler-icon {
        background-color: #8EC54A; }
        .subsite-nav__mob-title.active .navbar-toggler-icon:before, .subsite-nav__mob-title.active .navbar-toggler-icon:after {
          background-color: #8EC54A; }
    .subsite-nav__mob-title h5 {
      font-size: 18px;
      font-weight: bold;
      line-height: 22px; }
    .subsite-nav__mob-title .navbar-toggler {
      position: relative; }
      .subsite-nav__mob-title .navbar-toggler:focus, .subsite-nav__mob-title .navbar-toggler:active {
        border: none;
        outline: none; }
      .subsite-nav__mob-title .navbar-toggler:after {
        content: 'MENU';
        color: #fff;
        font-size: 9px;
        font-weight: 500;
        line-height: 11px;
        width: 100%;
        display: block;
        margin-top: 5px; }
      .subsite-nav__mob-title .navbar-toggler-icon {
        display: inline-block;
        width: 1.5em;
        height: 3px;
        vertical-align: middle;
        position: relative;
        background-color: #fff;
        margin-top: 8px;
        margin-bottom: 8px;
        border-radius: 5px; }
        .subsite-nav__mob-title .navbar-toggler-icon:before, .subsite-nav__mob-title .navbar-toggler-icon:after {
          content: "";
          position: absolute;
          width: 100%;
          height: 3px;
          background-color: #fff;
          left: 0;
          border-radius: 5px; }
        .subsite-nav__mob-title .navbar-toggler-icon:before {
          top: -8px; }
        .subsite-nav__mob-title .navbar-toggler-icon:after {
          bottom: -8px; }
  .subsite-nav__links-container {
    display: none; }
    @media (min-width: 48em) {
      .subsite-nav__links-container {
        display: block; } }
  .subsite-nav .nav {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .subsite-nav .nav .nav-item {
      width: 100%; }
      @media (min-width: 48em) {
        .subsite-nav .nav .nav-item {
          width: auto; } }
      .subsite-nav .nav .nav-item a {
        color: #fff;
        font-size: 18px;
        font-weight: 300;
        letter-spacing: 0;
        line-height: 18px; }
        @media (min-width: 48em) {
          .subsite-nav .nav .nav-item a {
            font-size: 14px;
            line-height: 17px;
            font-weight: bold; } }
      @media (min-width: 48em) {
        .subsite-nav .nav .nav-item.hasChildren {
          margin-right: 10px; } }
      .subsite-nav .nav .nav-item.hasChildren:after {
        content: "\f107";
        font-family: Font Awesome\ 5 Free;
        display: none;
        position: absolute;
        top: 20px;
        right: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        color: #fff; }
        @media (min-width: 48em) {
          .subsite-nav .nav .nav-item.hasChildren:after {
            top: 50%;
            display: block; } }
      .subsite-nav .nav .nav-item.hasChildren > a {
        max-width: 75%; }
        @media (min-width: 48em) {
          .subsite-nav .nav .nav-item.hasChildren > a {
            max-width: none; } }
      .subsite-nav .nav .nav-item.subsite-nav__title {
        margin-right: 0;
        width: 100%;
        display: none; }
        @media (min-width: 48em) {
          .subsite-nav .nav .nav-item.subsite-nav__title {
            display: block; } }
        @media (min-width: 992px) {
          .subsite-nav .nav .nav-item.subsite-nav__title {
            margin-right: 10px;
            width: auto; } }
    .subsite-nav .nav > .nav-item {
      position: relative; }
      .subsite-nav .nav > .nav-item > a {
        padding: 15px 30px; }
        @media (min-width: 992px) {
          .subsite-nav .nav > .nav-item > a {
            padding: 10px 15px; } }
        .subsite-nav .nav > .nav-item > a:after {
          content: "";
          width: calc(100% - 60px);
          display: block;
          position: absolute;
          border-bottom: 1px solid #fff;
          -webkit-transform: translate(-50%, 15px);
              -ms-transform: translate(-50%, 15px);
                  transform: translate(-50%, 15px);
          left: 50%;
          opacity: 0.3; }
          @media (min-width: 48em) {
            .subsite-nav .nav > .nav-item > a:after {
              display: none; } }
      @media (min-width: 48em) {
        .subsite-nav .nav > .nav-item:hover ul, .subsite-nav .nav > .nav-item:focus ul {
          display: block; } }
      .subsite-nav .nav > .nav-item ul {
        display: none;
        background-color: #2C8C32;
        padding: 0 30px;
        z-index: 2; }
        @media (min-width: 48em) {
          .subsite-nav .nav > .nav-item ul {
            position: absolute;
            background-color: #fff;
            -webkit-box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.15);
                    box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.15);
            width: 100%;
            min-width: 250px;
            padding: 0; } }
        .subsite-nav .nav > .nav-item ul .nav-item a {
          font-size: 16px;
          font-weight: 300;
          line-height: 18px;
          color: #fff;
          padding: 1rem; }
          @media (min-width: 48em) {
            .subsite-nav .nav > .nav-item ul .nav-item a {
              font-size: 14px;
              line-height: 24px;
              color: #212529;
              padding: 0.5rem 1rem; } }
  .subsite-nav__trigger {
    position: absolute;
    top: 13px;
    right: 0;
    color: #fff;
    width: 25%;
    text-align: right;
    padding-right: 30px; }
  @media (min-width: 48em) {
    .subsite-nav__page-title {
      display: none; } }
  .subsite-nav__page-title h3 {
    color: #fff;
    font-size: 21px;
    font-weight: 300;
    line-height: 24px;
    padding: 15px 20px; }

/*------------------------------------*\
    #PAGE HEADER
\*------------------------------------*/
/**
 * 1) Container that consists of of a page header title and description
 */
.subsite-nav {
  background-color: #3DA143; }

.c-main-site-nav {
  padding: 0; }
  .c-main-site-nav__items {
    display: block;
    text-align: right; }
    @media (min-width: 48em) {
      .c-main-site-nav__items {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }
  .c-main-site-nav__link, .c-main-site-nav .search-btn {
    font-size: 12px;
    font-weight: 300;
    line-height: 14px;
    color: #212529; }
    @media (min-width: 48em) {
      .c-main-site-nav__link, .c-main-site-nav .search-btn {
        padding: 0 20px;
        font-size: 18px;
        line-height: 22px; } }
    .c-main-site-nav__link i, .c-main-site-nav .search-btn i {
      color: #8DC63F;
      margin-right: 5px;
      font-size: 20px;
      -webkit-transform: translateY(4px);
          -ms-transform: translateY(4px);
              transform: translateY(4px); }
      @media (min-width: 48em) {
        .c-main-site-nav__link i, .c-main-site-nav .search-btn i {
          margin-right: 10px;
          font-size: 26px;
          line-height: 0; } }
  .c-main-site-nav .search-btn {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    background: none;
    padding: 0; }
    @media (min-width: 48em) {
      .c-main-site-nav .search-btn {
        padding-left: 20px; } }
    .c-main-site-nav .search-btn:focus, .c-main-site-nav .search-btn:active {
      outline: none; }
    .c-main-site-nav .search-btn:hover {
      color: #808080;
      text-decoration: underline; }
    .c-main-site-nav .search-btn i {
      font-size: 13px;
      -webkit-transform: translateY(2px);
          -ms-transform: translateY(2px);
              transform: translateY(2px); }
      @media (min-width: 48em) {
        .c-main-site-nav .search-btn i {
          font-size: 18px; } }

.c-site-search {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #8EC54A;
  padding: 1em; }
  .c-site-search.show {
    display: block; }
  .c-site-search .form-control {
    margin: 0 auto;
    margin-bottom: 0;
    padding-right: 1em; }
  .c-site-search .icon-button {
    top: 40%;
    right: 2em;
    width: auto; }

/*------------------------------------*\
    #STAT
\*------------------------------------*/
/**
 * A collection of large statistics with smaller description underneath
 */
.c-stat__header span {
  font-size: 60px;
  font-weight: 900;
  line-height: 72px;
  color: #3DA143;
  margin-bottom: 15px; }

.c-stat__body p {
  font-size: 16px;
  font-weight: 300;
  line-height: 26px; }

/*------------------------------------*\
    #SECTION HEADER
\*------------------------------------*/
/**
 * 1) Container that consists of of a section header title and description
 */
.c-section-header.centered {
  text-align: center; }

.c-section-header__title {
  color: #414042;
  font-size: 30px;
  font-weight: bold;
  line-height: 38px;
  margin-bottom: 20px; }
  @media (min-width: 48em) {
    .c-section-header__title {
      font-size: 42px;
      line-height: 50px; } }

.c-section-header__description {
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
  max-width: 885px;
  display: block;
  margin: 0 auto; }
  @media (min-width: 48em) {
    .c-section-header__description {
      line-height: 24px; } }

/*------------------------------------*\
    #ICON CARD
\*------------------------------------*/
/**
 * A collection of an icon and a title
 */
.c-icon-card__link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }
  .c-icon-card__link:hover {
    text-decoration: none; }
    @media (min-width: 48em) {
      .c-icon-card__link:hover ~ .c-icon-card__header img {
        -webkit-transform: translateY(-20px);
            -ms-transform: translateY(-20px);
                transform: translateY(-20px);
        -webkit-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out; } }

.c-icon-card__header {
  height: 54px;
  margin-right: 20px; }
  @media (min-width: 48em) {
    .c-icon-card__header {
      margin-bottom: 30px;
      margin-right: 0; } }
  .c-icon-card__header img {
    min-height: 53px; }
    @media (min-width: 48em) {
      .c-icon-card__header img {
        -webkit-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out; } }

.c-icon-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media (min-width: 48em) {
    .c-icon-card__body {
      display: block; } }
  .c-icon-card__body:after {
    content: "\f105";
    font-family: Font Awesome\ 5 Free;
    font-size: 25px;
    color: #8DC63F; }
    @media (min-width: 48em) {
      .c-icon-card__body:after {
        display: none; } }

.c-icon-card__excerpt {
  color: #3DA143;
  font-size: 18px;
  font-weight: bold;
  line-height: 22px;
  margin-bottom: 0;
  padding-right: 15px;
  min-width: 200px; }
  @media (min-width: 48em) {
    .c-icon-card__excerpt {
      font-size: 21px;
      line-height: 25px;
      -webkit-box-flex: 0;
          -ms-flex: none;
              flex: none;
      padding-right: 0; } }

/*------------------------------------*\
    #PROFILE CARD
\*------------------------------------*/
/**
 * A collection of image and/or text
 */
.c-profile-card {
  display: block;
  margin: 0 .5rem 2.5rem;
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }
  .c-profile-card:hover, .c-profile-card:focus {
    border-color: #666;
    background: #f9f9f9; }
  .c-profile-card a {
    text-decoration: underline; }
  .c-profile-card__title {
    color: #212529;
    font-size: 1.5rem; }
  .c-profile-card__image {
    margin: 0 0 1.625rem;
    min-height: 1px;
    width: 100%; }
  .c-profile-card__specialty {
    margin: 0; }
  .c-profile-card__description {
    margin: 1rem 0; }

/*------------------------------------*\
    #3D CTA CARD
\*------------------------------------*/
/**
 * A collection of text and/or images and/or other smaller content 
 */
.c-3d-card {
  display: block;
  max-width: 28rem;
  height: 14.13rem;
  width: 100%;
  border: 2px solid #00793A;
  margin: 1rem 0 0 1rem;
  position: relative;
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  padding: 1rem 0 1rem 1rem; }
  .c-3d-card__inner-content {
    background-color: #3DA143;
    padding: 1rem;
    height: 100%;
    width: 100%;
    position: absolute;
    top: -1rem;
    left: -1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .c-3d-card__title {
    color: #fff;
    font-size: 24px;
    margin-bottom: .68rem; }
  .c-3d-card__description {
    color: #fff;
    font-size: 14px;
    max-width: 16.95rem;
    line-height: 18px;
    margin-bottom: 1.25rem; }
  .c-3d-card__cta {
    color: #fff !important;
    outline-color: #fff;
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.3rem;
    border-bottom: 1px solid #fff; }

/*------------------------------------*\
    #CARD WITH NO IMAGE
\*------------------------------------*/
/**
 * An unordered list of CTA cards 
 */
.pic-text-card.residency {
  padding: 30px 0 20px 25px; }
  @media (min-width: 48em) {
    .pic-text-card.residency {
      padding: 76px 0; } }
  .pic-text-card.residency .pic-text-card__item {
    -webkit-box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.1);
    padding: 30px 15px;
    text-align: center;
    position: relative;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    margin-right: 15px; }
    @media (min-width: 48em) {
      .pic-text-card.residency .pic-text-card__item {
        margin-right: 0; } }
    .pic-text-card.residency .pic-text-card__item:last-child {
      margin-right: 0; }
    @media (min-width: 48em) {
      .pic-text-card.residency .pic-text-card__item {
        padding: 40px 35px; } }
    .pic-text-card.residency .pic-text-card__item:hover {
      -webkit-box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08);
              box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08);
      -webkit-transition: all 0.5s ease-in-out;
      -o-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out; }
      .pic-text-card.residency .pic-text-card__item:hover .pic-text-card__title {
        text-decoration: underline; }
    .pic-text-card.residency .pic-text-card__item--hasImg {
      padding: 0; }
      @media (min-width: 48em) {
        .pic-text-card.residency .pic-text-card__item--hasImg {
          padding: 0; } }
      .pic-text-card.residency .pic-text-card__item--hasImg .pic-text-card__img {
        display: none; }
        @media (min-width: 48em) {
          .pic-text-card.residency .pic-text-card__item--hasImg .pic-text-card__img {
            display: block; } }
        .pic-text-card.residency .pic-text-card__item--hasImg .pic-text-card__img img {
          width: 100%; }
      .pic-text-card.residency .pic-text-card__item--hasImg .pic-text-card__body {
        padding: 30px 15px; }
        @media (min-width: 48em) {
          .pic-text-card.residency .pic-text-card__item--hasImg .pic-text-card__body {
            padding: 40px 35px; } }
  .pic-text-card.residency .pic-text-card__title {
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;
    margin-bottom: 10px; }
    @media (min-width: 48em) {
      .pic-text-card.residency .pic-text-card__title {
        font-size: 24px;
        line-height: 29px; } }
  .pic-text-card.residency .pic-text-card__content {
    margin-bottom: 0;
    color: #212529;
    font-size: 14px;
    font-weight: 300;
    line-height: 21px; }
    @media (min-width: 48em) {
      .pic-text-card.residency .pic-text-card__content {
        font-size: 16px;
        line-height: 24px; } }
  .pic-text-card.residency .pic-text-card__link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
  .pic-text-card.residency .slick-list {
    padding-top: 20px;
    padding-bottom: 20px; }
  .pic-text-card.residency .slick-dots li {
    width: 7px;
    height: 7px; }
    .pic-text-card.residency .slick-dots li.slick-active button:before {
      color: #3DA143; }
    .pic-text-card.residency .slick-dots li button {
      padding: 0;
      width: 7px;
      height: 7px; }
      .pic-text-card.residency .slick-dots li button:before {
        opacity: 1;
        line-height: 7px;
        width: 7px;
        height: 7px;
        font-size: 25px;
        color: #D9D9D9; }

.c-speedbump {
  background-color: #3DA143;
  display: block;
  padding: 2.8125rem 2.8125rem 3.5625rem 2rem; }
  @media (min-width: 48em) {
    .c-speedbump {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 4rem 5.0625rem 4rem 3.125rem; } }
  .c-speedbump p {
    color: #fff;
    margin-bottom: 0; }
  .c-speedbump a {
    color: #fff; }
    .c-speedbump a:hover {
      color: #fff; }
  .c-speedbump__column {
    margin-bottom: 1.3125rem; }
    .c-speedbump__column > *:last-child {
      margin-bottom: 0; }
    @media (min-width: 48em) {
      .c-speedbump__column-contact {
        margin-bottom: 0; } }
  .c-speedbump__headline {
    margin-bottom: 2.5rem; }
    @media (min-width: 48em) {
      .c-speedbump__headline {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        margin: 0; } }
    @media (min-width: 48em) {
      .c-speedbump__headline-contact {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 60%;
                flex: 0 0 60%; } }
  .c-speedbump__title {
    background-color: transparent;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.8125rem;
    margin-bottom: 0.6875rem;
    width: 96%; }
    @media (min-width: 48em) {
      .c-speedbump__title {
        font-size: 1.75rem; } }
  .c-speedbump__description {
    color: #fff;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 22px; }
    @media (min-width: 48em) {
      .c-speedbump__description {
        font-size: 1.125rem; } }
  .c-speedbump__cta {
    font-size: 1.1875rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.4375rem;
    height: 100%;
    border-bottom: 4px solid #3DA143;
    padding: 0; }
    @media (min-width: 48em) {
      .c-speedbump__cta {
        padding: 1.0625rem 0; } }
    .c-speedbump__cta:after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      margin-left: 0.5rem;
      font-size: 1.625rem;
      vertical-align: middle; }
    .c-speedbump__cta:hover {
      border-bottom: 4px solid #FFCB05;
      text-decoration: none; }
      .c-speedbump__cta:hover:after {
        color: inherit; }

/*------------------------------------*\
    #ORGANISMS
\*------------------------------------*/
/*------------------------------------*\
    $FOOTER
\*------------------------------------*/
/**
 * 1) Global block at the bottom of each page that contains a navigation and other information
 */
.c-footer {
  padding: 50px 20px 20px;
  background-color: #fff; }
  @media (min-width: 48em) {
    .c-footer {
      padding-top: 70px;
      padding-bottom: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .c-footer__contact {
    margin-bottom: 40px; }
    @media (min-width: 48em) {
      .c-footer__contact {
        margin-bottom: 0; } }
    .c-footer__contact .c-logo {
      max-width: 268px;
      margin-bottom: 40px; }
      @media (min-width: 48em) {
        .c-footer__contact .c-logo {
          margin-bottom: 30px; } }
      .c-footer__contact .c-logo a {
        width: 100%; }
        .c-footer__contact .c-logo a img {
          width: 100%; }
    .c-footer__contact .c-footer__address {
      font-size: 16px;
      font-weight: 300;
      letter-spacing: 0;
      line-height: 28px;
      margin-bottom: 35px; }
      @media (min-width: 48em) {
        .c-footer__contact .c-footer__address {
          margin-bottom: 25px; } }
      .c-footer__contact .c-footer__address strong {
        font-weight: bold; }
    .c-footer__contact .c-footer__social {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .c-footer__contact .c-footer__social li {
        margin-right: 15px; }
  .c-footer__copyright {
    text-align: center;
    padding: 0; }
    @media (min-width: 48em) {
      .c-footer__copyright {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        padding: 100px 0 0; } }

/*------------------------------------*\
    #HEADER
\*------------------------------------*/
/**
 * Global block at the top of each page containing the navigation, logo, and other potential contents
 */
.c-header {
  position: relative;
  background: #fff;
  border-top: 5px solid #86BF3F; }

/**
 * Header inner
 */
.c-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

/**
 * Header navigation button
 * 1) Button used to toggle the navigation on/off on small screens
 */
.c-header__nav-btn {
  margin-left: auto; }
  @media all and (min-width: bp-xl) {
    .c-header__nav-btn {
      display: none; } }

/**
 * Header navigation conntainer
 * 1) Contains the primary navigation and other possible patterns
 */
.c-header__nav-container {
  display: none;
  /**
	 * Header navigation conntainer within vertical header
	 */ }
  @media all and (min-width: bp-xl) {
    .c-header__nav-container {
      display: block;
      margin-left: auto; } }
  @media all and (min-width: bp-xl) {
    .c-header--vertical .c-header__nav-container {
      margin-left: 0; } }

/**
 * Active header nav container
 */
.c-header__nav-container.is-active {
  display: block;
  position: absolute;
  background: #eee;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 5;
  padding: 1rem;
  /**
	 * Active header nav container within vertical header
	 */ }
  @media all and (min-width: bp-xl) {
    .c-header__nav-container.is-active {
      display: block;
      position: static;
      padding: 0;
      margin-left: auto;
      width: inherit; } }
  @media all and (min-width: bp-xl) {
    .c-header--vertical .c-header__nav-container.is-active {
      margin-left: 0;
      width: 100%; } }

.c-header__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px; }
  @media (min-width: 48em) {
    .c-header__top {
      padding: 40px 30px; } }

/*------------------------------------*\
    #CARD LIST
\*------------------------------------*/
/**
 * An unordered list of cards 
 */
.c-card-list {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

/*------------------------------------*\
    #SECTION
\*------------------------------------*/
/**
 * 1) Discrete section
 */
.c-section {
  margin-bottom: 2rem; }

.section-bg {
  background-color: #F0F0F0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  margin-top: 20px; }
  .section-bg:before {
    content: "";
    width: 100%;
    max-width: 257px;
    height: 20px;
    background: -webkit-gradient(linear, right top, left top, from(#EC6C21), to(rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(right, #EC6C21 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(-90deg, #EC6C21 0%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    bottom: 100%;
    right: 0; }
    @media (min-width: 48em) {
      .section-bg:before {
        max-width: 882px; } }
  .section-bg > div {
    max-width: 1408px;
    margin-left: auto;
    margin-right: auto; }

.full-width {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw); }
  .full-width > div {
    max-width: 1408px;
    margin-left: auto;
    margin-right: auto; }

/*------------------------------------*\
	#TABLE
\*------------------------------------*/
/**
 * 1) Data Table
 */
.c-table {
  margin-bottom: 1rem;
  min-width: 600px;
  /* 2 */ }

/**
 * Table Header
 */
.c-table__header {
  background: #eee; }

/**
 * Table Header Cell
 */
.c-table__header-cell {
  padding: 0.8rem; }

/**
 * Table Row
 */
.c-table__row {
  border-bottom: 1px solid #eee; }

/**
 * Table Cell
 */
.c-table__cell {
  padding: 1.6rem 0.8rem; }

/**
 * Table Footer
 */
/**
 * Table Footer Cell
 */
.c-table__footer-cell {
  padding: 0.8rem; }

/*------------------------------------*\
    #TEXT PASSAGE
\*------------------------------------*/
/**
 * 1) A passage of text, including various components (i.e. article, blog post)
 */
.c-text-passage {
  /**
	 * Link within the text passage
	 */
  /**
	 * Blockquote within text passage
	 */
  /**
	  * First-level heading within text passage
	  */
  /**
	 * Second-level heading within text passage
	 */
  /**
	 * Third-level heading within text passage
	 */
  /**
	 * Fourth-level heading within text passage
	 */
  /**
	 * Fifth-level heading within text passage
	 */
  /**
	 * Sixth-level heading within text passage
	 */
  /**
	 * Unordered list within text passage
	 */
  /**
	 * Ordered list within text passage
	 */ }
  .c-text-passage p {
    margin-bottom: 1rem; }
  .c-text-passage a {
    text-decoration: underline; }
  .c-text-passage blockquote {
    padding-left: 0.8rem;
    border-left: 3px solid #444;
    color: #808080;
    font-size: 1rem; }
  .c-text-passage h1 {
    margin-bottom: 1rem; }
  .c-text-passage h2 {
    margin-top: 2rem;
    margin-bottom: 1rem; }
  .c-text-passage h3 {
    margin-top: 2rem;
    margin-bottom: 1rem; }
  .c-text-passage h4 {
    margin-top: 2rem;
    margin-bottom: 1rem; }
  .c-text-passage h5 {
    margin-top: 2rem;
    margin-bottom: 1rem; }
  .c-text-passage h6 {
    margin-top: 2rem;
    margin-bottom: 1rem; }
  .c-text-passage ul {
    list-style: disc;
    margin-left: 1rem;
    margin-bottom: 1rem; }
    .c-text-passage ul li:last-child {
      margin-bottom: 0; }
  .c-text-passage ol {
    list-style: decimal;
    margin-left: 1rem;
    margin-bottom: 1rem; }
    .c-text-passage ol li:last-child {
      margin-bottom: 0; }
  .c-text-passage li {
    margin-bottom: 0.5rem;
    line-height: 1.6; }

/*------------------------------------*\
    #STAT LIST
\*------------------------------------*/
/**
 * An unordered list of stats 
 */
.c-stat-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center;
  padding-top: 60px; }
  .c-stat-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 100% !important;
            flex: 0 0 100% !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 20px 50px; }
    @media (min-width: 28em) {
      .c-stat-list__item {
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 50% !important;
                flex: 0 0 50% !important;
        padding: 0 20px 70px; } }
    @media (min-width: 48em) {
      .c-stat-list__item {
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 33.3% !important;
                flex: 0 0 33.3% !important; } }
    .c-stat-list__item:before {
      display: none; }
    .c-stat-list__item > * {
      max-width: 290px; }

/*------------------------------------*\
    #ICON CARD LIST
\*------------------------------------*/
/**
 * An unordered list of cards with icons 
 */
.c-icon-card-list {
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 48em) {
    .c-icon-card-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #fff;
      -webkit-box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08);
              box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08); } }
  .c-icon-card-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding: 30px 40px 30px 20px;
    margin-bottom: 20px;
    background-color: #fff;
    -webkit-box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08);
            box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08); }
    @media (min-width: 48em) {
      .c-icon-card-list__item {
        display: block;
        text-align: center;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        border-right: 1px solid #D8D8D8;
        padding: 60px;
        margin-bottom: 0;
        -webkit-box-shadow: none;
                box-shadow: none; } }
    @media (min-width: 48em) {
      .c-icon-card-list__item:last-child {
        border-right: none; } }

/*------------------------------------*\
    #QUOTE
\*------------------------------------*/
/**
 * 1) Side by side quote with image
 */
.c-quote__img {
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 48em) {
    .c-quote__img {
      padding-left: 0;
      padding-right: 0; } }

.c-quote__text {
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 48em) {
    .c-quote__text {
      padding-left: 0;
      padding-right: 0; } }
  .c-quote__text > span {
    display: block; }

.c-quote__quote {
  color: #414042;
  font-size: 30px;
  font-weight: bold;
  line-height: 38px;
  position: relative;
  margin-bottom: 30px; }
  @media (min-width: 48em) {
    .c-quote__quote {
      font-size: 42px;
      line-height: 46px;
      margin-bottom: 72px; } }
  .c-quote__quote > span {
    position: relative;
    z-index: 1; }
    .c-quote__quote > span.c-quote__quote-icon {
      font-size: 220px;
      line-height: 1;
      position: absolute;
      left: -30px;
      top: -40px;
      display: block;
      color: white;
      text-shadow: -1px 1px 0 #8EC54A, 1px 1px 0 #8EC54A, 1px -1px 0 #8EC54A, -1px -1px 0 #8EC54A;
      z-index: 0; }
      @media (min-width: 48em) {
        .c-quote__quote > span.c-quote__quote-icon {
          left: -30px;
          top: -45px; } }

.c-quote__name {
  color: #414042;
  font-size: 21px;
  font-weight: 900;
  line-height: 46px; }
  @media (min-width: 48em) {
    .c-quote__name {
      font-size: 24px; } }

.c-quote__title, .c-quote__facility {
  color: #6D6E71;
  font-size: 16px;
  line-height: 25px; }
  @media (min-width: 48em) {
    .c-quote__title, .c-quote__facility {
      font-size: 18px;
      line-height: 28px; } }

/*------------------------------------*\
    #HERO
\*------------------------------------*/
/**
 * Landing page hero
 */
.c-hero__img img {
  min-height: 300px;
  -o-object-fit: cover;
     object-fit: cover; }

.c-hero__content {
  color: #fff;
  text-align: center;
  padding: 10px 20px 15px;
  position: relative;
  margin-bottom: 65px; }
  @media (min-width: 48em) {
    .c-hero__content {
      padding: 48px 0 30px;
      margin-bottom: 84px; } }

.c-hero__skewy {
  height: 120%;
  width: 100%;
  -webkit-transform: skewY(3deg) translateY(-50%);
      -ms-transform: skewY(3deg) translateY(-50%);
          transform: skewY(3deg) translateY(-50%);
  background-color: #00853F;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }
  .c-hero__skewy:before, .c-hero__skewy:after {
    content: "";
    width: 100%;
    display: block; }
  .c-hero__skewy:before {
    height: 100px;
    background-color: #8CC53F;
    -webkit-transform: skewY(-10deg) translateZ(-1px);
            transform: skewY(-10deg) translateZ(-1px);
    z-index: -1;
    position: relative; }
    @media (min-width: 48em) {
      .c-hero__skewy:before {
        -webkit-transform: skewY(-6deg) translateZ(-1px);
                transform: skewY(-6deg) translateZ(-1px); } }
  .c-hero__skewy:after {
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(#EC6C21));
    background: -o-linear-gradient(right, rgba(255, 255, 255, 0) 0%, #EC6C21 100%);
    background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, #EC6C21 100%);
    height: 25px;
    bottom: -25px;
    left: 0;
    position: absolute; }
    @media (min-width: 48em) {
      .c-hero__skewy:after {
        height: 30px;
        bottom: -30px; } }

.c-hero__subtitle {
  font-size: 16px;
  font-weight: 900;
  line-height: 30px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
  position: relative; }
  @media (min-width: 48em) {
    .c-hero__subtitle {
      font-size: 30px;
      margin-bottom: 30px; } }
  .c-hero__subtitle:before {
    content: "";
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    background-color: #fff;
    display: block;
    position: absolute; }
  .c-hero__subtitle span {
    margin: 0 auto;
    padding-left: 12px;
    padding-right: 12px;
    background-color: #00853F;
    position: relative; }

.c-hero__title {
  font-size: 40px;
  font-weight: 900;
  line-height: 48px;
  margin-bottom: 10px;
  text-transform: uppercase; }
  @media (min-width: 48em) {
    .c-hero__title {
      font-size: 120px;
      line-height: 144px; } }

.c-hero__excerpt {
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  display: block; }
  @media (min-width: 48em) {
    .c-hero__excerpt {
      font-size: 24px;
      line-height: 30px; } }

.c-hero__button {
  background-color: #fff;
  color: #00853F;
  font-size: 16px;
  font-weight: bold;
  line-height: 19px;
  padding: 20px 20px 20px 30px;
  position: relative;
  margin-top: 20px;
  border: 1px solid #fff;
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }
  @media (min-width: 48em) {
    .c-hero__button {
      padding: 23px 20px 23px 46px;
      margin-top: 40px; } }
  .c-hero__button:hover {
    background-color: #00853F;
    color: #fff;
    text-decoration: none;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
    .c-hero__button:hover:after {
      color: #fff;
      -webkit-transition: all 0.5s ease-in-out;
      -o-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out; }
  .c-hero__button:after {
    content: "\f105";
    font-family: Font Awesome\ 5 Free;
    color: #00853F;
    position: relative;
    margin-left: 20px;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
    @media (min-width: 48em) {
      .c-hero__button:after {
        margin-left: 37px; } }

.c-hero .l-container {
  position: relative; }

.main-banner.content-banner.residency.c-hero--int {
  overflow: hidden; }

.main-banner.content-banner.residency.c-hero--int-alt {
  position: relative; }
  .main-banner.content-banner.residency.c-hero--int-alt:after {
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#EC6C21), to(rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(left, #EC6C21 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(90deg, #EC6C21 0%, rgba(255, 255, 255, 0) 100%);
    height: 25px;
    width: 100%;
    left: 0;
    bottom: -25px;
    position: absolute; }
    @media (min-width: 48em) {
      .main-banner.content-banner.residency.c-hero--int-alt:after {
        height: 30px;
        bottom: -30px; } }
  .main-banner.content-banner.residency.c-hero--int-alt .full-banner {
    overflow: hidden;
    position: relative;
    display: block; }
    .main-banner.content-banner.residency.c-hero--int-alt .full-banner:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 50%;
      top: calc(100% - 20px);
      background-color: #8EC54A;
      -webkit-transform: skewY(-1.5deg);
          -ms-transform: skewY(-1.5deg);
              transform: skewY(-1.5deg);
      right: 0;
      min-width: 1300px; }
      @media (min-width: 48em) {
        .main-banner.content-banner.residency.c-hero--int-alt .full-banner:before {
          top: calc(100% - 56px); } }
    .main-banner.content-banner.residency.c-hero--int-alt .full-banner:after {
      content: "";
      position: absolute;
      width: 100%;
      height: 50%;
      top: calc(100% - 20px);
      left: 0;
      background-color: #00853F;
      -webkit-transform: skewY(1.5deg);
          -ms-transform: skewY(1.5deg);
              transform: skewY(1.5deg);
      min-width: 1300px; }
      @media (min-width: 48em) {
        .main-banner.content-banner.residency.c-hero--int-alt .full-banner:after {
          top: calc(100% - 55px); } }
    .main-banner.content-banner.residency.c-hero--int-alt .full-banner .full-banner-content {
      color: #fff;
      text-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.5);
      font-weight: 900;
      font-size: 24px;
      line-height: 29px;
      padding-left: 20px;
      padding-right: 20px;
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 100%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      text-align: center; }
      @media (min-width: 48em) {
        .main-banner.content-banner.residency.c-hero--int-alt .full-banner .full-banner-content {
          font-size: 42px;
          line-height: 50px;
          padding-left: 50px;
          padding-right: 50px; } }

/*------------------------------------*\
    #PROFILE CARD LIST
\*------------------------------------*/
/**
 * An unordered list of profile cards 
 */
.c-profile-card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.3%;
          flex: 0 0 33.3%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .c-profile-card-list__item {
    display: block;
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (min-width: 28em) {
      .c-profile-card-list__item {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
    @media (min-width: 48em) {
      .c-profile-card-list__item {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.3%;
                flex: 0 0 33.3%; } }

/*------------------------------------*\
    #VIDEO
\*------------------------------------*/
/**
 * 1) Side by side video with description
 */
.c-video {
  margin: 0 .5rem; }
  .c-video__player {
    max-width: 35.9375rem; }
  .c-video__title {
    color: #414042;
    margin-bottom: 1rem; }

/*------------------------------------*\
    #3D CARD LIST
\*------------------------------------*/
/**
 * An unordered list of ed CTA cards 
 */
.c-3d-card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .c-3d-card-list__item {
    display: block;
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1rem;
    margin: 0 0 2.5rem; }
    @media (min-width: 28em) {
      .c-3d-card-list__item {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
    @media (min-width: 48em) {
      .c-3d-card-list__item {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.3%;
                flex: 0 0 33.3%; } }

.c-curriculum .l-left-right__item {
  padding: 0; }

.c-curriculum__text {
  background-color: #00853F;
  padding: 40px 15px 35px;
  -webkit-transform: skewY(3deg);
      -ms-transform: skewY(3deg);
          transform: skewY(3deg);
  margin-top: -10px;
  position: relative;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }
  @media (min-width: 60em) {
    .c-curriculum__text {
      padding: 80px 0 80px 60px;
      -webkit-transform: skewX(-6deg) skewY(0) translateX(44px);
          -ms-transform: skewX(-6deg) skewY(0) translateX(44px);
              transform: skewX(-6deg) skewY(0) translateX(44px);
      height: calc(100% + 10px);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .c-curriculum__text:before, .c-curriculum__text:after {
    content: "";
    position: absolute;
    display: block;
    left: 0; }
    @media (min-width: 60em) {
      .c-curriculum__text:before, .c-curriculum__text:after {
        left: 100%; } }
  .c-curriculum__text:before {
    height: 50%;
    width: 100%;
    background-color: #98C956;
    top: 16px;
    -webkit-transform: skewY(-16deg) translateZ(-1px);
            transform: skewY(-16deg) translateZ(-1px); }
    @media (min-width: 60em) {
      .c-curriculum__text:before {
        height: 100%;
        width: 50%;
        -webkit-transform: skewX(16deg) skewY(0) translateZ(-1px);
                transform: skewX(16deg) skewY(0) translateZ(-1px);
        top: 0;
        left: 50%; } }
  .c-curriculum__text:after {
    content: "";
    -webkit-transform: skewY(0deg) translateZ(-1px);
            transform: skewY(0deg) translateZ(-1px);
    top: -15px;
    width: 190px;
    height: 15px;
    background: -webkit-gradient(linear, left top, right top, from(#EC6C21), to(rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(left, #EC6C21 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(90deg, #EC6C21 0%, rgba(255, 255, 255, 0) 100%); }
    @media (min-width: 60em) {
      .c-curriculum__text:after {
        -webkit-transform: skewX(0deg) translateZ(-1px);
                transform: skewX(0deg) translateZ(-1px);
        top: 0;
        height: 91px;
        width: 20px;
        background: -webkit-gradient(linear, left top, left bottom, from(#EC6C21), to(rgba(255, 255, 255, 0)));
        background: -o-linear-gradient(top, #EC6C21 0%, rgba(255, 255, 255, 0) 100%);
        background: linear-gradient(180deg, #EC6C21 0%, rgba(255, 255, 255, 0) 100%); } }

.c-curriculum__text-inner {
  padding: 20px;
  background-color: #fff;
  color: #414042;
  font-size: 14px;
  font-weight: 300;
  line-height: 24px;
  -webkit-transform: skewY(-3deg);
      -ms-transform: skewY(-3deg);
          transform: skewY(-3deg); }
  @media (min-width: 60em) {
    .c-curriculum__text-inner {
      padding: 44px 30px 50px;
      font-size: 16px;
      line-height: 26px;
      -webkit-transform: skewX(6deg) translateX(260px);
          -ms-transform: skewX(6deg) translateX(260px);
              transform: skewX(6deg) translateX(260px);
      width: 100%;
      min-width: 600px;
      margin-left: -164px; } }
  .c-curriculum__text-inner ul {
    list-style: disc;
    padding-left: 15px; }
    .c-curriculum__text-inner ul li:before {
      display: none !important; }
  .c-curriculum__text-inner .c-btn {
    margin-top: 17px; }
    @media (min-width: 60em) {
      .c-curriculum__text-inner .c-btn {
        margin-top: 30px; } }

.c-curriculum__title {
  color: #414042;
  font-size: 24px;
  font-weight: bold;
  line-height: 30px; }
  @media (min-width: 60em) {
    .c-curriculum__title {
      font-size: 36px;
      line-height: 43px; } }

.c-curriculum__img {
  height: 100%;
  overflow: hidden;
  position: relative; }
  .c-curriculum__img img {
    -o-object-fit: cover;
       object-fit: cover;
    max-width: none;
    width: 100%; }
    @media (min-width: 60em) {
      .c-curriculum__img img {
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        width: auto;
        height: 100% !important; } }

.c-curriculum__straight-side {
  background-color: #00853F;
  height: 50px;
  width: 100%;
  position: absolute;
  bottom: -20px;
  left: 0;
  -webkit-transform: skewY(-3deg);
      -ms-transform: skewY(-3deg);
          transform: skewY(-3deg); }
  @media (min-width: 60em) {
    .c-curriculum__straight-side {
      bottom: 0;
      left: -50px;
      width: 50%;
      height: 100%;
      -webkit-transform: skewX(6deg);
          -ms-transform: skewX(6deg);
              transform: skewX(6deg); } }

@media (min-width: 60em) {
  .c-curriculum.c-curriculum-rev .c-curriculum__text {
    padding: 80px 60px 80px 0;
    -webkit-transform: skewX(6deg) skewY(0) translateX(-44px);
        -ms-transform: skewX(6deg) skewY(0) translateX(-44px);
            transform: skewX(6deg) skewY(0) translateX(-44px); } }

@media (min-width: 60em) {
  .c-curriculum.c-curriculum-rev .c-curriculum__text:before, .c-curriculum.c-curriculum-rev .c-curriculum__text:after {
    left: auto;
    right: 100%; } }

@media (min-width: 60em) {
  .c-curriculum.c-curriculum-rev .c-curriculum__text:before {
    -webkit-transform: skewX(-16deg) skewY(0) translateZ(-1px);
            transform: skewX(-16deg) skewY(0) translateZ(-1px);
    left: auto;
    right: 50%; } }

@media (min-width: 60em) {
  .c-curriculum.c-curriculum-rev .c-curriculum__img img {
    right: auto;
    left: 0; } }

@media (min-width: 60em) {
  .c-curriculum.c-curriculum-rev .c-curriculum__text-inner {
    -webkit-transform: skewX(-6deg) translateX(-200px);
        -ms-transform: skewX(-6deg) translateX(-200px);
            transform: skewX(-6deg) translateX(-200px); } }

@media (min-width: 60em) {
  .c-curriculum.c-curriculum-rev .c-curriculum__text-inner .c-btn {
    margin-top: 30px; } }

@media (min-width: 60em) {
  .c-curriculum.c-curriculum-rev .c-curriculum__straight-side {
    left: auto;
    right: -36px;
    -webkit-transform: skewX(-6deg);
        -ms-transform: skewX(-6deg);
            transform: skewX(-6deg); } }

.accordion-module.residency {
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 48em) {
    .accordion-module.residency {
      padding-left: 0;
      padding-right: 0; } }
  .accordion-module.residency .accordion-link-container .nav-title a {
    color: #212529;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 24px;
    padding-right: 40px; }

/*------------------------------------*\
    #SIDE BY SIDE WITH IMAGE
\*------------------------------------*/
/**
 * 1) Side by side with image
 */
.c-side-by-side-image {
  margin: 0 .5rem; }
  .c-side-by-side-image__title {
    font-size: 1.875rem;
    font-weight: bold;
    margin: 1.5625rem 0 2.0625rem;
    color: #414042; }
    @media (min-width: 48em) {
      .c-side-by-side-image__title {
        font-size: 2.625rem; } }
  .c-side-by-side-image__description {
    margin-bottom: 2.0625rem; }
  .c-side-by-side-image .button--secondary {
    background: #3fa64a;
    background: -webkit-gradient(linear, right top, left top, from(#3fa64a), color-stop(34.81%, #2da14a), to(#009349));
    background: -o-linear-gradient(right, #3fa64a 0%, #2da14a 34.81%, #009349 100%);
    background: linear-gradient(270deg, #3fa64a 0%, #2da14a 34.81%, #009349 100%);
    color: #fff; }
    .c-side-by-side-image .button--secondary i {
      margin-left: 0.875rem; }

.full-banner.residency.c-apply {
  -webkit-transform: skewY(3deg);
      -ms-transform: skewY(3deg);
          transform: skewY(3deg);
  margin-top: 67px;
  margin-bottom: -39px; }
  @media (min-width: 48em) {
    .full-banner.residency.c-apply {
      margin-top: 67px;
      margin-bottom: -39px; } }
  .full-banner.residency.c-apply:before {
    content: "";
    background: -webkit-gradient(linear, right top, left top, from(#EC6C21), color-stop(40%, rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(right, #EC6C21 0%, rgba(255, 255, 255, 0) 40%);
    background: linear-gradient(-90deg, #EC6C21 0%, rgba(255, 255, 255, 0) 40%);
    height: 25px;
    width: 100%;
    left: 0;
    top: -25px;
    position: absolute; }
    @media (min-width: 48em) {
      .full-banner.residency.c-apply:before {
        height: 30px;
        top: -30px; } }
  .full-banner.residency.c-apply .full-banner-image {
    min-height: 200px;
    position: relative;
    overflow: hidden;
    margin-top: 40px;
    height: 280px; }
    @media (min-width: 48em) {
      .full-banner.residency.c-apply .full-banner-image {
        height: 357px; } }
    .full-banner.residency.c-apply .full-banner-image img {
      -webkit-transform: skewY(-3deg) scale(1.2);
          -ms-transform: skewY(-3deg) scale(1.2);
              transform: skewY(-3deg) scale(1.2);
      width: 100%;
      height: auto;
      -o-object-fit: cover;
         object-fit: cover;
      min-height: 402px; }
  .full-banner.residency.c-apply .full-banner-container {
    padding: 30px 20px;
    text-align: center;
    background-color: #00853F;
    color: #fff;
    position: relative;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    margin-top: 0; }
    @media (min-width: 48em) {
      .full-banner.residency.c-apply .full-banner-container {
        padding: 60px 50px 20px;
        top: -80px;
        margin-top: 60px; } }
    .full-banner.residency.c-apply .full-banner-container:before {
      content: "";
      width: 100%;
      height: 50%;
      position: absolute;
      background-color: #8EC54A;
      right: 0;
      top: 0;
      -webkit-transform: skewY(-10deg) translateZ(-1px);
              transform: skewY(-10deg) translateZ(-1px); }
      @media (min-width: 48em) {
        .full-banner.residency.c-apply .full-banner-container:before {
          -webkit-transform: skewY(-10deg) translateZ(-1px);
                  transform: skewY(-10deg) translateZ(-1px);
          top: 50px; } }
    .full-banner.residency.c-apply .full-banner-container:after {
      content: "";
      width: 100%;
      height: 50%;
      position: absolute;
      -webkit-transform: skewY(-3deg) translateZ(-1px);
              transform: skewY(-3deg) translateZ(-1px);
      right: 0;
      bottom: -12px;
      background-color: #00853F; }
      @media (min-width: 48em) {
        .full-banner.residency.c-apply .full-banner-container:after {
          bottom: -40px; } }
    .full-banner.residency.c-apply .full-banner-container .hFullOverlayText.h1 {
      display: block;
      text-transform: uppercase; }
      @media (min-width: 48em) {
        .full-banner.residency.c-apply .full-banner-container .hFullOverlayText.h1 {
          margin-bottom: 20px; } }
      .full-banner.residency.c-apply .full-banner-container .hFullOverlayText.h1 span {
        display: block;
        font-size: 26px;
        font-weight: 900;
        line-height: 31px;
        color: #fff; }
        @media (min-width: 48em) {
          .full-banner.residency.c-apply .full-banner-container .hFullOverlayText.h1 span {
            font-size: 65px;
            line-height: 72px; } }
    .full-banner.residency.c-apply .full-banner-container p {
      font-size: 14px;
      font-weight: 500;
      line-height: 24px; }
      @media (min-width: 48em) {
        .full-banner.residency.c-apply .full-banner-container p {
          font-size: 21px;
          line-height: 30px;
          max-width: 770px;
          margin-left: auto;
          margin-right: auto; } }
    .full-banner.residency.c-apply .full-banner-container .c-btn {
      margin-top: 50px; }
      @media (min-width: 48em) {
        .full-banner.residency.c-apply .full-banner-container .c-btn {
          margin-top: 40px; } }
  .full-banner.residency.c-apply .full-banner-container-inner {
    -webkit-transform: skewY(-3deg);
        -ms-transform: skewY(-3deg);
            transform: skewY(-3deg); }

