/* Theme base styles */

/* INCLUDE THE VARIABLES AT THE TOP OF THE FILE, AS IT'S USED IN ALL STYLESHEETS BELOW */



:root {
  --container-width: 1540px;
  --container-width-desktop: 1240px;
  --dnd-section-padding-large-desktop: 160px 20px;
  --dnd-section-padding: 120px 20px;
  --dnd-section-padding-tablet: 90px 20px;
  --dnd-section-padding-mobile: 75px 20px;
  --dnd-section-padding-top-large-desktop: 160px ;
  --dnd-section-padding-top-desktop: 120px ;
  --dnd-section-padding-top-tablet: 90px ;
  --dnd-section-padding-top-mobile: 75px ;
}


:root {
  --primary-color: 

  
  
    
  


  rgba(1, 173, 171, 1)

;
  --secondary-color: 

  
  
    
  


  rgba(142, 8, 124, 1)

;
  --dark-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
  --mid-blue-color: 

  
  
    
  


  rgba(0, 123, 142, 1)

;
  --light-color: 

  
  
    
  


  rgba(246, 246, 246, 1)

;
  --white-color: 

  
  
    
  


  rgba(255, 255, 255, 1)

;
  --light-blue-color: 

  
  
    
  


  rgba(223, 255, 255, 1)

;
}


:root {
  --anchor-font-color: 

  
  
    
  


  rgba(142, 8, 124, 1)

;
  --anchor-font-hover-color: 

  
  
    
  


  rgba(1, 173, 171, 1)

;
  --heading-1-font-size: 3.875rem;
  --heading-2-font-size: 2.625rem;
  --heading-3-font-size: 1.875rem;
  --heading-4-font-size: 1.6rem;
  --heading-5-font-size: 1.35rem;
  --heading-6-font-size: 1.1rem;
  --paragraph-font-size: 18px;
}











:root {
  --button-background-color: 

  
  
    
  


  rgba(142, 8, 124, 1.0)

;
  --button-font-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  --button-border: 0px solid 

  
  
    
  


  rgba(142, 8, 124, 1)

;
  --button-border-radius: 5px;
  --button-padding: 17px 60px;
  --button-max-width: 500px;
}


:root {
  --form-title-background-color: 

  
  
    
  


  rgba(1, 173, 171, 1)

;
  --form-title-font-color: 

  
  
    
  


  rgba(1, 173, 171, 1.0)

;
  --form-label-font-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
  --form-help-text-font-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
  --form-error-text-font-color: 

  
  
    
  


  rgba(255, 0, 0, 1)

;
  --form-input-border-color: 

  
  
    
  


  rgba(38, 54, 72, 1.0)

;
  --form-input-focus-border-color: 

  
  
    
  


  rgba(142, 8, 124, 1)

;
}


:root {
  --table-header-background-color: 

  
  
    
  


  rgba(1, 173, 171, 1)

;
  --table-header-font-color: 

  
  
    
  


  rgba(255, 255, 255, 1)

;
  --table-background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  --table-font-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
  --table-border-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
  --table-footer-background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  --table-footer-font-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
}


:root {
  --header-height-desktop: 100px;
  --header-height-tablet: 100px;
  --header-height-mobile: 80px;
  --header-background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  --header-navigation-link-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
  --header-navigation-link-hover-color: 

  
  
    
  


  rgba(142, 8, 124, 1)

;
  --header-child-navigation-border-color: 

  
  
    
  


  rgba(73, 74, 82, 1)

;
}



:root {
  --footer-background-color: 

  
  
    
  


  rgba(38, 54, 72, 1)

;
  --footer-font-color: 

  
  
    
  


  rgba(255, 255, 255, 1)

;
  --footer-navigation-link-color: 

  
  
    
  


  rgba(255, 255, 255, 1)

;
  --footer-navigation-link-hover-color: 

  
  
    
  


  rgba(255, 255, 255, 1)

;
}

/*  Generic
    This is where reset, normalize & box-sizing styles go.
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
*, *:before, *:after {
  box-sizing: border-box;
}

/*  Components
    Specific pieces of UI that are stylized. Typically used for global partial styling
*/
.s-gradient-background {
  position: relative;
  z-index: 0;
}

