/* FONTS (via fonts.com)
*/

/* VARIABLES */

:root {
  --default-font: arial;
  --default-font-size: 18px;
  --default-input-font-size: 50px;

  --col-primary: #5C6756;
  --col-primary-rgb: 92,103,86;

  --col-accent: #000;
  --col-accent-rgb: 0, 0, 0;

  --col-text: #000;
  --col-input: #646464;
  --col-placeholder: #D1D1D1;
  --col-input-bg: #fff;

  --col-button: transparent;
  --col-button-rgb: 255, 255, 255;

  --col-link: #122561;
  --col-link-rgb: 100, 26, 25;

  --col-link-hover: #000000;
  --col-link-hover-rgb: 0, 0, 0;

  --col-error: #ff6633;
  --col-error-rgb: 255, 51, 0;

  --col-attention: #ff6633;
  --col-attention-rgb: 255, 51, 0;

  --col-warning: #f5b00e;
  --col-warning-rgb: 245, 176, 14;

  --col-missing: #ff6633;
  --col-missing-rgb: 255, 51, 0;

  --col-burger: #fff;

  --col-border: #646464;
  --col-border-rgb: 139, 1395, 139;

  --dim-site-width: 1440px;
  --dim-default-space: 80px;
  --dim-input-height: 79px;

  --grid-spacing: 15px;
  --grid-spacing-neg: -15px;
  --grid-spacing-2x: 30px;
  --grid-margin: 50px;
  --grid-margin-neg: -50px;
}

/* theme */

