/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

/* Prevent any object from being highlighted upon touch event*/
* { -webkit-tap-highlight-color: rgba(0,0,0,0); }

/** Variables **/
:root {
	--color-primary: #002b36;
	--color-highlight: #f4b645;
	--color-light: #ffffff;
	--color-light-alt: #f8f8f8;
	--color-form-input: #dfdfdf;
	
	--font-sofia: sofia-pro, sans-serif;
	
	--content-padding: 2.5rem;
	--content-padding-x2: 5rem;
	--outer-row: 0.625rem;
	--divider: 1.25rem;
	
	--heading-xlarge: 2.500em;
	--heading-h1: 2.500em;
	--heading-h2: 2em;
	--heading-h3: 1.5em;
	--heading-h4: 1.25em;
	--heading-h5: 1.125em;
	--heading-h6: 1.125em;
	--large-text: 1.125em;
	--base-font: 16px;
}

html,
button,
input,
select,
textarea {
    color: var(--color-primary);
}

html {
	background-color: var(--color-primary);
}
body {
	background-color: var(--color-light);
	color: var(--color-primary);
	font-family: var(--font-sofia);
	font-size:var(--base-font);
	font-weight:500;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Coordinate Styles
   ========================================================================== */

body.locked {
	overflow: hidden;
}
main {
	overflow: hidden;
}

/*
 * Top Bar
 */
.top-bar {
	background-color: var(--color-primary);
	color: var(--color-light);
	padding-bottom: var(--divider);
	padding-top: var(--divider);
	position: relative;
	z-index: 99;
	transition: background-color 0.5s ease-out;
}
.top-bar--floating {
	background-color: rgba(0,0,0,0.6);
	position: absolute;
	top: 0; right: 0; left: 0;
}
.top-bar--open {
	background-color: var(--color-primary);
}

.top-bar__highlight {
	color: var(--color-highlight);
	display: inline-block;
	font-weight: 700;
	margin-left: var(--divider);
	text-transform: uppercase;
}

/** Site Logo **/
.site-logo {
	height: 50px;
	float: left;
	margin: 0;
	width: 170px;
}
.site-logo--small {
	height: 46px;
	width: 360px;
}
.site-logo__link {
	background: url("../img/svg/jamison-plaza-all-you-need.svg") no-repeat 0 0;
	background-size: contain;
	display: block;
	height: 100%;
	width: 100%;
}

.footer-logo {
	height: 46px;
	width: 360px;
}
.footer-logo__link {
	background: url("../img/svg/jamison-plaza.svg") no-repeat 0 0;
	background-size: contain;
	display: block;
	height: 100%;
	width: 100%;
}

.tagline {
	background: url("../img/svg/tagline.svg") no-repeat 0 0;
	background-size: contain;
	display: block;
	height: 98px;
	margin-left: auto;
	margin-right: auto;
	width: 300px;
}

/** Top Bar - Navigation **/
.top-bar__navigation { 
	float: right;
}
.top-bar__navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.top-bar__navigation ul li {
	float: left;
	margin-left: var(--divider);
	position: relative;
}
.top-bar__navigation ul li:first-child {
	margin-left: 0;
}
.top-bar__navigation ul li a {
	color: var(--color-light);
	display: block;
	font-size: var(--heading-h5);
	line-height: 1;
	position: relative;
	text-decoration: none;
}
.top-bar__navigation ul li.current-menu-item > a,
.top-bar__navigation ul li.current-page-ancestor > a {
}
.top-bar__navigation ul li > a::after {
	background-color:var(--color-light);
	content:'';
	display:block;
	height:2px;
	position:absolute;
	left:0;
	bottom:-0.625rem;
	width:100%;
	-webkit-transform:scaleX(0);
	    -ms-transform:scaleX(0);
	        transform:scaleX(0);
	-webkit-transform-origin:right;
	    -ms-transform-origin:right;
	        transform-origin:right;
	-webkit-transition: -webkit-transform 0.3s ease-out;
	transition: -webkit-transform 0.3s ease-out;
	-o-transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.top-bar__navigation ul li.current-menu-item > a::after,
.top-bar__navigation ul li.current-page-ancestor > a::after,
.top-bar__navigation ul li > a:hover::after {
	-webkit-transform:scaleX(1);
	    -ms-transform:scaleX(1);
	        transform:scaleX(1);
	-webkit-transform-origin:left;
	    -ms-transform-origin:left;
	        transform-origin:left;
}

/** Menu Button **/
.menu-button { 
	background-color:transparent;
	border:none;
	display:block;
	float:right;
	height:30px;
	padding:0;
	position:relative;
	width:30px;
	z-index:30;
	-webkit-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.menu-button span { 
	background-color:var(--color-light);
	display:block;
	margin-top:-1px;
	position:absolute;
	left:50%;
	margin-left:-15px;
	height:2px;
	width:30px;
	-webkit-transform-origin:center;
	    -ms-transform-origin:center;
	        transform-origin:center;
}
.menu-button span:first-child {
	margin-top:-10px;
	top:50%;
	width:30px;
}
.menu-button span:last-child {
	margin-top:8px;
	top:50%;
	width:30px;
}

.menu-button.menu-button--closed span {  
	-webkit-transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;  
	transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;  
	-o-transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out;  
	transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out;  
	transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.menu-button.menu-button--open span {
	-webkit-transition: margin-top 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out 0.3s, width 0.3s ease-out; 
}

.menu-button.menu-button--open span:first-child {
	margin-top:-1px;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg); 
}
.menu-button.menu-button--open span:nth-child(2) {
	opacity:0;
}
.menu-button.menu-button--open span:last-child {
	margin-top:-1px;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg); 
}

/** Site Navigation **/
.site-navigation {
	background-color:var(--color-primary);
	background-clip:padding-box;
	overflow-y:scroll;
	opacity:0;
	padding-top:70px;
	pointer-events: none;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:-1;
	width:100%;
	-webkit-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	-o-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	-webkit-overflow-scrolling:touch;
} 
.site-navigation.site-navigation--visible {
	pointer-events: all;
	z-index:50;
	opacity:1;
	-webkit-transition: opacity 0.5s ease-out;
	-o-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}
.site-navigation__navigation ul {
	list-style:none;
	margin:0;
	padding:0;
}
.site-navigation__navigation ul li {
	padding-bottom:1.25rem;
	padding-top:1.25rem;
	position:relative;
	overflow:hidden;
}
.site-navigation__navigation ul li:first-child {
	border-top:none;
}
.site-navigation__navigation ul li a {
	display:block;
	color:var(--color-light);
	font-size: var(--heading-h4);
	line-height:1;
	position:relative;
	text-decoration:none;
	z-index:5;
	-webkit-transition:color 0.25s ease-out;
	-o-transition:color 0.25s ease-out;
	transition:color 0.25s ease-out;
}

.site-navigation__navigation ul li a:hover {
}
.site-navigation__navigation ul li .menu-arrow {
	background: url("../img/blank.gif");
	color:var(--color-light);
	display: block;
	font-size:1.5rem;
	height: 40px;
	line-height:40px;
	padding-left:0;
	position:absolute;
	top:10px; right:0;
	text-align: right;
	width: 40px;
	-webkit-transition:color 0.25s ease-out, -webkit-transform 0.25s ease-out;
	transition:color 0.25s ease-out, -webkit-transform 0.25s ease-out;
	-o-transition:color 0.25s ease-out, transform 0.25s ease-out;
	transition:color 0.25s ease-out, transform 0.25s ease-out;
	transition:color 0.25s ease-out, transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
	-webkit-transform-origin:center;
	    -ms-transform-origin:center;
	        transform-origin:center;
}
.site-navigation__navigation ul li .menu-arrow--open {
	-webkit-transform:scaleY(-1);
	    -ms-transform:scaleY(-1);
	        transform:scaleY(-1);
}

.site-navigation__navigation ul li ul li a {
	color:var(--color-primary);
	font-size:1rem;
	line-height:1;
	padding-top:0;
}
.site-navigation__navigation ul li ul li a:hover { 
	color:var(--color-primary);
}
.site-navigation__navigation ul li ul.sub-menu {
	padding-left: 0.625rem;
	padding-top:1.25rem;
}
.site-navigation__navigation ul li ul.sub-menu li {
	border-top:none;
	padding-bottom:0.625rem;
	padding-top:0.625rem;
	padding-right:0;
	width:100%;
}

.site-navigation__navigation ul li.current-menu-item > a,
.site-navigation__navigation ul li.current-page-ancestor > a {
	color: var(--color-highlight);
}

/*
 * Bottom Bar
 */
.bottom-bar {
	background-color: var(--color-highlight);
	color: var(--color-light);
}
.bottom-bar a {
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}
.bottom-bar a:hover {
	color: #fff;
	text-decoration: underline;
}
.bottom-bar__links {
	padding-top: calc(var(--content-padding) / 2);
}
.bottom-bar__legality {
	font-size: calc(var(--base-font) * 0.875);
	font-weight: 400;
	padding-bottom: calc(var(--content-padding) / 2);
	padding-top: calc(var(--content-padding) / 2);
}

/** Bottom Bar - Navigation **/
.bottom-bar__navigation { 
	display: inline-block;
}
.bottom-bar__navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.bottom-bar__navigation ul li {
	float: left;
	margin-left: var(--divider);
	position: relative;
}
.bottom-bar__navigation ul li:first-child {
	margin-left: 0;
}
.bottom-bar__navigation ul li a {
}
.bottom-bar__navigation ul li.current-menu-item > a,
.bottom-bar__navigation ul li.current-page-ancestor > a {
	text-decoration: underline;
}

/*
 * Featured Area
 */
.featured-area {
	background-color: var(--color-dark);
}
.featured-area__slide {
	display: flex !important;
	height: 75vh;
	max-height: 900px;
	padding-top: 70px; /** top-bar height **/
}
.featured-area__slide::after {
	background-color: #000;
	content: '';
	display: block;
	opacity: 0.2;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 0;
}
.slide__title {
	color: var(--color-light);
	font-size: var(--heading-xlarge);
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	text-shadow: 0 0 20px rgba(0,0,0,0.5);
}

/*
 * Stores
 */

/** Store Tiles **/
.store-tile {
	background-color: var(--color-light);
	padding: var(--divider);
}
.store-hover {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 0; right: 0; left: 0;
	z-index: 0;
	transition: opacity 0.25s ease-out;
}
.store-hover--active {
	opacity: 1;
	pointer-events: all;
	position: relative;
	z-index: 10;
}

/** AJAX Load More **/
.alm-btn-wrap { 
	margin: 0 !important;
	padding: 0 !important;
}
.alm-btn-wrap button.alm-load-more-btn {
	background-color: var(--color-highlight);
	border:none;
	border-radius:0;
	color: var(--color-light);
	display:inline-block;
	font-size:1em;
	font-weight: 400;
	height:auto;
	line-height:1;
	margin:var(--divider) 0 0;
	max-width:200px;
	padding:1em 45px 1em;
	text-align:center;
	text-decoration:none;
	width:100%;
	transition:background-color 0.25s ease-out, color 0.25s ease-out;
}
.alm-btn-wrap button.alm-load-more-btn:hover,
.alm-btn-wrap button.alm-load-more-btn:focus,
.alm-btn-wrap button.alm-load-more-btn.loading {
	background-color:var(--color-primary) !important;
	color:#fff;
}
.alm-btn-wrap button.alm-load-more-btn.loading::before {
	border-radius:0;
	height: 34px;
	margin:7px;
	width: 34px;
}
.alm-btn-wrap .alm-load-more-btn.done {
	display: none;
}

/*
 * Centre Map
 */
.centre-map {
	
}
.centre-map__store {
	cursor: pointer;
	fill: transparent;
	stroke: var(--color-primary);
	stroke-width: 2px;
	position: relative;
	vector-effect: non-scaling-stroke;
	z-index: 5;
	transition: fill 0.25s ease-out;
}
.centre-map__store--single {
	cursor: auto;
}
.centre-map__store--active,
.centre-map__store:not(.centre-map__store--single):hover {
	fill: var(--color-highlight);
	z-index: 10;
}
.centre-map__pointer {
	fill: var(--color-primary);
}

/* ==========================================================================
   Layouts/Graphic Styles
   ========================================================================== */
.outer-row { 
	padding-left:var(--outer-row); 
	padding-right:var(--outer-row);
}

.content-area { 
	padding-bottom:var(--content-padding); 
	padding-top:var(--content-padding); 
}
.content-area--x2 { 
	padding-bottom:var(--content-padding-x2); 
	padding-top:var(--content-padding-x2); 
}
.content-area--bottom-x0 { 
	padding-bottom:0 !important; 
}
.content-area--top-x0 { 
	padding-top:0 !important; 
}

.boxed-content { 
	padding:var(--divider);
}
.divider { 
	padding-top:var(--divider);
}

.store-list {
	padding-bottom:calc(var(--divider)/2);
	padding-top:calc(var(--divider)/2);
}

.border::after {
	background-color: var(--color-primary);
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	right: 0; bottom: 0; left: 0;
}
.border:last-child::after {
	display: none;
}

/** Images **/
.home-icon {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 70px;
}
.store-logo {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-height: 120px;
}

/** Backgrounds **/
.background-blue {
	background-color: var(--color-highlight);
	color: var(--color-light);
}
.background-white {
	background-color: var(--color-light);
}
.background-grey {
	background-color: var(--color-light-alt);
}
.background-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

/** Gallery **/
.flexslider { 
	position:relative;
}
.flex-control-paging {
	list-style:none;
	margin:0;
	padding:0;
	position:absolute;
	bottom:var(--divider); left:50%;
	z-index: 10;
	transform:translateX(-50%);
}
.flex-control-paging:empty {
	display: none;
}
.flex-control-paging li { 
	float:left;
	height:12px;
	display:block;
	margin:0 0.3125rem;
	width:12px;
}
.flex-control-paging li a {
	border:1px solid var(--color-light);
	background-color:transparent;
	cursor:pointer;
	display:inline-block;
	height:12px;
	overflow:hidden;
	text-indent:999px;
	width:12px;
  -webkit-border-radius: 50%;
          border-radius: 50%; 
}
.flex-control-paging li a:hover {
	background-color:var(--color-light);
}
.flex-control-paging li a.flex-active {
	background-clip:content-box;
	background-color:var(--color-light);
	padding:2px;
}


/** Hide HTML5 video controls **/
.IIV::-webkit-media-controls-play-button,
.IIV::-webkit-media-controls-start-playback-button {
    opacity: 0;
    pointer-events: none;
    width: 5px;
}
/** Responsive Embeds **/
.video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.video-embed iframe,  
.video-embed object,  
.video-embed embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/** 100% height helper class **/
.height_100 {
	height: 100%;
}

/** Relative position helper class **/
.position_relative {
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1,
h2,
h3,
h4,
h5 { 
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 1em;
	margin-top: 1em;
}
h1 {
	font-size: var(--heading-h1);
}
h2 {
	font-size: var(--heading-h2);
}
h3 {
	font-size: var(--heading-h3);
}
h4 {
	font-size: var(--heading-h4);
}
h5 {
	font-size: var(--heading-h5);
}
h6 {
	font-size: var(--heading-h6);
}

strong,
b { 
	font-weight: 700;
}

.text-large {
	font-size: var(--large-text);
}
.text-highlight {
	color: var(--color-highlight);
}
.text-uppercase {
	text-transform: uppercase;
}

h1:first-child,
h2:first-child, 
h3:first-child, 
h4:first-child, 
h5:first-child, 
p:first-child,
ul:first-child, 
ol:first-child, 
dl:first-child { 
	margin-top:0 !important;
}
h1:last-child, 
h2:last-child, 
h3:last-child, 
h4:last-child, 
h5:last-child, 
p:last-child, 
ul:last-child, 
ol:last-child, 
dl:last-child { 
	margin-bottom:0 !important;
}

/* ==========================================================================
   Links
   ========================================================================== */
a { 
	color: var(--color-primary);
	outline:none; 
	text-decoration:underline;
	
    transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
a:hover { 
	text-decoration:none;
}

.btn {
	background-color: var(--color-highlight);
	border: none;
	color: var(--color-light);
	display: inline-block;
	line-height: 1;
	max-width: 200px;
	padding:1em;
	text-decoration: none;
	width: 100%;
}
.btn:hover { 
	background-color: var(--color-primary);
}

.highlight-link {
	text-decoration: none;
}
.highlight-link:hover {
	color: var(--color-highlight);
}

.list-type {
	font-size: var(--heading-h5);
	line-height: 1;
	margin: 0 0.625rem;
	text-decoration: none;
}
.list-type:hover {
	color: var(--color-highlight);
}
.list-type__icon {
	font-size: var(--large-text);
	margin-right: 0.3125rem;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
textarea,
select,
button { 
	background-color:var(--color-form-input); 
	border:2px solid var(--color-form-input);
	border-radius:0;
	color:var(--color-primary);
	cursor:pointer;
	display:block;
	font-size:1em;
	font-weight:500;
	margin:0;
	padding:calc(1em - 3px);
	outline:none;
	text-shadow:none;
	width:100%;
	
	transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
  -webkit-appearance: none;
}
input:focus, 
textarea:focus { 
	background-color:var(--color-primary); 
	border-color:var(--color-primary); 
	color:var(--color-light);
}
textarea,
textarea[rows] { 
	height:140px;
}

select { 
	background-image:none;
}
.ginput_container_select {
	position:relative; 
}
.ginput_container_select::before { 
	content:'\f107'; 
	color:var(--color-primary); 
	display:block; 
	font-size:1.25em; 
	font-family: "Font Awesome 5 Pro";
  	font-weight: 900;
	pointer-events:none;
	position:absolute; 
	top:50%; 
	right:1rem;
  
	transform:translateY(-50%);
}

input[type="checkbox"], 
input[type="radio"] { 
	background-color:transparent;
	border:1px solid var(--color-primary); 
	float:left;
	height:20px; 
	margin-right:0.625rem;
	width:20px;
	
	-webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
}
input[type="radio"] {
    border-radius:50%;
}
input:checked { 
	background-color:var(--color-primary); 
	background-clip:content-box;
	border-color:var(--color-primary);
	outline:none;
	padding:3px;
}

label {
	display: none;
}

/** Form Body **/
.gform_wrapper ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.gform_fields { 
	font-size:1em; 
	margin-left:calc(var(--outer-row) * -1);
	margin-right:calc(var(--outer-row) * -1);
}
ul.gform_fields > li { 
	margin-bottom:var(--divider);
	padding-left: var(--outer-row);
	padding-right: var(--outer-row);
}

.ginput_container_checkbox,
.ginput_container_radio { 
	margin-top:-0.625rem;
}
.ginput_container_checkbox li,
.ginput_container_radio li { 
	margin-bottom:0 !important;
	margin-top:0.625rem;
	padding-left: 1.875rem;
	position: relative;
}
.ginput_container_checkbox li input,
.ginput_container_radio li input {
	position: absolute;
	left: 0; top: 0;
}
.ginput_container_checkbox li input + label,
.ginput_container_radio li input + label {
	display:block;
	line-height: 20px;
	margin-bottom:0;
}

/** Form Footer **/
.gform_footer { 
	clear:both; 
	position:relative; 
	text-align:center; 
}
button.gform_button {
	background-color: var(--color-highlight);
	border: none;
	color: var(--color-light);
	max-width: 200px;
	padding:1em;
}
button.gform_button:hover,
button.gform_button:focus { 
	background-color: var(--color-primary);
}

img.gform_ajax_spinner {
	height:32px; 
	position:absolute;
	right:0;
	top:50%;
	width:32px;
	transform:translateY(-50%);
}

.input_left,
.input_right,
.name_first,
.name_last { 
	display:block;
}
.name_first {
	margin-bottom: var(--divider); 
}
.input_clear {
	clear:both;
}

::-webkit-input-placeholder {
	color:var(--color-primary);
}
:-moz-placeholder {
	color: var(--color-primary);
}
::-moz-placeholder {
	color: var(--color-primary);
}
:-ms-input-placeholder {
	color: var(--color-primary);
}

/** Warnings **/
.validation_error { 
	display:none;
}
.validation_message {
	display:none !important;
}
.gfield_contains_required.gfield_error input,
.gfield_contains_required.gfield_error textarea,
.gfield_contains_required.gfield_error select,
.gfield_contains_required.gfield_error .jcf-select .jcf-select-text { 
	border-color:red;
}
.gfield_contains_required.gfield_error label {
	color:red !important;
}

.gform_body::before,
.gfield::before,
.clear-multi::before,
.gform_body::after,
.gfield::after,
.clear-multi::after,
.ginput_container_checkbox::before,
.ginput_container_checkbox::after,
.ginput_container_checkbox ul::before,
.ginput_container_checkbox ul::after {
  content: ' ';
  display: table;
}

.gform_body::after,
.gfield::after,
.clear-multi::after,
.ginput_container_checkbox::after,
.ginput_container_checkbox ul::after {
  clear: both;
}

/* Small screens */
@media only screen { } /* Define mobile styles */

@media only screen and (max-width: 40em) {
	
} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

/* Medium screens - min-width 640px */
@media only screen and (min-width: 40em) {
	
	:root {
		--content-padding: 3.75rem;
		--content-padding-x2: 7rem;
		--outer-row: 0.9375rem;
		--divider: 1.875rem;
		
		--heading-xlarge: 3.5em;
		--heading-h1: 3em;
		--heading-h2: 2em;
		--heading-h3: 1.667em;
		--heading-h4: 1.444em;
		--heading-h5: 1.333em;
		--heading-h6: 1.222em;
		--large-text: 1.111em;
		--base-font: 18px;
	}
	
	.site-logo {
		height: 70px;
		width: 270px;
	}
	.footer-logo {
		height: 40px;
		width: 300px;
	}
	.menu-button { 
		height:40px;
	}
	.site-navigation {
		padding-top:100px;
	}
	.featured-area__slide {
		padding-top: 100px; /** top-bar height **/
	}
	.alm-btn-wrap button.alm-load-more-btn.loading::before {
		margin:10px;
	}
	
	.divider--small { padding-top:0 !important; }
	
	.input_left,
	.input_right,
	.name_first,
	.name_last,
	.input_third { 
		float:left;
		width:50%;
	}
	.input_third { 
		width:33.33%;
	}
	.name_first {
		margin-bottom:0;
		padding-right:var(--outer-row);
	}
	.name_last {
		padding-left:var(--outer-row);
	}

} @media only screen and (min-width: 40em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

/* Large screens - min-width 1024px */
@media only screen and (min-width: 64em) {
	
	:root {
		--content-padding: 5rem;
		--content-padding-x2: 10rem;
		--outer-row: 1.875rem;
		
		--heading-xlarge: 4.556em;
		--heading-h1: 4em;
	}
	
	.site-logo {
		height: 70px;
		width: 270px;
	}
	.footer-logo {
		height: 50px;
		width: 380px;
	}
	.featured-area__slide {
		padding-top: 140px; /** top-bar height **/
	}

	.divider--medium { 
		padding-top:0 !important;
	}
	
	ul.gform_fields { 
		margin-left:calc(var(--outer-row) * -0.5);
		margin-right:calc(var(--outer-row) * -0.5);
	}
	ul.gform_fields > li { 
		padding-left: calc(var(--outer-row) / 2);
		padding-right: calc(var(--outer-row) / 2);
	}
	.name_first {
		padding-right:calc(var(--outer-row) / 2);
	}
	.name_last {
		padding-left:calc(var(--outer-row) / 2);
	}

} @media only screen and (min-width: 64em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

/* XLarge screens - min-width 1440px */
@media only screen and (min-width: 90em) {
	
	:root {		
		--heading-xlarge: 5.556em;
	}
	
	.site-logo {
		height: 80px;
		width: 270px;
	}
	.footer-logo {
		height: 54px;
		width: 420px;
	}
	.tagline {
		height: 117px;
		width: 360px;
	}
	.top-bar__navigation ul li,
	.bottom-bar__navigation ul li {
		margin-left: calc(var(--divider) * 2);
	}
	
	.divider--large {
		padding-top:0 !important;
	}
	
} @media only screen and (min-width: 90em) and (max-width: 97.500em) { } /* min-width 1441px and max-width 1560px, use when QAing xlarge screen-only issues */

/* XXLarge screens - min-width 1560px */
@media screen and (min-width: 97.500em) {
	
}

/* IE 10 & 11 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
	
	.outer-row {
		padding-left:1.875rem !important;
		padding-right:1.875rem !important;
	}
	.content-area {
		padding-bottom:5rem !important;
		padding-top:5rem !important;
	}
	.content-area--x2 {
		padding-bottom:10rem !important;
		padding-top:10rem !important;
	}
	.content-area--bottom-x0 { 
		padding-bottom:0 !important; 
	}
	.content-area--top-x0 { 
		padding-top:0 !important; 
	}
	.divider {
		padding-top:1.875rem !important;
	}
	
	h1 {
		font-size: 3.889em !important;
	}
	h2 {
		font-size: 3.333em !important;
	}
	h3 {
		font-size: 2.222em !important;
	}
	h4 {
		font-size: 1.444em !important;
	}
	h5 {
		font-size: 1.333em !important;
	}
	
}


/* ==========================================================================
   Plugin Styles
   ========================================================================== */

/* FlexSlider Necessary Styles
*********************************/
.flexslider {
  margin: 0;
  padding: 0;
}
.flexslider .slides {
	list-style: none;
	margin: 0;
	padding: 0;
}
.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden;
}
.flexslider .slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
html[xmlns] .flexslider .slides {
  display: block;
}
* html .flexslider .slides {
  height: 1%;
}
.no-js .flexslider .slides > li:first-child {
  display: block;
}

/*!--------------------------------------------------------------------
STYLES "Outdated Browser"
Version:    1.1.0 - 2014
author:     Burocratik
website:    http://www.burocratik.com
* @preserve
-----------------------------------------------------------------------*/
#outdated{
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 170px;
    text-align: center; text-transform: uppercase; z-index:1500;
    background-color: #f25648; color: #ffffff;
}
* html #outdated{position: absolute;}
#outdated h6{font-size: 25px; line-height: 25px; margin: 30px 0 10px;}
#outdated p{font-size: 12px; line-height: 12px; margin: 0;}
#outdated #btnUpdateBrowser{
    display: block; position: relative; padding: 10px 20px; margin: 30px auto 0; width: 230px; /*need for IE*/
    color: #ffffff; text-decoration: none; border: 2px solid #ffffff; cursor: pointer;
}
#outdated #btnUpdateBrowser:hover{color: #f25648; background-color:#ffffff;}
#outdated .last{position: absolute; top: 10px; right: 25px; width: 20px; height: 20px;}
#outdated #btnCloseUpdateBrowser{ border-bottom:none;
    display: block; position: relative; width: 100%; height: 100%;
    text-decoration: none; color: #ffffff; font-size: 36px; line-height: 36px;
}

/** Fancybox **/
.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992;
}

.fancybox-container * {
    box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: rgb(30, 30, 30);
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71);
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden; /* Using without prefix would break IE11 */
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

.fancybox-slide::before {
    content: '';
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 0.9375rem;
}

.fancybox-slide--image::before {
    display: none;
}

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    transform-origin: top left;
    transition-property: transform, opacity;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
    cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: grabbing;
}

.fancybox-container [data-selectable='true'] {
    cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #222;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-video,
.fancybox-iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

/* Buttons */

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
    color: #fff;
}

.fancybox-button:hover {
    color: #fff;
}

.fancybox-button:focus {
    outline: none;
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none;
}

/* Fix IE11 */
.fancybox-button div {
    height: 100%;
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
    display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998;
}
/* Close button on the top right corner of html content */

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401;
}

.fancybox-close-small:hover {
    color: #ed1b2c;
    opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}

/* Navigation arrows */

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

.fancybox-navigation .fancybox-button div {
    padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
}

/* Caption */

.fancybox-caption {
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 25px 44px 25px 44px;
    right: 0;
    text-align: center;
    z-index: 99996;
}

.fancybox-caption::before {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);
    background-repeat: repeat-x;
    background-size: contain;
    bottom: 0;
    content: '';
    display: block;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: -44px;
    z-index: -1;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Loading indicator */

.fancybox-loading {
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Transition effects */

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1);
}

/* transitionEffect: slide */

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */

.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

/* transitionEffect: zoom-in-out */

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    transform: rotate(0deg);
}

/* transitionEffect: circular */

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
    .fancybox-caption {
        padding: 12px;
    }

    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }

    .fancybox-slide--image {
        padding: 6px 0;
    }

    .fancybox-close-small {
        right: -6px;
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}