.s-gradient-background:after {
  bottom: 0;
  content:"";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.s-background-color--primary,
.s-background-color--primary-hover:hover,
.s-background-color--primary-active.active,
.s-icon-background-color--primary svg {
  background-color: var(--primary-color);
}

.s-background-gradient--primary {
  background: linear-gradient(to top, var(--primary-color) -4.65%, rgba(1, 173, 171, 0) 105.42%);
}

.s-background-color--secondary,
.s-background-color--secondary-hover:hover,
.s-background-color--secondary-active.active,
.s-icon-background-color--secondary svg {
  background-color: var(--secondary-color);
}

.s-background-gradient--secondary {
  background: linear-gradient(to top, var(--secondary-color) -4.65%, rgba(1, 173, 171, 0) 105.42%);
}

.s-gradient-background--teal-to-dark-grey {
  background: linear-gradient(69.22deg, var(--primary-color) -3.89%, var(--dark-color) 85.28%);
}

.s-gradient-background--teal-to-dark-grey-top {
  background: linear-gradient(180deg, var(--primary-color) 0%, var(--dark-color) 100%);
}

.s-gradient-background--pale-grey-white-top:after {
  background: linear-gradient(180deg, var(--light-color) 0%, var(--white-color) 100%);
  background-position: top;
}

.s-gradient-background--white-pale-grey-bottom:after {
  background: linear-gradient(180deg, var(--white-color) 0%, var(--light-color) 100%);
  background-position: bottom;
}

.s-gradient-background--pale-grey-white-top:after,
.s-gradient-background--white-pale-grey-bottom:after {
  background-size: 100% 20%;
  background-repeat: no-repeat;
}

.s-gradient-background--pale-grey-pale-blue-bottom:after {
  background: linear-gradient(
    to bottom,
    #f6f6f6 0%,
    #f6f6f6 25%,
      var(--light-blue-color) 25%,
      var(--light-blue-color) 100%
  );
}

.s-gradient-background--white-pale-blue-bottom:after {
  background: linear-gradient(
    to bottom,
      var(--white-color) 0%,
      var(--white-color) 25%,
      var(--light-blue-color) 25%,
      var(--light-blue-color) 100%
  );
}

.s-gradient-background--pale-blue:after {
  background-color: var(--light-blue-color);
}

.s-gradient-background--teal-pale-blue-top:after {
  background: linear-gradient(
    to top,
      var(--primary-color) 0%,
      var(--primary-color) 25%,
      var(--light-blue-color) 25%,
      var(--light-blue-color) 100%
  );
}

.s-gradient-background--dark-grey-pale-blue-top:after {
  background: linear-gradient(
    to top,
        var(--dark-color) 0%,
        var(--dark-color) 25%,
        var(--light-blue-color) 25%,
        var(--light-blue-color) 100%
  );
}

.s-gradient-background--dark-grey-white-top:after {
  background: linear-gradient(
    to top,
    var(--dark-color) 0%,
    var(--dark-color) 25%,
    var(--white-color) 25%,
    var(--white-color) 100%
  );
}

.s-gradient-background--teal-white-top {
  background: linear-gradient(
    to top,
      var(--primary-color) 0%,
      var(--primary-color) 25%,
      var(--white-color) 25%,
      var(--white-color) 100%
  );
}

.s-header-background--teal {
  background-color: var(--primary-color);
}

.s-background-color--dark,
.s-background-color--dark-hover:hover,
.s-background-color--dark-active.active,
.s-icon-background-color--dark svg {
  background-color: var(--dark-color);
}

.s-background-color--mid-blue,
.s-background-color--mid-blue-hover:hover,
.s-background-color--mid-blue-active.active,
.s-icon-background-color--mid-blue svg {
  background-color: var(--mid-blue-color);
}

.s-background-gradient--dark {
  background: linear-gradient(to top, var(--dark-color) -4.65%, rgba(1, 173, 171, 0) 105.42%);
}

.s-background-gradient--mid-blue {
  background: linear-gradient(to top, var(--mid-blue-color) -4.65%, rgba(1, 173, 171, 0) 105.42%);
}

.s-background-color--light,
.s-background-color--light-hover:hover,
.s-background-color--light-active.active,
.s-icon-background-color--light svg {
  background-color: var(--light-color);
}

.s-background-color--white,
.s-background-color--white-hover:hover,
.s-background-color--white-active.active,
.s-icon-background-color--white svg {
  background-color: var(--white-color);
}

.s-text-color--primary,
.s-text-color--primary-hover:hover,
.s-text-color--primary-hover:hover h1,
.s-text-color--primary-hover:hover h2,
.s-text-color--primary-hover:hover h3,
.s-text-color--primary-hover:hover h4,
.s-text-color--primary-hover:hover h5,
.s-text-color--primary-hover:hover h6,
.s-text-color--primary-hover:hover p,
.s-text-color--primary-hover:hover ul,
.s-text-color--primary-hover:hover li,
.s-text-color--primary-hover:hover a,
.s-text-color--primary-hover:hover i,
.s-text-color--primary-active.active,
.s-text-color--primary-active.active h1,
.s-text-color--primary-active.active h2,
.s-text-color--primary-active.active h3,
.s-text-color--primary-active.active h4,
.s-text-color--primary-active.active h5,
.s-text-color--primary-active.active h6,
.s-text-color--primary-active.active p,
.s-text-color--primary-active.active ul,
.s-text-color--primary-active.active li,
.s-text-color--primary-active.active a,
.s-text-color--primary-active.active i,
.s-text-color--primary h1,
.s-text-color--primary h2,
.s-text-color--primary h3,
.s-text-color--primary h4,
.s-text-color--primary h5,
.s-text-color--primary h6,
.s-text-color--primary p,
.s-text-color--primary ul,
.s-text-color--primary li,
.s-text-color--primary a,
.s-text-color--primary i,
h1.s-text-color--primary,
h2.s-text-color--primary,
h3.s-text-color--primary,
h4.s-text-color--primary,
h5.s-text-color--primary,
h6.s-text-color--primary,
p.s-text-color--primary,
ul.s-text-color--primary,
li.s-text-color--primary,
a.s-text-color--primary,
i.s-text-color--primary {
  color: var(--primary-color);
}

.s-text-color--primary svg path,
.s-text-color--primary-hover:hover svg path,
.s-text-color--primary-active.active svg path,
svg.s-text-color--primary {
  fill: var(--primary-color);
}

.s-text-color--secondary,
.s-text-color--secondary-hover:hover,
.s-text-color--secondary-hover:hover h1,
.s-text-color--secondary-hover:hover h2,
.s-text-color--secondary-hover:hover h3,
.s-text-color--secondary-hover:hover h4,
.s-text-color--secondary-hover:hover h5,
.s-text-color--secondary-hover:hover h6,
.s-text-color--secondary-hover:hover p,
.s-text-color--secondary-hover:hover ul,
.s-text-color--secondary-hover:hover li,
.s-text-color--secondary-hover:hover a,
.s-text-color--secondary-hover:hover i,
.s-text-color--secondary-active.active,
.s-text-color--secondary-active.active h1,
.s-text-color--secondary-active.active h2,
.s-text-color--secondary-active.active h3,
.s-text-color--secondary-active.active h4,
.s-text-color--secondary-active.active h5,
.s-text-color--secondary-active.active h6,
.s-text-color--secondary-active.active p,
.s-text-color--secondary-active.active ul,
.s-text-color--secondary-active.active li,
.s-text-color--secondary-active.active a,
.s-text-color--secondary-active.active i,
.s-text-color--secondary h1,
.s-text-color--secondary h2,
.s-text-color--secondary h3,
.s-text-color--secondary h4,
.s-text-color--secondary h5,
.s-text-color--secondary h6,
.s-text-color--secondary p,
.s-text-color--secondary ul,
.s-text-color--secondary li,
.s-text-color--secondary a,
.s-text-color--secondary i,
h1.s-text-color--secondary,
h2.s-text-color--secondary,
h3.s-text-color--secondary,
h4.s-text-color--secondary,
h5.s-text-color--secondary,
h6.s-text-color--secondary,
p.s-text-color--secondary,
ul.s-text-color--secondary,
li.s-text-color--secondary,
a.s-text-color--secondary,
i.s-text-color--secondary {
  color: var(--secondary-color);
}

.s-text-color--secondary svg path,
.s-text-color--secondary-hover:hover svg path,
.s-text-color--secondary-active.active svg path,
svg.s-text-color--secondary {
  fill: var(--secondary-color);
}

.s-text-color--dark,
.s-text-color--dark-hover:hover,
.s-text-color--dark-hover:hover h1,
.s-text-color--dark-hover:hover h2,
.s-text-color--dark-hover:hover h3,
.s-text-color--dark-hover:hover h4,
.s-text-color--dark-hover:hover h5,
.s-text-color--dark-hover:hover h6,
.s-text-color--dark-hover:hover p,
.s-text-color--dark-hover:hover ul,
.s-text-color--dark-hover:hover li,
.s-text-color--dark-hover:hover a,
.s-text-color--dark-hover:hover i,
.s-text-color--dark-active.active,
.s-text-color--dark-active.active h1,
.s-text-color--dark-active.active h2,
.s-text-color--dark-active.active h3,
.s-text-color--dark-active.active h4,
.s-text-color--dark-active.active h5,
.s-text-color--dark-active.active h6,
.s-text-color--dark-active.active p,
.s-text-color--dark-active.active ul,
.s-text-color--dark-active.active li,
.s-text-color--dark-active.active a,
.s-text-color--dark-active.active i,
.s-text-color--dark h1,
.s-text-color--dark h2,
.s-text-color--dark h3,
.s-text-color--dark h4,
.s-text-color--dark h5,
.s-text-color--dark h6,
.s-text-color--dark p,
.s-text-color--dark ul,
.s-text-color--dark li,
.s-text-color--dark a,
.s-text-color--dark i,
h1.s-text-color--dark,
h2.s-text-color--dark,
h3.s-text-color--dark,
h4.s-text-color--dark,
h5.s-text-color--dark,
h6.s-text-color--dark,
p.s-text-color--dark,
ul.s-text-color--dark,
li.s-text-color--dark,
a.s-text-color--dark,
i.s-text-color--dark {
  color: var(--dark-color);
}

.s-text-color--dark svg path,
.s-text-color--dark-hover:hover svg path,
.s-text-color--dark-active.active svg path,
svg.s-text-color--dark {
  fill: var(--dark-color);
}

.s-text-color--light,
.s-text-color--light-hover:hover,
.s-text-color--light-hover:hover h1,
.s-text-color--light-hover:hover h2,
.s-text-color--light-hover:hover h3,
.s-text-color--light-hover:hover h4,
.s-text-color--light-hover:hover h5,
.s-text-color--light-hover:hover h6,
.s-text-color--light-hover:hover p,
.s-text-color--light-hover:hover ul,
.s-text-color--light-hover:hover li,
.s-text-color--light-hover:hover a,
.s-text-color--light-hover:hover i,
.s-text-color--light-active.active,
.s-text-color--light-active.active h1,
.s-text-color--light-active.active h2,
.s-text-color--light-active.active h3,
.s-text-color--light-active.active h4,
.s-text-color--light-active.active h5,
.s-text-color--light-active.active h6,
.s-text-color--light-active.active p,
.s-text-color--light-active.active ul,
.s-text-color--light-active.active li,
.s-text-color--light-active.active a,
.s-text-color--light-active.active i,
.s-text-color--light h1,
.s-text-color--light h2,
.s-text-color--light h3,
.s-text-color--light h4,
.s-text-color--light h5,
.s-text-color--light h6,
.s-text-color--light p,
.s-text-color--light ul,
.s-text-color--light li,
.s-text-color--light a,
.s-text-color--light i,
h1.s-text-color--light,
h2.s-text-color--light,
h3.s-text-color--light,
h4.s-text-color--light,
h5.s-text-color--light,
h6.s-text-color--light,
p.s-text-color--light,
ul.s-text-color--light,
li.s-text-color--light,
a.s-text-color--light,
i.s-text-color--light {
  color: var(--light-color);
}

.s-text-color--light svg path,
.s-text-color--light-hover:hover svg path,
.s-text-color--light-active.active svg path,
svg.s-text-color--light {
  fill: var(--light-color);
}

.s-text-color--white,
.s-text-color--white-hover:hover,
.s-text-color--white-hover:hover h1,
.s-text-color--white-hover:hover h2,
.s-text-color--white-hover:hover h3,
.s-text-color--white-hover:hover h4,
.s-text-color--white-hover:hover h5,
.s-text-color--white-hover:hover h6,
.s-text-color--white-hover:hover p,
.s-text-color--white-hover:hover ul,
.s-text-color--white-hover:hover li,
.s-text-color--white-hover:hover a,
.s-text-color--white-hover:hover i,
.s-text-color--white-active.active,
.s-text-color--white-active.active h1,
.s-text-color--white-active.active h2,
.s-text-color--white-active.active h3,
.s-text-color--white-active.active h4,
.s-text-color--white-active.active h5,
.s-text-color--white-active.active h6,
.s-text-color--white-active.active p,
.s-text-color--white-active.active ul,
.s-text-color--white-active.active li,
.s-text-color--white-active.active a,
.s-text-color--white-active.active i,
.s-text-color--white h1,
.s-text-color--white h2,
.s-text-color--white h3,
.s-text-color--white h4,
.s-text-color--white h5,
.s-text-color--white h6,
.s-text-color--white p,
.s-text-color--white ul,
.s-text-color--white li,
.s-text-color--white a,
.s-text-color--white i,
h1.s-text-color--white,
h2.s-text-color--white,
h3.s-text-color--white,
h4.s-text-color--white,
h5.s-text-color--white,
h6.s-text-color--white,
p.s-text-color--white,
ul.s-text-color--white,
li.s-text-color--white,
a.s-text-color--white,
i.s-text-color--white {
  color: var(--white-color);
}

.s-text-color--white svg path,
.s-text-color--white-hover:hover svg path,
.s-text-color--white-active.active svg path,
svg.s-text-color--white {
  fill: var(--white-color);
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}

/* In-page editor UI */

.in-editor-ui-label {
  background: #fff;
  border: 1px dotted blue;
  color: var(--primary-color) !important;
  font-family: 'Courier New', Courier, monospace;
  font-weight: 300;
  padding: 10px 15px;
}

/* Tools/Utility classes */

.l-negative-scroll-position,
a[data-hs-anchor="true"] {
  display: block;
  height: 1px;
  position: relative;
  top: -150px;
  width: 1px;
  z-index: -9999;
}
.l-footer .dnd-section > .row-fluid {
  margin: 0 auto;
  max-width: var(--container-width-desktop);
}

.l-footer {
  background-color: var(--footer-background-color);
}

/* Footer Content */
.l-footer p,
.l-footer h1,
.l-footer h2,
.l-footer h3,
.l-footer h4,
.l-footer h5,
.l-footer h6,
.l-footer label,
.l-footer span,
.l-footer li,
.l-footer img {
  color: var(--footer-font-color);
}

/* Footer Navigation */
.l-footer .hs-menu-wrapper ul {

}

.l-footer .hs-menu-wrapper ul li.hs-menu-item {
  margin: 5px 20px 5px 0;
  padding: 0;
}

.l-footer .hs-menu-wrapper.hs-menu-flow-vertical ul li.hs-menu-item {
  margin-left: 0;
  margin-right: 0;
}

.l-footer .hs-menu-wrapper ul li.hs-menu-item a {
  color: var(--footer-navigation-link-color);
  display: inline-block;
  font-family: articulat-cf, sans-serif;
  text-transform: none;
}

.l-footer .hs-menu-wrapper ul li.hs-menu-item a:hover,
.l-footer .hs-menu-wrapper ul li.hs-menu-item a:focus {
  text-decoration: none;
  color: var(--footer-navigation-link-hover-color);
}

/*
.l-footer .hs-menu-item>a:after {
  border-top: 2px solid var(--footer-navigation-link-color);
  content: "";
  display: block;
  padding-bottom: inherit;
  -ms-transform: scaleX(0);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transition: -webkit-transform .3s ease-out,border-color .3s ease-out;
  -webkit-transition: -webkit-transform .3s ease-out,border-color .3s ease-out;
  transition: transform .3s ease-out,border-color .3s ease-out;
  width: 100%;
}
*/

.l-footer .hs-menu-item.active-branch>a:after, 
.l-footer .hs-menu-item:active>a:after, 
.l-footer .hs-menu-item:focus-within>a:after, 
.l-footer .hs-menu-item:focus>a:after, 
.l-footer .hs-menu-item:hover>a:after {
  backface-visibility: hidden;
  -ms-transform: scaleX(1);
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.l-footer .hs-menu-depth-2 > ul {
  margin-bottom: unset;
}

.l-footer h4{
  margin-bottom: 15px;
}
.l-footer h5{
  margin-bottom: 15px;
}
.l-footer p{
  margin: 0 0 15px 0;
}
.l-footer p a{
  color: inherit;
}
.l-footer [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content{
  padding: 0;
  position: relative;
}
.l-footer [data-hsfc-id=Renderer] .hsfc-FieldLabel{
  display: none;
}
.l-footer [data-hsfc-id=Renderer] .hsfc-TextInput{
  border-radius: 10px;
  background-color: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .5);
  font-size: 1rem;
  line-height: 22px;
  padding: 14px 12px;
  color: white;
}
.l-footer [data-hsfc-id=Renderer] .hsfc-TextInput::placeholder {
  color: white;
  opacity: 0.5;
}
.l-footer [data-hsfc-id=Renderer] button.hsfc-Button{
  background: none !important;
  border: 1px solid rgba(255, 255, 255, .5) !important;
  box-shadow: none !important;
  padding: 15px !important;

}
.l-footer [data-hsfc-id=Renderer] button.hsfc-Button:after{
  content: '';
  display: inline-block;
  width: 21px;
  height: 21px;
  background: url('data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2221%22%20viewBox%3D%220%200%2021%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cmask%20id%3D%22mask0_85_3295%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2221%22%20height%3D%2221%22%3E%3Crect%20x%3D%2221%22%20y%3D%2221%22%20width%3D%2220.9998%22%20height%3D%2220.9998%22%20transform%3D%22rotate(-180%2021%2021)%22%20fill%3D%22%23D9D9D9%22%2F%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url(%23mask0_85_3295)%22%3E%3Cpath%20d%3D%22M12.2498%205.25012L17.4998%2010.5001L12.2498%2015.75L11.0248%2014.4813L14.131%2011.375L3.49992%2011.375L3.49992%209.62507L14.131%209.62507L11.0248%206.51885L12.2498%205.25012Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center;
  margin-left: 10px;
  vertical-align: middle;
}
.l-footer [data-hsfc-id=Renderer] .hsfc-ErrorAlert{
  color: var(--dark-color);
}
.l-footer [data-hsfc-id=Renderer] .hsfc-NavigationRow{
  margin: 0;
}
.l-footer [data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons{
  align-items: start;
}
.l-footer .cell_1739332272568-row-0-vertical-alignment .span3{
  margin-bottom: 30px;
}

.l-footer .hsfc-FormWrapper button {
  width: auto !important;
}

.s-footer-copyright {
  font-size: 14px;
  text-align: center;
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .footer-column-1-row-4-vertical-alignment > .row-fluid{
    flex-wrap: wrap;
  }
  .footer-column-1-row-4-vertical-alignment > .row-fluid .span7,
  .footer-column-1-row-4-vertical-alignment > .row-fluid .span5{
    width: 100%;
  }
}
@media (min-width: 992px) {
  .l-footer [data-hsfc-id=Renderer] button.hsfc-Button{
    position: absolute;
    top: 0;
    right: 0;
    border: 0 none !important;
    border-radius: 10px !important;
  }
  .l-footer #hs_cos_wrapper_module_17393329759433_ p,
  .s-footer-copyright {
    text-align: right !important;
  }
}
@media (min-width: 1600px) {
  .l-footer .dnd-section > .row-fluid {
    margin: 0 auto;
    max-width: var(--container-width);
  }
}
body.no-scroll {
  overflow: hidden;
}

.body-container-wrapper--no-header {
  padding-top: 0;
}

.l-header {
  background-color: transparent;
  height: var(--header-height-mobile);
  transition: all .5s ease;
  width: 100vw;
  z-index: 999;
}

.l-header.scrolled{
  height: calc(var(--header-height-mobile) - 20px);
}

.l-header--fixed {
  position: fixed;
}

.l-header__inner {
  background: var(--dark-color);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  max-width: var(--container-width-desktop);
  padding: 0 20px;
  width: 100%;
}

.c-header__logo {
  max-width: 220px;
  overflow: hidden;
}

.c-header__menu, .c-header__cta {
  flex-grow: 1;
  height: var(--header-height-desktop);
}

.c-header__cta {
  display: none !important;
}

.hs-landing-page .c-header__cta .l-cta-button-wrapper {
  margin-bottom: 4px;
  margin-top: 0;
}

/* Navigation skipper */
.l-header__skip {
  background-color: var(--white-color);
  border-radius: 6px;
  color: var(--dark-blue-color) !important;
  font-weight: 500;
  height: 1px;
  left: -1000px;
  overflow: hidden;
  padding: 10px 15px;
  position: absolute;
  text-align: left;
  top: -1000px;
  width: 1px;
}

.l-header__skip:hover,
.l-header__skip:focus,
.l-header__skip:active {
  height: auto;
  left: 0;
  overflow: visible;
  top: 0;
  width: auto;
}

/* Search bar */
.header-search {
  margin-bottom: 3px;
}

.header-search i {
  font-size: 1.2em;
  margin: 0.5em 0.5em 0 0;
}

#site-search-modal {
  margin-top: 150px;
  max-width: 960px;
  vertical-align: top;
}

#site-search-modal .site-search-modal__inner {
  padding: 2em;
}

/* Breadcrumb */
#l-breadcrumb {
  left: 0;
  margin: 0 auto;
  max-width: var(--container-width);
  padding: 0 20px;
  position: absolute;
  right: 0;
  transition: all ease .35s;
  width: 100%;
}

.l-header.scrolled #l-breadcrumb {
  opacity: 0;
}