body { font-weight: 300; background-color: #fff; font-size: 30px; }
html.overlay-active, html.overlay-active body { max-height: 100vh; overflow: hidden;}

/*CORE HTML*/
p { line-height: 1.5; margin-bottom: 30px; font-size: 18px; font-weight: 300}
p.short  { max-width: 1060px; margin-left: auto; margin-right: auto;}
p.shorter  { max-width: 740px; margin-left: 0; margin-right: auto;}
p.large { font-size: 22px;}
b,strong { font-weight: 700; }
p.larger { font-size: 24px;}
p.lighter { font-weight: 300}

h1, h2, h3, h4, h5, h6 { font-weight: 600; display: block;}
h1 { font-size: 50px; font-weight: 700; letter-spacing: 1px; line-height: 1.1; }
h2 { font-family: acumin-pro-extra-condensed; font-size: 22px;   color: #000; font-weight: 400; line-height: 1.1; margin-bottom: 15px; width: 100%; text-transform: uppercase; text-align: left; letter-spacing: 2px;}
h3 { font-size: 50px; font-weight: 700;  line-height: 1.1; margin-bottom: 20px}
h4 { font-size: 36px; font-weight: 700;  line-height: 1.1; margin-bottom: 40px; }
h5 { font-size: 22px; font-weight: 400;  line-height: 1.1; font-family: acumin-pro-extra-condensed; text-transform: uppercase; margin-bottom: 30px; letter-spacing: 2px;}
h6 { font-size: 22px; font-weight: 400;  line-height: 1.1; font-family: acumin-pro-extra-condensed; text-transform: uppercase; margin-bottom: 30px; letter-spacing: 2px;}
h2 + h3 { margin-top: -10px;}
h4 { }
h5 { }
h6 { }

/*CONTAINERS*/
article { padding-top: 0px; }
article.no-masthead { padding-top: 100px; }

article > section {max-width: 1440px; padding: 0px; margin: 0px auto;}
article > section.full {max-width: 1440px; }
article > section.max {max-width: 100%; }
article > section.blue { background-color: var(--col-primary); margin-top: -1px; max-width: 100%; }
article > section.spaced { margin: 80px auto;}
article > section.padded { padding-top: 80px; padding-bottom: 80px;}
article > section.masthead { max-width: 1440px; margin: 0px auto; padding: 0}
article > section.masthead.masthead-full { max-width: 100%; margin: 0px auto; padding: 0}
div.masthead > a > img, div.masthead > img  { display: block; width: 100%;}

div.masthead-home { background: url(/img/home/banner.png) no-repeat center center; background-size: cover; width: 100vw; height: calc(100vh - 307px); }

/* OVERLAY */
div.overlay { width: 100vw; height: 100vh; position: fixed; left: 0; top: -200vh; z-index: 999;display: block; transition: opacity .3s ease-in .1s; opacity: 0; background: rgba(0,0,0,0.9); }
div.overlay.active { top: 0; opacity: 1;}
div.overlay > div{ width: 100%; height: 100%; display: block; position: relative; z-index: 3;}
div.overlay div.popup { width: 1180px; display: block; position: relative; z-index: 3; top: 50%; transform: translate3D(0,-50%, 0); max-width: 92%; margin: 0 auto; background: transparent; max-height: 92%; overflow: auto}
div.overlay > img { width: 100%; display: block;}
div.overlay a.close-overlay { position: absolute; display: block; width: 40px; height: 40px; border-radius: 40px; top:25px; right: 25px; z-index: 11; background: url(/img/svg/white/close.svg) var(--col-primary)  no-repeat center center; background-size: 20px 20px; }


/* ALIGNMENTS */


/*BUTTONS*/
a.btn { background-color: var(--col-primary); color: #fff; line-height: 79px; border: 0; padding: 0 70px; font-weight: 700; font-size: 20px; display: table; margin: 0 auto; letter-spacing: 1px; font-weight: 700; border-radius: 40px}
a.btn.left { margin: 0 auto 0 0; }
a.btn.small  { line-height: 59px; padding: 0 35px;}
a.btn:hover { }
a.btn3 { background-color: #fff; color: #2D2A2B; border: 1px solid #2D2A2B; line-height: 77px; padding: 0 70px; font-weight: 700; font-size: 20px; display: table; margin: 0 auto; letter-spacing: 1px; font-weight: 300; border-radius: 40px}
a.btn5 { background-color: #fff; color: var(--col-primary); border: 1px solid #2D2A2B; line-height: 57px; padding: 0 35px; font-weight: 700; font-size: 20px; display: table; margin: 0 auto 0 0; letter-spacing: 1px; font-weight: 700; border-radius: 40px}
a.btn4 { color: #5C6756; font-size: 18px; font-weight: 700; letter-spacing: 1px;text-transform: uppercase; display:inline-block}

/* COLOURS */
.white { color: #fff !important}

/* CONTENT BLOCKS */

/*CAPTIONS*/




/* BLOCKS */
div.grid { margin-bottom: var(--grid-margin-neg);}
div.grid-2 > div {width: 50%; margin-bottom: var(--grid-margin);}
div.grid-3 > div {width: 33.33%; margin-bottom: var(--grid-margin);}
div.grid-4 > div {width: 25%; margin-bottom: var(--grid-margin);}
div.grid-5 > div {width: 20%; margin-bottom: var(--grid-margin);}
div.grid-6 > div {width: 16.66%; margin-bottom: var(--grid-margin);}
div.grid-7 > div {width: 20%; margin-bottom: var(--grid-margin);}
div.grid-8 > div {width: 20%; margin-bottom: var(--grid-margin);}

div.grid.spaced { width: calc(100% + var(--grid-spacing-2x)); margin-left: var(--grid-spacing-neg); }
div.grid.spaced > div {padding: 0 var(--grid-spacing); }



/*LISTS*/
ul.listing, ul.bullets { margin-bottom: 30px; }
ul.listing.shorter  { max-width: 550px; margin: 0 auto; }
ul.listing li, ul.bullets li { display: block; margin-bottom: 1px; line-height: 1.6; position: relative; text-align: center;}
ul.bullets li { text-align: left; padding-left: 20px;}
ul.bullets li:before { content: ""; position: absolute; display: block; left: 0; top: 0.65em; width: 6px; height: 6px; border-radius: 6px; background: #000;}
ul.listing.left li  { text-align: left;}

div.grecaptcha-badge { right: -1600px !important}
#ui-datepicker-div { z-index: 999 !important}
table.ui-datepicker-calendar td { font-size: 18px; color: var(--col-primary)}
table.ui-datepicker-calendar td a { color: #000}
table.ui-datepicker-calendar td a.ui-state-highlight { color: var(--col-primary)}
table.ui-datepicker-calendar td.ui-datepicker-today { background: var(--col-primary); color: #fff}
table.ui-datepicker-calendar td.ui-datepicker-today a { color: #fff}
table.ui-datepicker-calendar th { line-height: 2;}
table.ui-datepicker-calendar th span { font-size: 18px;}
.ui-datepicker-title { line-height: 1;}
.ui-datepicker-title span { font-weight: 300; font-size: 24px; }

/*TRANSITIONS*/