.c-breadcrumb {
  display: inline-flex;
  flex-wrap: wrap;
  padding-top:1em;
}

a.c-breadcrumb__link {
  color: var(--white-color);
  margin-right: 20px;
}

a.c-breadcrumb__link:hover, a.c-breadcrumb__link:active, a.c-breadcrumb__link:focus, .c-breadcrumb__link--active {
  color: var(--mint-color) !important;
  opacity: 1 !important;
}

.c-breadcrumb__link--active {
  margin-right: 0;
  opacity: 1;
}

body.s-breadcrumb--white a.c-breadcrumb__link,
body.s-breadcrumb--white a.c-breadcrumb__link:hover,
body.s-breadcrumb--white .c-breadcrumb__link--active {
  color: var(--white-color) !important;
}

body.s-breadcrumb--white a.c-breadcrumb__link {
  opacity: .6;
}

body.s-breadcrumb--white a.c-breadcrumb__link:hover {
  opacity: 1;
}

@media (min-width: 576px) {
  .c-header__cta {
    display: inherit !important;
  }
}


@media (min-width: 1600px) {
  .l-header__inner {
    max-width: var(--container-width);
  }
}

/* Language Switcher */
.c-language-switcher {
  border-left: 1px solid var(--white-color);
  cursor: pointer;
  padding: 25px;
}

.c-language-switcher:hover .lang_list_class,
.c-language-switcher:focus .lang_list_class,
.c-language-switcher:focus-within .lang_list_class {
  display: block;
}

.c-language-switcher .lang_list_class {
  width: 100px;
}

.c-language-switcher .lang_list_class li:first-child {
  border-top: none;
  padding-top: unset;
}

.c-language-switcher .lang_list_class li:first-child,
.c-language-switcher .lang_list_class li:first-child a {
  border-radius: 5px 5px 0 0;
}

.c-language-switcher .lang_list_class li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.c-language-switcher .lang_list_class li:last-child,
.c-language-switcher .lang_list_class li:last-child a {
  border-radius: 0 0 5px 5px;
}

.c-language-switcher .lang_list_class li {
  border: none;
  font-size: 14px;
  font-weight: 400;
  margin: 0;
  padding: 0;
  text-align: left;
}

.c-language-switcher .lang_list_class li a {
  display: flex;
  padding: 0.5rem 1rem;
}

.c-language-switcher .lang_list_class li a:hover,
.c-language-switcher .lang_list_class li a:focus,
.c-language-switcher .lang_list_class li a:focus-within {
  background-color: var(--mint-color);
  color: var(--dark-blue-color);
}

.c-language-switcher .lang_list_class li::before {
  display: none !important;
}

.hs_cos_wrapper_type_language_switcher {
  height: 22px;
}

.globe_class {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23ffffff" class="bi bi-globe2" viewBox="0 0 16 16"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.472.257 2.282.287V1.077zM4.249 3.539c.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05c.362.184.763.349 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5h2.49zm1.4-2.741a12.344 12.344 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332zM8.5 5.09V7.5h2.99a12.342 12.342 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.612 13.612 0 0 1 7.5 10.91V8.5H4.51zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741H8.5zm-3.282 3.696c.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a6.696 6.696 0 0 1-.598-.933 8.853 8.853 0 0 1-.481-1.079 8.38 8.38 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.522zm-1.383-2.964A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.963 6.963 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667zm6.728 2.964a7.009 7.009 0 0 0 2.275-1.521 8.376 8.376 0 0 0-1.197-.49 8.853 8.853 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zM8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872A12.63 12.63 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.963 6.963 0 0 0 14.982 8.5h-2.49a13.36 13.36 0 0 1-.437 3.008zM14.982 7.5a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008h2.49zM11.27 2.461c.177.334.339.694.482 1.078a8.368 8.368 0 0 0 1.196-.49 7.01 7.01 0 0 0-2.275-1.52c.218.283.418.597.597.932zm-.488 1.343a7.765 7.765 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z"/></svg>') !important;
}

.c-language-switcher__label-current {
  font-size: .8rem;
  font-weight: 400;
  margin-left: 5px;
  text-transform: uppercase;
}

/**** LANDING PAGE STYLES ****/
.l-header--landing-page-wrapper {
  margin: 0 auto;
  max-width: var(--container-width);
  padding: 0 20px;
  width: 100%;
}
.l-header--landing-page-wrapper .l-header__inner {
  max-width: 124px;
}

@media (max-width: 576px) {
  .stickycta .c-header__cta {
    display: block !important;
    height: auto;
    position: absolute;
    top: calc(100vh - 51px);
    width: 100%;
  }

  .stickycta .c-header__cta .c-cta-button {
    border-radius: 0;
    margin-bottom: 0;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .l-header {
    height: var(--header-height-tablet);
  }
}

@media (min-width: 1200px) {
  .l-header {
    height: var(--header-height-desktop);
  }

  .l-header.scrolled{
    height: calc(var(--header-height-desktop) - 30px);
  }

  .l-header__menu-and-buttons {
    gap: 20px;
  }
  
  .l-header__buttons .l-button-group {
    margin-top: 0;
  }

}

/*  Elements
    Base HMTL elements are styled in this section (<body<, <h1>, <a>, <p>, <button> etc.)
*/
.l-button-group {
  gap: .5rem;
  margin-top: 0.5em;
  width: 100%;
}

button:not(.pagination-btn):not(.c-button):not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.splide__pagination__page):not(.splide__arrow):not(.c-dialog__close-icon):not(.uiButton):not(.clear-filters):not(.header__menu-toggle):not(.c-quiz-form__button-back):not(.c-quiz-form__dialog-close):not([class*="ToolbarIconButton"]):not([class*="PrivateButton"]),
.c-button {
  background-color: var(--button-background-color);
  border-radius: var(--button-border-radius);
  border: var(--button-border);
  color: var(--button-font-color);
  cursor: pointer;
  display: inline-block;
  font-weight: 400;
  max-width: var(--button-max-width);
  padding: var(--button-padding);
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
  width: 100%;
}

button:disabled,
.c-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

/*
  Button size styles
*/
button.c-button--large,
.c-button--large {
  font-size: 1.25em;
}

button.c-button--medium,
.c-button--medium {
  font-size: 1rem;
}

button.c-button--small,
.c-button--small {
  font-size: 0.75rem;
}

/*
  Button Styles
*/
button.c-button--primary-color,
.c-button--primary-color {
  background-color: var(--primary-color);
}

button.c-button--primary-color:hover,
.c-button--primary-color:hover,
button.c-button--primary-color:focus,
.c-button--primary-color:focus,
button.c-button--primary-color:active,
.c-button--primary-color:active {
  background-color: var(--dark-color);
  color: var(--light-color);
}

button.c-button--primary-color svg path,
.c-button--primary-color svg path {
  fill: var(--button-font-color);
}

button.c-button--secondary-color,
.c-button--secondary-color {
  background-color: var(--secondary-color);
}

button.c-button--secondary-color:hover,
.c-button--secondary-color:hover,
button.c-button--secondary-color:focus,
.c-button--secondary-color:focus,
button.c-button--secondary-color:active,
.c-button--secondary-color:active {
  background-color: var(--dark-color);
  color: var(--light-color);
}

.l-header button.c-button--secondary-color:hover,
.l-header .c-button--secondary-color:hover,
.l-header button.c-button--secondary-color:focus,
.l-header .c-button--secondary-color:focus,
.l-header button.c-button--secondary-color:active,
.l-header .c-button--secondary-color:active {
  background-color: var(--primary-color);
  color: var(--light-color);
}

button.c-button--secondary-color svg path,
.c-button--secondary-color svg path {
  fill: var(--button-font-color);
}

button.c-button--dark-color,
.c-button--dark-color {
  background-color: var(--dark-color);
  color: var(--light-color);
}

button.c-button--dark-color:hover,
.c-button--dark-color:hover,
button.c-button--dark-color:focus,
.c-button--dark-color:focus,
button.c-button--dark-color:active,
.c-button--dark-color:active {
  background-color: var(--secondary-color);
  color: var(--light-color);
}

button.c-button--dark-color svg path,
.c-button--dark-color svg path{
  fill: var(--light-color);
}

button.c-button--outline-dark,
.c-button--outline-dark {
  background-color: transparent;
  color: var(--dark-color);
  border: 1px solid var(--dark-color);
}

button.c-button--outline-dark:hover,
button.c-button--outline-dark:active,
button.c-button--outline-dark:focus,
.c-button--outline-dark:hover,
.c-button--outline-dark:active,
.c-button--outline-dark:focus {
  background-color: var(--dark-color);
  color: var(--white-color);
}

button.c-button--outline-dark:hover svg path,
button.c-button--outline-dark:active svg path,
button.c-button--outline-dark:focus svg path,
.c-button--outline-dark:hover svg path,
.c-button--outline-dark:active svg path,
.c-button--outline-dark:focus svg path {
  fill: var(--white-color);
}


button.c-button--outline-primary,
.c-button--outline-primary {
  background-color: transparent;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
}
button.c-button--outline-primary svg path,
.c-button--outline-primary svg path{
  fill: var(--primary-color);
}

button.c-button--outline-primary:hover,
button.c-button--outline-primary:active,
button.c-button--outline-primary:focus,
.c-button--outline-primary:hover,
.c-button--outline-primary:active,
.c-button--outline-primary:focus {
  background-color: var(--primary-color);
  color: var(--white-color);
}

button.c-button--outline-primary:hover svg path,
button.c-button--outline-primary:active svg path,
button.c-button--outline-primary:focus svg path,
.c-button--outline-primary:hover svg path,
.c-button--outline-primary:active svg path,
.c-button--outline-primary:focus svg path {
  fill: var(--white-color);
}

button.c-button--light-color,
.c-button--light-color {
  background-color: var(--light-color);
  color: var(--dark-color);
}

button.c-button--light-color:hover,
button.c-button--light-color:active,
button.c-button--light-color:focus,
.c-button--light-color:hover,
.c-button--light-color:active,
.c-button--light-color:focus {
  background-color: var(--dark-color);
  color: var(--white-color);
}

button.c-button--light-color:hover svg path,
button.c-button--light-color:active svg path,
button.c-button--light-color:focus svg path,
.c-button--light-color:hover svg path,
.c-button--light-color:active svg path,
.c-button--light-color:focus svg path {
  fill: var(--white-color);
}

button.c-button--white-color,
.c-button--white-color {
  background-color: var(--white-color);
  color: var(--primary-color);
}
button.c-button--outline-white,
.c-button--outline-white {
  background-color: transparent;
  color: var(--white-color);
  border: 1px solid var(--white-color);
}

button.c-button--outline-white:hover,
button.c-button--outline-white:active,
button.c-button--outline-white:focus,
.c-button--outline-white:hover,
.c-button--outline-white:active,
.c-button--outline-white:focus {
  background-color: var(--primary-color);
  border: 1px solid var(--primary-color);
  color: var(--white-color);
}

button.c-button--link, .c-button--link {
  background-color: transparent;
  color: var(--white-color);
  font-weight: 600;
  padding:0;
}

.c-button--link svg path {
  fill: var(--white-color);
}

/*
  Icon Styles
*/
.c-close-icon--primary-color {
  fill: var(--primary-color);
}
.c-close-icon--secondary-color {
  fill: var(--secondary-color);
}
.c-close-icon--dark-color {
  fill: var(--dark-color);
}
.c-close-icon--light-color {
  fill: var(--light-color);
}
.c-close-icon--white-color {
  fill: var(--white-color);
}



/*
  Button icons
*/
.c-button::after {
  font-family: 'Material Symbols Outlined';
  margin-left: 10px;
  position: relative;
  right: 0;
  transition: right ease .35s;
  display: inline-block;
  vertical-align: middle;
}

.c-button span {
  display: inline-block;
  left: 10px;
  position: relative;
  transition: all ease .35s;
}

.c-button span svg {
  vertical-align: middle;
}

.c-button:hover::after,
.c-button:focus::after,
.c-button:focus-within::after {
  right: -10px;
}

.c-button:hover span,
.c-button:focus span,
.c-button:focus-within span {
  left: 15px;
}

.c-button__icon--none::after {
  display: none;
}

.c-button__icon--instagram::after {
  content: '';
  background: url('https://25206466.fs1.hubspotusercontent-eu1.net/hubfs/25206466/instagram-white.svg') no-repeat center;
  background-size: contain;
  width: 20px;
  height: 20px;
}

.c-button__icon--tiktok::after {
  content: '';
  background: url('https://25206466.fs1.hubspotusercontent-eu1.net/hubfs/25206466/tiktok-black-icon-symbol.svg') no-repeat center;
  background-size: contain;
  width: 20px;
  height: 20px;
}

/*
  Button burger
*/
.c-button-burger {
  background-color: transparent;
  display: block;
  width: 40px;
  height: 36px;
  position: relative;
  cursor: pointer;
  margin-bottom: 10px;
  margin-top: 10px;
  border-radius:10px;
  text-align: center;
}

.c-button-burger svg {
  vertical-align: middle;
}

.c-button-burger .line {
  fill: none;
  stroke: var(--white-color);
  stroke-width: 4;
  transition: stroke-dasharray .6s cubic-bezier(.4,0,.2,1),stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)
}

.l-header.scrolled .c-button-burger {
  background-color: var(--primary-color);
}

.c-button-burger .line1 {
  stroke-dasharray: 60 207;
  stroke-width: 4
}

.c-button-burger .line2 {
  stroke-dasharray: 60 60;
  stroke-width: 4
}

.c-button-burger .line3 {
  stroke-dasharray: 60 207;
  stroke-width: 4
}

.c-button-burger.open .line1 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 4
}

.c-button-burger.open .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -40;
  stroke-width: 4
}

.c-button-burger.open .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 4
}


@media (max-width: 767px) {
  .l-button-group.l-flex--justify-content-flex-end {
	  justify-content: flex-start;
  }
}

@media (min-width: 768px) {
  button:not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.splide__pagination__page):not(.splide__arrow):not(.c-dialog__close-icon):not(.uiButton):not(.clear-filters),
  .c-button {
    width: auto;
  }
}
.l-content-card-wrapper {
    gap: 20px;
}

.content-card-content {
  height: 100%;
  padding-bottom: 5em;
  position: relative;
}

.content-card-content .l-cta-button-wrapper {
  bottom: 0;
  position: absolute;
  width: 100%;
}

.c-card {
  margin: 0 auto 80px auto;
  max-width: 100%;
  position: relative;
  width: 100%;
  flex-basis: 100%;
  z-index: 0;
  backdrop-filter: blur(50px);
  border-radius: 30px;
  color: var(--white-color);
}

.c-card:last-child {
  margin-bottom: 0;
}

.c-card__image {
  max-height: 346px;
  overflow: hidden;
  margin-left: 2em;
  margin-top: -60px;
  border-radius: 30px;
}

.c-card__image img {
  height: auto !important;
  transition: all ease .4s;
  vertical-align: top;
  width: 100% !important;
}
.c-card:hover img {
  transform: scale(1.07);
}

.c-card__icon {
  position: relative;
  top: -30px;
}

.c-card__icon i[class*=fa]{
  border-radius: 100%;
  display: inline-block;
  font-size: 40px;
  font-style: normal;
  height: 60px;
  line-height: 40px;
  padding: 10px;
  transition: .4s ease;
  width: 60px !important;
}
.c-card__icon svg,
.c-card__icon .hs_cos_wrapper_type_icon svg{
  border-radius: 100%;
  display: inline-block;
  font-style: normal;
  height: 60px;
  line-height: 60px;
  padding: 10px;
  transition: .4s ease;
  width: 60px !important;
}

.c-card__icon.tc {
  text-align: center; 
}

.c-card__icon.tr {
  padding-right:2em;
  text-align: right; 
}

.c-card__icon.tl {
  padding-left:2em;
  text-align: left; 
}

.c-card__title {
  border-bottom: solid 1px var(--white-color);
  margin-left: 2em;
  padding: 2em 2em 1.5em 0;
}

.c-card__title--noborder {
  border-bottom: 0;
}

.c-card__title h3, .c-card__title h4 {
  color: var(--white-color);
  margin-bottom: 0;
}

.c-card__title h3 svg, .c-card__title h4 svg {
  margin-left: 0.3em;
  transition: margin 0.5s ease;
  vertical-align: middle;
  width: 22px;
}

.c-card:hover .c-card__title h3 svg, .c-card:hover .c-card__title h4 svg {
  margin-left: 0.5em;
}

.c-card__text {
  font-size: 1.2em;
  line-height: 1.2em;
  
  padding: 1.5em 2em 1em 2em;
  position: relative;
}

.c-card__text p {
  margin-top: 0;
}

.c-card__text--with-icon {
  margin-top: -40px;
}

.c-card__text h4 {
  font-size: 1.6em;
  line-height: 1.2em;
}

.c-card__link{
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  text-indent: -999999px;
  top: 0;
  z-index: 1;
}

@media (min-width: 768px) {
  .l-content-card-wrapper {
    flex-direction: row !important;
    flex-wrap: wrap;
  }

  .c-card {
    flex-basis: 48%;
  }

  .c-card:nth-child(3n) {
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .l-content-card-wrapper {
    flex-wrap: nowrap;
  }

  .c-card {
    margin-bottom: 0;
  }

  .c-card:last-child {
    margin-bottom: 0;
  }
  .l-content-card-wrapper--img-left {
    align-items: flex-start;
  }

  .l-content-card-wrapper--img-left .c-card {
    display: flex;
    flex-direction: row;
  }

  .c-card__image {
    margin-top: -90px;
  }

  .l-content-card-wrapper--img-left .c-card__image {
    border-radius: 0;
    margin-left: 0;
    margin-top: -30px;
  }

  .l-content-card-wrapper--img-left .c-card__image img {
    border-radius: 30px;
  }

}

@media (min-width: 1200px) {
  .c-card__title h3 svg, .c-card__title h4 svg {
    width: 30px;
  }
}

@media (min-width: 1600px) {
  .c-card__image {
    margin-left: 3em;
    margin-top: -120px;
  }

  .c-card__title {
    margin-left: 3em;
    padding: 3em 2em 1.5em 0;
  }

  .c-card__title h3 svg, .c-card__title h4 svg {
    width: 35px;
  }

  .c-card__text {
    padding: 1.5em 2em 1em 3rem;
  }
}
.l-video-embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.l-video-embed-container iframe,
.l-video-embed-container object,
.l-video-embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.l-cookiebot-privacy-wrapper .hs-embed-wrapper {
  max-height: 100% !important;
  max-width: 100vw !important;
  width: 100%;
}

.CookieDeclarationType {
  border: none !important;
  padding: unset !important;
}
form,
.submitted-message {
  font-family: articulat-cf, sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
}

/* Form title */
.form-title {
  background-color: var(--form-title-background-color);
  color: var(--form-title-font-color);
}

/* Form fields */
.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */
form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
  color: var(--form-label-font-color);
}

/* Help text - legends */
form legend {
  font-size: 0.875rem;
  color: var(--form-help-text-font-color);
}

/* Inputs */
form input[type=text],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  background-color: #FFF;
  border: 2px solid;
  border-radius: 3px;
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.7rem;
  width: 100%;
  border-color: var(--form-input-border-color);
  color: #263648;
}

form input[type=text]:focus,
form input[type=email]:focus,
form input[type=password]:focus,
form input[type=tel]:focus,
form input[type=number]:focus,
form input[type=file]:focus,
form select:focus,
form textarea:focus {
  border-color: var(--form-input-focus-border-color);
}

form select {
  /** Replace the dropdown arrow indicator */
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1em;
}

form fieldset {
  max-width: 100% !important;
}

/* Form placeholder text */
::-webkit-input-placeholder {
  color: #263648;
}

::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder,
::placeholder,
.hs-fieldtype-date .input .hs-dateinput:before {
  color: #263648;
}

/* Inputs - checkbox/radio */
form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - datepicker */
.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
  background: var(--primary-color);
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
  background-color: var(--primary-color) !important;
}

.fn-date-picker td.is-today .pika-button {
  color: var(--primary-color);
}

/* Inputs - file picker */
form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */
form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */
.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */
.hs-form-required {
  color: var(--form-error-text-font-color);
}

.hs-input.invalid.error {
  border-color: var(--form-error-text-font-color);
}

.hs-error-msg {
  color: var(--form-error-text-font-color);
  margin-top: 0.35rem;
}

/* Submit button */
form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  font-size: 0.92rem;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
  background-color: var(--button-background-color);
  border: var(--button-border);
  border-radius: var(--button-border-radius);
  color: var(--button-font-color);
  padding: var(--button-padding);
}

form input[type=submit]:hover,
form input[type=submit]:focus,
form .hs-button:hover,
form .hs-button:focus {
  background-color: rgba(102, 0, 84, 1.0);
  border-color: #660054;
  color: var(--button-font-color);
}

form input[type=submit]:active,
form .hs-button:active {
  background-color: rgba(182, 48, 164, 1.0);
  border-color: #b630a4;
  color: var(--button-font-color);
}

/* Captcha */
.grecaptcha-badge {
  margin: 0 auto;
}
.c-dialog {
  border: none;
  border-radius: 30px;
  max-width: 800px;
  padding: 2rem;
  position: relative;
  width: 100%;
}

.c-dialog::backdrop {
  animation: fade-in 1s;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(3px);
}

.c-dialog__close-icon {
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 1;
  border: none;
  background: transparent;
  cursor: pointer;
}

.c-dialog--video {
  max-width: 98%;
  overflow: hidden;
  padding: 0;
}

.c-dialog__video-embed--external {
  height: 0;
  padding-bottom: 56.25%;
  width: 100%;
}

.c-dialog__video-embed--external iframe {
  aspect-ratio: 16 / 9;
  height: unset;
  width: 100%;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (min-width: 1024px) {
  .c-dialog--video {
    max-width: 75%;
  }

  .c-dialog {
    padding: 3rem;
  }

  .c-dialog__close-icon {
    right: 3rem;
    top: 3rem;
  }
}
/* Table */
table {
  border: 1px solid;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
  background-color: var(--table-background-color);
  border-color: var(--table-border-color);
}

/* Table Cells */
th,
td {
  border: 1px solid;
  padding: 0.75rem;
  vertical-align: top;
  border-color: var(--table-border-color);
  color: var(--table-font-color);
}

/* Table Header */
thead th,
thead td {
  border-bottom: 2px solid;
  vertical-align: bottom;
  background-color: var(--table-header-background-color);
  border-bottom-color: var(--table-border-color);
  color: var(--table-header-font-color);
}

/* Table Footer */
tfoot td {
  background-color: var(--table-footer-background-color);
  color: var(--table-footer-font-color);
}
html {
  scroll-behavior: smooth;
  font-size: var(--paragraph-font-size);
}

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  word-break: break-all;
}

body {
  line-height: 1.4;
  word-break: break-word;
  font-family: articulat-cf, sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
  color: #263648;
}

/* Paragraphs */
p {
  font-size: 1rem;
  margin: 1.2em 0;
  font-family: articulat-cf, sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
}

/* Anchors */
a {
  cursor: pointer;
  text-decoration: none;
  transition: all .3s ease-in-out;
  color: var(--anchor-font-color);
}

a:not(.c-button):active,
a:not(.c-button):hover,
a:not(.c-button):focus {
  text-decoration: none;
  color: var(--anchor-font-hover-color);
}

/* Headings */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  margin: 0 0 .5em 0;
}

h1, .h1 {
  font-weight: 700; text-decoration: none; letter-spacing: -4%; line-height: 1em; font-family: articulat-cf, sans-serif; font-style: normal;
  color: #01ADAB;
  font-size: 2.5rem;
}

h2, .h2 {
  font-weight: 700; text-decoration: none; letter-spacing: -4%; line-height: 1em; font-family: articulat-cf, sans-serif; font-style: normal;
  color: #01ADAB;
  font-size: 2rem;
}

h3, .h3 {
  font-weight: 600; text-decoration: none; letter-spacing: -4%; line-height: 1em; font-family: articulat-cf, sans-serif; font-style: normal;
  color: #01ADAB;
  font-size: 1.8rem;
}

h4, .h4 {
  font-weight: 600; text-decoration: none; line-height: 1em; font-family: articulat-cf, sans-serif; font-style: normal;
  color: #01ADAB;
  font-size: 1.4rem;
}

h5, .h5 {
  font-weight: 600; text-decoration: none; line-height: 1.2em; font-family: articulat-cf, sans-serif; font-style: normal;
  color: #01ADAB;
  font-size: 1.2rem;
}

h6, .h6 {
  font-weight: 600; text-decoration: none; font-family: articulat-cf, sans-serif; font-style: normal;
  color: #263648;
  font-size: 1.1rem;
}

.s-typography--heading-1-size {
  font-size: var(--heading-1-font-size);
}

.s-typography--heading-2-size {
  font-size: var(--heading-2-font-size);
}

.s-typography--heading-3-size {
  font-size: var(--heading-3-font-size);
}

.s-typography--heading-4-size {
  font-size: var(--heading-4-font-size);
}

.s-typography--heading-5-size {
  font-size: var(--heading-5-font-size);
}

.s-typography--heading-6-size {
  font-size: var(--heading-6-font-size);
}

.s-typography--paragraph-size {
  font-size: var(--paragraph-font-size);
}

small, .text_small {font-size: 0.8rem;}

/* Lists */
ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
}

li {
  margin-bottom: .5em;
  padding-left: 0.25em;
}

#l-main-content ul {
  padding-left: 0;
}

#l-main-content li:not(.hs-form-booleancheckbox):not(.splide__slide ):not([role="presentation"]) {
  list-style: none;
  margin-bottom: 1em;
  padding-left: 2em;
  position: relative;
}

#l-main-content li:not(.hs-form-booleancheckbox):not(.splide__slide ):not([role="presentation"])::before {
  background-color: var(--primary-color);
  border-radius: 0;
  content: "";
  display: block;
  height: 12px;
  left: 0;
  position: absolute;
  top: 5px;
  width: 12px;
}

/* Code blocks */
pre {
  overflow: auto;
}

code {
  background-color: #eee;
  display: block;
  padding: 1em;
  vertical-align: bottom;
}

/* Blockquotes */
blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding: 0 1em;
  border-left-color: var(--secondary-color);
}

blockquote p {
  font-style: italic;
}

/* Horizontal rules */
hr {
  background-color: var(--secondary-color);
  border: none;
  color: var(--secondary-color);
  height: 2px;
  margin-bottom: 1.2em;
}

/* Image alt text */
img {
  font-size: .9em;
  word-break: normal;
}

@media (min-width: 768px) {

}

@media (min-width: 992px) {
  
}

@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 3.875rem;
  }

  h2, .h2 {
    font-size: 2.625rem;
  }

  h3, .h3 {
    font-size: 1.875rem;
  }

  h4, .h4 {
    font-size: 1.6rem;
  }

  h5, .h5 {
    font-size: 1.35rem;
  }
}

/*  Objects
    Non-cosmetic design patterns including grid and layout classes)
*/
.content-wrapper {
  margin: 0 auto;
  padding: 0 20px;
  max-width: var(--container-width-desktop);
}

.dnd-section,
.content-wrapper--vertical-spacing {
  padding: var(--dnd-section-padding-mobile);
}

.dnd-section.s-header-background--teal, .dnd-section.s-gradient-background--teal-hero-dot-matrix-curve, .content-wrapper .l-error-page {
  padding-bottom: 60px;
  padding-top: calc(var(--dnd-section-padding-top-tablet) + 90px)
}

.dnd-section.s-gradient-background--teal-hero-dot-matrix-curve:not(.row-number-1) {
  padding-bottom: var(--dnd-section-padding-top-tablet);
  padding-top: var(--dnd-section-padding-top-tablet);
}

.dnd-section > .row-fluid {
  margin: 0 auto;
  max-width: var(--container-width-desktop);
}

.dnd-section .dnd-column {
  padding: 0 20px;
}

@media (min-width: 768px) {
  .dnd-section,
  .content-wrapper--vertical-spacing {
    padding: var(--dnd-section-padding-tablet);
  }

  .dnd-section.s-header-background--teal, .dnd-section.s-gradient-background--teal-hero-dot-matrix-curve, .content-wrapper .l-error-page {
    padding-top: calc(var(--dnd-section-padding-top-desktop) + 60px)
  }

  .dnd-section.s-gradient-background--teal-hero-dot-matrix-curve:not(.row-number-1) {
    padding-bottom: var(--dnd-section-padding-top-desktop);
    padding-top: var(--dnd-section-padding-top-desktop);
  }

}

@media (min-width: 992px) {
  .dnd-section,
  .content-wrapper--vertical-spacing {
    padding: var(--dnd-section-padding);
  }

  .dnd-section.s-header-background--teal, .dnd-section.s-gradient-background--teal-hero-dot-matrix-curve, .content-wrapper .l-error-page {
    padding-bottom: 90px;
    padding-top: calc(var(--dnd-section-padding-top-large-desktop) + 60px)
  }

  .dnd-section.s-gradient-background--teal-hero-dot-matrix-curve:not(.row-number-1) {
    padding-bottom: var(--dnd-section-padding-top-large-desktop);
    padding-top: var(--dnd-section-padding-top-large-desktop);
  }

}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

@media (min-width: 1600px) {

  .dnd-section,
  .content-wrapper--vertical-spacing {
    padding: var(--dnd-section-padding-large-desktop);
  }

  .dnd-section.s-header-background--teal, .dnd-section.s-gradient-background--teal-hero-dot-matrix-curve, .content-wrapper .l-error-page {
    padding-top: calc(var(--dnd-section-padding-top-large-desktop) + 60px)
  }

  .dnd-section.s-gradient-background--teal-hero-dot-matrix-curve:not(.row-number-1) {
    padding-bottom: var(--dnd-section-padding-top-large-desktop);
    padding-top: var(--dnd-section-padding-top-large-desktop);
  }

  .content-wrapper {
    max-width: var(--container-width);
  }

  .dnd-section > .row-fluid {
    max-width: var(--container-width);
  }
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
} 
.l-flex {
  display: flex;
}

/*******************************************
  Direction
*******************************************/
.l-flex--direction-row {
  flex-direction: row;
}

.l-flex--direction-row-reverse {
  flex-direction: row-reverse;
}

.l-flex--direction-column {
  flex-direction: column;
}

.l-flex--direction-column-reverse {
  flex-direction: column-reverse;
}

/*******************************************
  Wrap
*******************************************/
.l-flex--nowrap {
  flex-wrap: nowrap;
}

.l-flex--wrap {
  flex-wrap: wrap;
}

.l-flex--wrap-reverse {
  flex-wrap: wrap-reverse;
}

/*******************************************
  Justify Content
*******************************************/
.l-flex--justify-content-flex-start {
  justify-content: flex-start;
}

.l-flex--justify-content-flex-end {
  justify-content: flex-end;
}

.l-flex--justify-content-center {
  justify-content: center;
}

.l-flex--justify-content-space-between {
  justify-content: space-between;
}

.l-flex--justify-content-space-around {
  justify-content: space-around;
}

.l-flex--justify-content-space-evenly {
  justify-content: space-evenly;
}

.l-flex--justify-content-start {
  justify-content: start;
}

.l-flex--justify-content-end {
  justify-content: end;
}

.l-flex--justify-content-left {
  justify-content: left;
}

.l-flex--justify-content-right {
  justify-content: right;
}

/*******************************************
  Align Items
*******************************************/
.l-flex--align-items-stretch {
  align-items: stretch;
}

.l-flex--align-items-flex-start {
  align-items: flex-start;
}

.l-flex--align-items-flex-end {
  align-items: flex-end;
}

.l-flex--align-items-center {
  align-items: center;
}

.l-flex--align-items-baseline {
  align-items: baseline;
}

.l-flex--align-items-first-baseline {
  align-items: first baseline;
}

.l-flex--align-items-last-baseline {
  align-items: last baseline;
}

.l-flex--align-items-start {
  align-items: start;
}

.l-flex--align-items-end {
  align-items: end;
}

.l-flex--align-items-self-start {
  align-items: self-start;
}

.l-flex--align-items-self-end {
  align-items: self-end;
}

/*******************************************
  Align Content
*******************************************/
.l-flex--align-content-flex-start {
  align-content: flex-start;
}

.l-flex--align-content-flex-end {
  align-content: flex-end;
}

.l-flex--align-content-center {
  align-content: center;
}

.l-flex--align-content-space-between {
  align-content: space-between;
}

.l-flex--align-content-space-around {
  align-content: space-around;
}

.l-flex--align-content-space-evenly {
  align-content: space-evenly;
}

.l-flex--align-content-stretch {
  align-content: start;
}

.l-flex--align-content-start {
  align-content: start;
}

.l-flex--align-content-end {
  align-content: end;
}

.l-flex--align-content-baseline {
  align-content: baseline;
}

.l-flex--align-content-first-baseline {
  align-content: first baseline;
}

.l-flex--align-content-last-baseline {
  align-content: last baseline;
}

/*******************************************
  Align Self
*******************************************/
.l-flex--align-self-auto {
  align-self: auto;
}

.l-flex--align-self-flex-start {
  align-self: flex-start;
}

.l-flex--align-self-flex-end {
  align-self: flex-end;
}

.l-flex--align-self-center {
  align-self: center;
}

.l-flex--align-self-baseline {
  align-self: baseline;
}

.l-flex--align-self-stretch {
  align-self: stretch;
}


/*************************************************************
  RESPONSIVE STYLES
************************************************************/


/************************************************************
  Small devices (landscape phones, 576px and up)
  Class names should have --sm added to denote the media breakpoint
************************************************************/
@media (min-width: 576px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--sm {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--sm {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--sm {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--sm {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--sm {
    flex-wrap: nowrap;
  }

  .l-flex--wrap--sm {
    flex-wrap: wrap;
  }

  .l-flex--wrap-reverse--sm {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--sm {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--sm {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--sm {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--sm {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--sm {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--sm {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--sm {
    justify-content: start;
  }

  .l-flex--justify-content-end--sm {
    justify-content: end;
  }

  .l-flex--justify-content-left--sm {
    justify-content: left;
  }

  .l-flex--justify-content-right--sm {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--sm {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--sm {
    align-items: flex-start;
  }

  .l-flex--align-items-flex-end--sm {
    align-items: flex-end;
  }

  .l-flex--align-items-center--sm {
    align-items: center;
  }

  .l-flex--align-items-baseline--sm {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--sm {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--sm {
    align-items: last baseline;
  }

  .l-flex--align-items-start--sm {
    align-items: start;
  }

  .l-flex--align-items-end--sm {
    align-items: end;
  }

  .l-flex--align-items-self-start--sm {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--sm {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--sm {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--sm {
    align-content: flex-end;
  }

  .l-flex--align-content-center--sm {
    align-content: center;
  }

  .l-flex--align-content-space-between--sm {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--sm {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--sm {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--sm {
    align-content: start;
  }

  .l-flex--align-content-start--sm {
    align-content: start;
  }

  .l-flex--align-content-end--sm {
    align-content: end;
  }

  .l-flex--align-content-baseline--sm {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--sm {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--sm {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--sm {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--sm {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--sm {
    align-self: flex-end;
  }

  .l-flex--align-self-center--sm {
    align-self: center;
  }

  .l-flex--align-self-baseline--sm {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--sm {
    align-self: stretch;
  }
}


/************************************************************
  Medium devices (tablets, 768px and up)
  Class names should have --md added to denote the media breakpoint
************************************************************/
@media (min-width: 768px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--md {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--md {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--md {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--md {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--md {
    flex-wrap: nowrap;
  }

  .l-flex--wrap--md {
    flex-wrap: wrap;
  }

  .l-flex--wrap-reverse--md {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--md {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--md {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--md {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--md {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--md {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--md {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--md {
    justify-content: start;
  }

  .l-flex--justify-content-end--md {
    justify-content: end;
  }

  .l-flex--justify-content-left--md {
    justify-content: left;
  }

  .l-flex--justify-content-right--md {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--md {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--md {
    align-items: flex-start;
  }

  .l-flex--align-items-flex-end--md {
    align-items: flex-end;
  }

  .l-flex--align-items-center--md {
    align-items: center;
  }

  .l-flex--align-items-baseline--md {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--md {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--md {
    align-items: last baseline;
  }

  .l-flex--align-items-start--md {
    align-items: start;
  }

  .l-flex--align-items-end--md {
    align-items: end;
  }

  .l-flex--align-items-self-start--md {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--md {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--md {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--md {
    align-content: flex-end;
  }

  .l-flex--align-content-center--md {
    align-content: center;
  }

  .l-flex--align-content-space-between--md {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--md {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--md {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--md {
    align-content: start;
  }

  .l-flex--align-content-start--md {
    align-content: start;
  }

  .l-flex--align-content-end--md {
    align-content: end;
  }

  .l-flex--align-content-baseline--md {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--md {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--md {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--md {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--md {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--md {
    align-self: flex-end;
  }

  .l-flex--align-self-center--md {
    align-self: center;
  }

  .l-flex--align-self-baseline--md {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--md {
    align-self: stretch;
  }
}


/************************************************************
  Large devices (desktops, 992px and up)
  Class names should have --lg added to denote the media breakpoint
************************************************************/
@media (min-width: 992px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--lg {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--lg {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--lg {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--lg {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--lg {
    flex-wrap: nowrap;
  }

  .l-flex--wrap--lg {
    flex-wrap: wrap;
  }

  .l-flex--wrap-reverse--lg {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--lg {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--lg {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--lg {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--lg {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--lg {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--lg {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--lg {
    justify-content: start;
  }

  .l-flex--justify-content-end--lg {
    justify-content: end;
  }

  .l-flex--justify-content-left--lg {
    justify-content: left;
  }

  .l-flex--justify-content-right--lg {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--lg {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--lg {
    align-items: flex-start;
  }

  .l-flex--align-items-flex-end--lg {
    align-items: flex-end;
  }

  .l-flex--align-items-center--lg {
    align-items: center;
  }

  .l-flex--align-items-baseline--lg {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--lg {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--lg {
    align-items: last baseline;
  }

  .l-flex--align-items-start--lg {
    align-items: start;
  }

  .l-flex--align-items-end--lg {
    align-items: end;
  }

  .l-flex--align-items-self-start--lg {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--lg {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--lg {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--lg {
    align-content: flex-end;
  }

  .l-flex--align-content-center--lg {
    align-content: center;
  }

  .l-flex--align-content-space-between--lg {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--lg {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--lg {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--lg {
    align-content: start;
  }

  .l-flex--align-content-start--lg {
    align-content: start;
  }

  .l-flex--align-content-end--lg {
    align-content: end;
  }

  .l-flex--align-content-baseline--lg {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--lg {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--lg {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--lg {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--lg {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--lg {
    align-self: flex-end;
  }

  .l-flex--align-self-center--lg {
    align-self: center;
  }

  .l-flex--align-self-baseline--lg {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--lg {
    align-self: stretch;
  }
}


/************************************************************
  X-Large devices (large desktops, 1200px and up)
  Class names should have --xl added to denote the media breakpoint
************************************************************/
@media (min-width: 1200px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--xl {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--xl {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--xl {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--xl {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--xl {
    flex-wrap: nowrap;
  }

  .l-flex--wrap--xl {
    flex-wrap: wrap;
  }

  .l-flex--wrap-reverse--xl {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--xl {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--xl {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--xl {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--xl {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--xl {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--xl {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--xl {
    justify-content: start;
  }

  .l-flex--justify-content-end--xl {
    justify-content: end;
  }

  .l-flex--justify-content-left--xl {
    justify-content: left;
  }

  .l-flex--justify-content-right--xl {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--xl {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--xl {
    align-items: flex-start;
  }

  .l-flex--align-items-flex-end--xl {
    align-items: flex-end;
  }

  .l-flex--align-items-center--xl {
    align-items: center;
  }

  .l-flex--align-items-baseline--xl {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--xl {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--xl {
    align-items: last baseline;
  }

  .l-flex--align-items-start--xl {
    align-items: start;
  }

  .l-flex--align-items-end--xl {
    align-items: end;
  }

  .l-flex--align-items-self-start--xl {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--xl {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--xl {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--xl {
    align-content: flex-end;
  }

  .l-flex--align-content-center--xl {
    align-content: center;
  }

  .l-flex--align-content-space-between--xl {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--xl {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--xl {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--xl {
    align-content: start;
  }

  .l-flex--align-content-start--xl {
    align-content: start;
  }

  .l-flex--align-content-end--xl {
    align-content: end;
  }

  .l-flex--align-content-baseline--xl {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--xl {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--xl {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--xl {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--xl {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--xl {
    align-self: flex-end;
  }

  .l-flex--align-self-center--xl {
    align-self: center;
  }

  .l-flex--align-self-baseline--xl {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--xl {
    align-self: stretch;
  }
}


/************************************************************
  XX-Large devices (larger desktops, 1400px and up)
  Class names should have --xxl added to denote the media breakpoint
************************************************************/
@media (min-width: 1400px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--xxl {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--xxl {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--xxl {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--xxl {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--xxl {
    flex-wrap: nowrap;
  }

  .l-flex--wrap--xxl {
    flex-wrap: wrap;
  }

  .l-flex--wrap-reverse--xxl {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--xxl {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--xxl {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--xxl {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--xxl {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--xxl {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--xxl {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--xxl {
    justify-content: start;
  }

  .l-flex--justify-content-end--xxl {
    justify-content: end;
  }

  .l-flex--justify-content-left--xxl {
    justify-content: left;
  }

  .l-flex--justify-content-right--xxl {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--xxl {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--xxl {
    align-items: flex-start;
  }

  .l-flex--align-items-flex-end--xxl {
    align-items: flex-end;
  }

  .l-flex--align-items-center--xxl {
    align-items: center;
  }

  .l-flex--align-items-baseline--xxl {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--xxl {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--xxl {
    align-items: last baseline;
  }

  .l-flex--align-items-start--xxl {
    align-items: start;
  }

  .l-flex--align-items-end--xxl {
    align-items: end;
  }

  .l-flex--align-items-self-start--xxl {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--xxl {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--xxl {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--xxl {
    align-content: flex-end;
  }

  .l-flex--align-content-center--xxl {
    align-content: center;
  }

  .l-flex--align-content-space-between--xxl {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--xxl {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--xxl {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--xxl {
    align-content: start;
  }

  .l-flex--align-content-start--xxl {
    align-content: start;
  }

  .l-flex--align-content-end--xxl {
    align-content: end;
  }

  .l-flex--align-content-baseline--xxl {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--xxl {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--xxl {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--xxl {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--xxl {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--xxl {
    align-self: flex-end;
  }

  .l-flex--align-self-center--xxl {
    align-self: center;
  }

  .l-flex--align-self-baseline--xxl {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--xxl {
    align-self: stretch;
  }
}
/* Responsive Grid */
.body-wrapper {
    overflow-x: clip;
}

.row-fluid {
    width: 100%;
    *zoom: 1;
}

.row-fluid:before, .row-fluid:after {
    display: table;
    content: "";
}

.row-fluid:after {
    clear: both;
}

.row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    min-height: 1px;
    margin-left: 2.127659574%;
    *margin-left: 2.0744680846382977%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.row-fluid [class*="span"]:first-child {
    margin-left: 0;
}

.row-fluid .span12 {
    width: 99.99999998999999%;
    *width: 99.94680850063828%;
}

.row-fluid .span11 {
    width: 91.489361693%;
    *width: 91.4361702036383%;
}

.row-fluid .span10 {
    width: 82.97872339599999%;
    *width: 82.92553190663828%;
}

.row-fluid .span9 {
    width: 74.468085099%;
    *width: 74.4148936096383%;
}

.row-fluid .span8 {
    width: 65.95744680199999%;
    *width: 65.90425531263828%;
}

.row-fluid .span7 {
    width: 57.446808505%;
    *width: 57.3936170156383%;
}

.row-fluid .span6 {
    width: 48.93617020799999%;
    *width: 48.88297871863829%;
}

.row-fluid .span5 {
    width: 40.425531911%;
    *width: 40.3723404216383%;
}

.row-fluid .span4 {
    width: 31.914893614%;
    *width: 31.8617021246383%;
}

.row-fluid .span3 {
    width: 23.404255317%;
    *width: 23.3510638276383%;
}

.row-fluid .span2 {
    width: 14.89361702%;
    *width: 14.8404255306383%;
}

.row-fluid .span1 {
    width: 6.382978723%;
    *width: 6.329787233638298%;
}

.container-fluid {
    *zoom: 1;
}

.container-fluid:before, .container-fluid:after {
    display: table;
    content: "";
}

.container-fluid:after {
    clear: both;
}

@media (max-width: 767px) {
    .row-fluid {
        width: 100%;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: none;
        width: auto;
        margin-left: 0;
    }
}

@media (min-width: 768px) and (max-width: 1139px) {
    .row-fluid {
        width: 100%;
        *zoom: 1;
    }

    .row-fluid:before, .row-fluid:after {
        display: table;
        content: "";
    }

    .row-fluid:after {
        clear: both;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: left;
        width: 100%;
        min-height: 1px;
        margin-left: 2.762430939%;
        *margin-left: 2.709239449638298%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    .row-fluid [class*="span"]:first-child {
        margin-left: 0;
    }

    .row-fluid .span12 {
        width: 99.999999993%;
        *width: 99.9468085036383%;
    }

    .row-fluid .span11 {
        width: 91.436464082%;
        *width: 91.38327259263829%;
    }

    .row-fluid .span10 {
        width: 82.87292817100001%;
        *width: 82.8197366816383%;
    }

    .row-fluid .span9 {
        width: 74.30939226%;
        *width: 74.25620077063829%;
    }

    .row-fluid .span8 {
        width: 65.74585634900001%;
        *width: 65.6926648596383%;
    }

    .row-fluid .span7 {
        width: 57.182320438000005%;
        *width: 57.129128948638304%;
    }

    .row-fluid .span6 {
        width: 48.618784527%;
        *width: 48.5655930376383%;
    }

    .row-fluid .span5 {
        width: 40.055248616%;
        *width: 40.0020571266383%;
    }

    .row-fluid .span4 {
        width: 31.491712705%;
        *width: 31.4385212156383%;
    }

    .row-fluid .span3 {
        width: 22.928176794%;
        *width: 22.874985304638297%;
    }

    .row-fluid .span2 {
        width: 14.364640883%;
        *width: 14.311449393638298%;
    }

    .row-fluid .span1 {
        width: 5.801104972%;
        *width: 5.747913482638298%;
    }
}

@media (min-width: 1280px) {
    .row-fluid {
        width: 100%;
        *zoom: 1;
    }

    .row-fluid:before, .row-fluid:after {
        display: table;
        content: "";
    }

    .row-fluid:after {
        clear: both;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: left;
        width: 100%;
        min-height: 1px;
        margin-left: 2.564102564%;
        *margin-left: 2.510911074638298%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    .row-fluid [class*="span"]:first-child {
        margin-left: 0;
    }

    .row-fluid .span12 {
        width: 100%;
        *width: 99.94680851063829%;
    }

    .row-fluid .span11 {
        width: 91.45299145300001%;
        *width: 91.3997999636383%;
    }

    .row-fluid .span10 {
        width: 82.905982906%;
        *width: 82.8527914166383%;
    }

    .row-fluid .span9 {
        width: 74.358974359%;
        *width: 74.30578286963829%;
    }

    .row-fluid .span8 {
        width: 65.81196581200001%;
        *width: 65.7587743226383%;
    }

    .row-fluid .span7 {
        width: 57.264957265%;
        *width: 57.2117657756383%;
    }

    .row-fluid .span6 {
        width: 48.717948718%;
        *width: 48.6647572286383%;
    }

    .row-fluid .span5 {
        width: 40.170940171000005%;
        *width: 40.117748681638304%;
    }

    .row-fluid .span4 {
        width: 31.623931624%;
        *width: 31.5707401346383%;
    }

    .row-fluid .span3 {
        width: 23.076923077%;
        *width: 23.0237315876383%;
    }

    .row-fluid .span2 {
        width: 14.529914530000001%;
        *width: 14.4767230406383%;
    }

    .row-fluid .span1 {
        width: 5.982905983%;
        *width: 5.929714493638298%;
    }
}

/* Clearfix */

.clearfix {
    *zoom: 1;
}

.clearfix:before, .clearfix:after {
    display: table;
    content: "";
}

.clearfix:after {
    clear: both;
}

/* Visibilty Classes */

.hide {
    display: none;
}

.show {
    display: block;
}

.invisible {
    visibility: hidden;
}

.hidden {
    display: none;
    visibility: hidden;
}

/* Responsive Visibilty Classes */

.visible-phone {
    display: none !important;
}

.visible-tablet {
    display: none !important;
}

.hidden-desktop {
    display: none !important;
}

@media (max-width: 767px) {
    .visible-phone {
        display: inherit !important;
    }

    .hidden-phone {
        display: none !important;
    }

    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1139px) {
    .visible-tablet {
        display: inherit !important;
    }

    .hidden-tablet {
        display: none !important;
    }

    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important ;
    }
}


/* NEW STYLES IN NEW FORMAT */
.l-position-relative {
    position: relative;
}

.l-full-height-section {
    min-height: calc(100vh - var(--header-height-mobile));
}

@media (min-width: 768px) {
    .l-full-height-section {
        min-height: calc(100vh - var(--header-height-tablet));
    }
}

@media (min-width: 1280px) {
    .l-full-height-section {
        min-height: calc(100vh - var(--header-height-desktop));
    }
}

@media (max-width: 980px) {
  .reverse-row-order .row-fluid {
    display: flex;
    flex-direction: row-reverse !important;
  }
  
  .stack .row-fluid {
    align-items: flex-start !important;
    flex-direction: column !important;
    flex-wrap: wrap; 
  }

  .stack .row-fluid [class*="span"] {
    width: 100% !important;
  }

  .stack .row-fluid .dnd-column {
    margin: 1em 0 !important;
    width: 100% !important;
  }

  .stack .row-fluid .dnd-column:last-child {
    margin: 0 !important;
  }

  .reverse-row-order.stack .row-fluid .dnd-column:first-child {
    margin: 0 !important;
  }
  
  .reverse-row-order.stack .row-fluid {
    align-items: flex-start !important;
    display: flex;
    flex-direction: column-reverse !important;
  }
}

/*  Tools
    Any animations, or functions used throughout the theme
    Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
    Note: _variables.css can be ignored, it's already included at the top of this file
*/
/* 
  Animation Styles 
*/
.reveal {
  opacity: 0;
}

.reveal {
  animation-fill-mode: forwards !important;
  opacity: 0;
  visibility: hidden;
  -webkit-animation-fill-mode: forwards !important;
}

:-webkit-full-screen-ancestor .reveal {
  animation-fill-mode: none !important;
}

.fade-in {
  animation: 1s ease fadeIn;
}

.fade-up {
  animation: 1s ease fadeUp;
}

.fade-down {
  animation: 1s ease fadeDown;
}

.fade-right {
  animation: 1s ease fadeRight;
}

.fade-left {
  animation: 1s ease fadeLeft;
}

.expand-left {
  animation: 1s ease expandLeft;
}

.expand-right {
  animation: 1s ease expandRight;
}

.bubble-up {
  animation: 1s ease bubbleUp;
}

.bubble-down {
  animation: 1s ease bubbleDown;
}

.bubble-left {
  animation: 1s ease bubbleLeft;
}

.bubble-right {
  animation: 1s ease bubbleRight;
}

.zoom-in {
  animation: 1s ease zoomIn;
}

.zoom-out {
  animation: 1s ease zoomOut;
}

/* 
  Keyframes 
*/

/* Fade In */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Fade Up */
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* Fade Down */
@-webkit-keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* Fade Right */
@-webkit-keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* Fade Left */
@-webkit-keyframes fadeLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* Expand Left */
@-webkit-keyframes expandLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}
@keyframes expandLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}

/* Expand Right */
@-webkit-keyframes expandRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
}
@keyframes expandRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
}

/* Bubble Up */
@-webkit-keyframes bubbleUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(10px);
    transform: scale(.2, .2) translateY(10px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(-5px);
    transform: scale(1.2, 1.2) translateY(-5px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
@keyframes bubbleUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(10px);
    transform: scale(.2, .2) translateY(10px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(-5px);
    transform: scale(1.2, 1.2) translateY(-5px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}

/* Bubble Down */
@-webkit-keyframes bubbleDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(-10px);
    transform: scale(.2, .2) translateY(-10px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(5px);
    transform: scale(1.2, 1.2) translateY(5px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
}
@keyframes bubbleDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(-10px);
    transform: scale(.2, .2) translateY(-10px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(5px);
    transform: scale(1.2, 1.2) translateY(5px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
}

/* Bubble Left */
@-webkit-keyframes bubbleLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(10px);
    transform: scale(.2, .2) translateX(10px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(-5px);
    transform: scale(1.2, 1.2) translateX(-5px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes bubbleLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(10px);
    transform: scale(.2, .2) translateX(10px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(-5px);
    transform: scale(1.2, 1.2) translateX(-5px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

/* Bubble Right */
@-webkit-keyframes bubbleRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(-10px);
    transform: scale(.2, .2) translateX(-10px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(5px);
    transform: scale(1.2, 1.2) translateX(5px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes bubbleRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(-10px);
    transform: scale(.2, .2) translateX(-10px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(5px);
    transform: scale(1.2, 1.2) translateX(5px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

/* Zoom In */
@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
}

/* Zoom Out */
@-webkit-keyframes zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
}
@keyframes zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
}
.s-text-align--left {
  text-align: left;
}

.s-text-align--center {
  text-align: center;
}

.s-text-align--right {
  text-align: right;
}

.s-negative-position {
  position: relative;
  bottom: -100px !important;
}

.s-additional-margin-top {
 margin-top: 60px;
}

.s-full-width-section > .row-fluid {
  max-width: none !important;
}

.s-no-padding, .s-no-padding .dnd-column {
  padding: 0 !important;
}

.s-no-padding--top-bottom {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

.s-no-padding--left-right {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.s-no-padding--top {
  padding-top: 0 !important;
}

.s-no-padding--bottom {
  padding-bottom: 0 !important;
}

.s-no-padding--left {
  padding-left: 0 !important;
}

.s-no-padding--right {
  padding-right: 0 !important;
}

.s-overflow-hidden {
  overflow: hidden;
}

@media (min-width: 768px) {
  .s-md-no-padding--bottom {
    padding-bottom: 0 !important;
  }
}

@media (min-width: 992px) {
  .s-additional-margin-top {
    margin-top: 90px;
  }
}

@media (min-width: 1600px) {
  .s-additional-margin-top {
    margin-top: 120px;
  }
}