global/* ================================================================================================

THE SCORING FACTORY theme - Styleguide 
======================================

Table of Contents
-----------------

# @font-face font weighs
# Reset.css

================================================================================================ */

/* ================================================================================================
# @font-face font weighs 
================================================================================================ */

/* Google Font Weights
----------------------
Big Shoulders Text:
Regular 	400
Bold 		700
Extra Bold 	800
Black 		900

Montserrat:
Regular 	400
Semi Bold 	600
Bold 		700 */

/* ================================================================================================
# Reset.css
================================================================================================ */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, iframe, menu, nav, 
section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ================================================================================================
# Elements
================================================================================================ */

/* ## Body & Paragraph
---------------------- */

html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

* {
	box-sizing: border-box;

	/* These are technically the same, but use both */
	overflow-wrap: break-word;
	word-wrap: break-word;

	-ms-word-break: normal;
	word-break: normal;
	word-break: break-word;

	/* Adds a hyphen where the word breaks, if supported (No Blink) */
	-ms-hyphens: none;
	-moz-hyphens: none;
	-webkit-hyphens: none;
	hyphens: none;	
}

/* *:focus,
*:hover,
*:visited {
	outline: 0;
} */

body {
	color: #111;
	background: #fff;
}

body,
.body-s,
.body-xs {
	font: normal 400 18px/1.56em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.body-s 	{ font-weight: 700; font-size: 16px; line-height: 1.75em; }
.body-xs 	{ font-weight: 600; font-size: 14px; line-height: 1.57em; }

p {
	margin-bottom: 30px;
}

/* ## Headers
------------- */

h1, h2, h3, h4, h5, h6 {
	font: normal 900 80px/100px 'Big Shoulders Text', Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans serif;
	color: #220d3b;
	margin: 0 0 0;
}

h2 {
	font-weight: 700;
	font-size: 70px;
	line-height: 90px;
	margin: 0 0 0;
}

.entry-content h2 {
	font: normal 400 55px/1.09em 'Big Shoulders Text', Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans serif;	
	margin-bottom: 30px;
}

.entry-content h2[class*="kt-adv-heading_"] {
	font-weight: 900;
}

.basketball-header {
	text-align: center;
	color: #ffffff;
	margin-top: 26px;
	margin-bottom: 37px;
	font: normal 400 65px/1.09em 'Big Shoulders Text', Impact, Haettenschweiler, 'Franklin Gothic Bold', Charcoal, 'Helvetica Inserat', 'Bitstream Vera Sans Bold', 'Arial Black', sans serif;
}

.basketball-header span:not([class*="--"]) {
	margin-left: 44px;
	display: inline-block;
	overflow: visible;
	position: relative;
}

.basketball-header span:not([class*="--"]):before {
	background: transparent url('../img/ball.png') center center/cover no-repeat;

	content: '';
	position: absolute;
	width: 83px;
	height: 83px;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50% );
	margin-top: 10px;
	margin-left: -33px;
}

@media ( max-width: 420px ) {

	.entry-content .basketball-header {
		width: 100%;
		max-width: 260px;
		margin-left: auto!important;
		margin-right: auto!important;
	}	

}

h3 {
	font-size: 55px;
	line-height: 75px;
	margin: 0 0 0;
}

.entry-content h3 {
	margin: 0 0 21px;
}

h4 {
	font-weight: 700;
	font-size: 50px;
	line-height: 65px;
	margin: 0 0 0;
}

h5 {
	font-weight: 700;
	font-size: 45px;
	line-height: 60px;
	margin: 0 0 0;
}

h6 {
	font-weight: 700;
	font-size: 30px;
	line-height: 40px;
	margin: 0 0 0;
}

.font-weight--400 { font-weight: 400!important; }
.font-weight--700 { font-weight: 700!important; }
.font-weight--900 { font-weight: 900!important; }

hr {
	background-color: #eee;
	border: 0;
	height: 1px;
	margin-bottom: 22px;
}

dfn, cite, em, i {
	font-style: italic;
}

pre,
code,
kbd, 
tt, 
var {
	background: #f8f8f8;
	border: #eee solid 1px;
	font: normal normal 16px/1.56em Montserrat, Courier, monospace;
	max-width: 100%;
	width: 100%;
	overflow: auto;
	padding: 11px 16px 10px;

	margin-bottom: 22px;	
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

strong 	{ font-weight: 700; }
em 		{ font-style: italic; }

sup,
sub 	{ font-size: .75em; }

sup 	{ vertical-align: super; }
sub 	{ vertical-align: sub; }

/* ## Lists
---------- */

ul, ol {
	margin: 0 0 22px 22px;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 22px;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 22px 22px;
}

/* ## Images
============ */

figure,
img {
	max-width: 100%;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	/* Adhere to container width. */
	display: block;
}

img.alignleft, 
img.alignright, 
img.aligncenter {
    margin-bottom: 22px;
}

figure {
	margin: 22px 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

/*.post-thumbnail {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 65%;	

    position: relative;
}

.post-thumbnail img {
    width: 100%;
    transform: translate(-50%, -50%);
    position: absolute;
    height: auto;
    top: 50%;
    left: 50%;
}*/

/* ## Tables
------------ */

table {
	margin: 0 0 22px;
	width: 100%;
	border-collapse: collapse;
	border: #eee solid 1px;
	background: transparent;
}

th, td {
	padding: 8px 16px 8px;	
	border: #eee solid 1px;
}

th {
	font: normal 700 18px/1.56em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-align: left;
}

/* ## Blockquote
---------------- */

.wp-block-quote,
blockquote {
	padding: 13px 0 0;
	margin: 0;
	border: none;

	line-height: 1.78em;

	background: url('../img/quote.png') left top/auto no-repeat;
}

.wp-block-quote p,
blockquote p {
	margin-bottom: 9px;
}

.wp-block-quote p:last-child,
blockquote p:last-child {
	margin-bottom: 0px;
}

.wp-block-quote p:first-child,
blockquote p:first-child {
	text-indent: 51px;
}

cite,
.wp-block-quote cite {
	font: normal 700 15px/1.67em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	top: 20px;
}

.home__action .wp-block-quote p strong {
	font-weight: 600!important;
	font-size: 1.111em!important;
	line-height: 1.7em!important;
}

/* ================================================================================================
# Links & Buttons
================================================================================================ */

a,
button,
input[type="submit"],
input[type="reset"] {
	-webkit-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

a {
	color: #6a38a7;
	border-bottom: rgba(255, 236, 22, 0) solid 2px;
	font-weight: 700;
	text-decoration: none;
}

a:hover,
a:focus {
	color: #3252b8;
	border-bottom: rgba(255, 236, 22, 1) solid 2px;
	outline: none;
}

.link--light,
.link--light:hover,
.link--light:focus {
	color: #fbfbfb;
}

button,
.btn,
input[type="submit"],
input[type="reset"],
.subscription_details .cancel,
.subscription_details .change_payment_method,
.subscription_details .subscription_renewal_early {
	cursor: pointer;

	color: #36330e;
	font: normal 600 14px/1em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	padding: 22px 45px 20px;
	border-radius: 50px;
	text-transform: uppercase;

	box-shadow: 2px 1px 4px 0 rgba(0, 0, 0, 0.09);

	background: rgba(255, 235, 12, 1);
		border: rgba(255, 235, 12, 1) solid 2px;	
}

.btn {
	display: inline-block;
}

.subscription_details .cancel,
.subscription_details .change_payment_method,
.subscription_details .subscription_renewal_early {
	display: inline-block;
	padding: 11px 22px 9px;
	font-size: 12px;	
	margin-right: 5px;
}

.subscription_details .cancel {
	border-color: rgba(200, 200, 200, 1);
	background: rgba(200, 200, 200, 1);
	color: #fff;
}

.subscription_details .subscription_renewal_early {
	border-color: rgba(106, 56, 167, 1);
	background: rgba(106, 56, 167, 1);
	color: #fff;
}

button:hover,
button:focus,
.btn:hover,
.btn:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
.subscription_details .cancel:hover,
.subscription_details .cancel:focus,
.subscription_details .change_payment_method:hover,
.subscription_details .change_payment_method:focus,
.subscription_details .subscription_renewal_early:hover,
.subscription_details .subscription_renewal_early:focus {
	background: rgba(255, 235, 12, 0);
	color: #36330e;

	box-shadow: 2px 1px 4px 0 rgba(0, 0, 0, 0);
}

.btn--light:hover,
.btn--light:focus {
	color: #fff;
}

.btn--ghost {
	background: transparent;
}

.btn--ghost--light {
	color: #fff;
	background: transparent;
}

.btn--ghost:hover,
.btn--ghost:focus,
.btn--ghost--light:hover,
.btn--ghost--light:focus {
	background: rgba(255, 235, 12, 1); 
}

input[type="reset"] {
	color: #a2a2a2;
	border: rgba(230, 224, 239, 1) solid 2px;
	background: rgba(230, 224, 239, 1);
}

span.edit-link,
.post-edit-link {
	display: inline-block;
}

.post-edit-link,
.post-edit-link:hover,
.post-edit-link:focus {
	color: #fff;
	text-decoration: none;
	border-bottom: none
}

.post-edit-link {
    background: #000;
    padding: 2px 9px;
    border-radius: 2px;
    font-size: 1.2rem;	
    margin: 20px 0 18px;
}

.post-edit-link:hover,
.post-edit-link:focus {
	background: #000;
}

.site-head a,
.site-head a:hover,
.site-head a:focus,
.site-foot a,
.site-foot a:hover,
.site-foot a:focus {
	text-decoration: none;
	border: none;
}

.entry-title,
.entry-title a {
	color: #221f1f;
}

.entry-title a,
.entry-title a:hover,
.entry-title a:focus {
	text-decoration: none;
}

.entry-title a:hover,
.entry-title a:focus {
	color: #6a38a7;
}

/* ================================================================================================
# Forms
================================================================================================ */

label,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
	font: normal 400 18px/1.56em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	border: #DBCEE2 solid 1px;
	padding: 11px 16px 9px;
	color: #1d1d1d;
	margin: 0 0 22px;
	width: 100%;
}

label {
	border: none;
	padding: 0;
	margin: 0 0 4px;
	display: block;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
	background: #fff;
}

textarea {
		width: calc( 100% - 100px )!important;
		min-width: 240px!important;

		min-height: 106px;	
}

/* ## Selects
------------- */

select {
	min-width: 240px;
	padding: 12px 16px 10px;
}

optgroup { 
	font-size: 16px; 
	line-height: 1.75em; 
}

option { 
	font-size: 14px!important; 
	line-height: 1.57em!important; 
}

/* ## Fix user input
-------------------- */

form br { display: none; }

/* ## Placeholder 
----------------- */

::-webkit-input-placeholder { color: #dbcee2; opacity: 1; font-weight: normal; }
::-moz-placeholder 			{ color: #dbcee2; opacity: 1; font-weight: normal; }
:-ms-input-placeholder 		{ color: #dbcee2; opacity: 1; font-weight: normal; }
:-moz-placeholder 			{ color: #dbcee2; opacity: 1; font-weight: normal; }

/* ## Select2
------------- */

.select2-container {
	margin: 0 0 22px!important;
	max-width: 100%!important;
}

.select2-container > .selection {
    width: 100%!important;
    max-width: unset!important;
    display: block!important;
    margin: 0!important;    
}

.select2-selection {
	border: #dbcee2 solid 1px!important;	
}

.select2-container--default .select2-selection--single {
    cursor: pointer!important;
    display: inline-block!important;
    overflow: hidden!important;
    position: relative!important;
    z-index: 1!important;
    -webkit-box-sizing: border-box!important;
    -moz-box-sizing: border-box!important;
    box-sizing: border-box!important;
    -webkit-font-smoothing: inherit!important;
    background: #fff!important;
    padding: 9px 50px 9px 16px!important;
    vertical-align: top!important;
    width: 100%!important;
    min-width: 240px!important;
    box-shadow: none!important;
    height: auto!important;
    width: 100%!important;
    max-width: unset!important;
    display: block!important;
    border-radius: 0!important;  
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font: normal 400 18px/1.56em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif!important;
    color: #1d1d1d!important;
    padding: 0!important;   
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    content: ' ';
    clear: none!important;
    float: none!important;
    display: block;
    border: none!important;
    top: 0!important;
    right: 0!important;
    height: 48px!important;
    width: 48px!important;
    margin-top: 0!important;
    z-index: 9999!important;
    text-align: center!important;
    position: absolute!important;
    cursor: pointer!important;
    background: url(../img/select-controls.png) left center/96px 48px no-repeat!important;
}

.select2-container--open .select2-selection--single .select2-selection__arrow {
    background-position: right -1px!important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    opacity: 0!important;
    visibility: 0!important;
}

.select2-search__field,
.select2-results {
    font-size: 14px!important;
    line-height: 1.57em!important;
}

.select2-dropdown {
    border: 2px solid transparent!important;
    border-radius: 0!important;
    box-shadow: 0 5px 10px -5px rgba(0, 0, 0, .3)!important;
    margin-top: 5px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #6a38a7!important;
    color: #fff!important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #dbcee2!important;
	color: #1d1d1d!important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #dbcee2!important;
}

input.select2-search__field {
	margin-bottom: 4px!important;
}
	
/* ## Nice File Input 
--------------------- */

.NFI-wrapper {
	color: #1f1f1f!important;
	background: #fff!important;
	border: #dbcee2 solid 2px!important;
	padding: 9px 16px!important;		
	margin: 0 0 22px!important;

		width: calc( 100% - 100px )!important;
		min-width: 240px!important;

		display: -ms-flexbox!important;
		display: -webkit-flex!important;
		display: flex!important;
		-webkit-flex-direction: row!important;
		-ms-flex-direction: row!important;
		flex-direction: row!important;
		-webkit-flex-wrap: nowrap!important;
		-ms-flex-wrap: nowrap!important;
		flex-wrap: nowrap!important;
		-webkit-justify-content: flex-start!important;
		-ms-flex-pack: start!important;
		justify-content: flex-start!important;
		-webkit-align-content: center!important;
		-ms-flex-line-pack: center!important;
		align-content: center!important;
		-webkit-align-items: stretch!important;
		-ms-flex-align: stretch!important;
		align-items: stretch!important;	
}

.NFI-button,
.NFI-filename {
		-webkit-order: 0!important;
		-ms-flex-order: 0!important;
		order: 0!important;
		-webkit-flex: 0 1 auto!important;
		-ms-flex: 0 1 auto!important;
		flex: 0 1 auto!important;
		-webkit-align-self: auto!important;
		-ms-flex-item-align: auto!important;
		align-self: auto!important;

	font: normal 400 18px/1.56em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif!important;
}

.NFI-button {
	color: #1d1d1d!important;
	margin-right: 18px;
	position: relative;
}

.NFI-button input {
		left: 0!important;
		right: auto!important;
		height: 100%!important;
		width: 100%!important;	
		cursor: pointer!important;
}

.NFI-filename {
	padding: 0!important;	
	background: transparent!important;
	border: none!important;

		-webkit-flex: 1 1 auto!important;
		-ms-flex: 1 1 auto!important;
		flex: 1 1 auto!important;	

		color: #ccc!important;
}

.NFI-cursorfix {
	position: absolute;
	width: 100%;
	height: 100%;
	background: transparent;
	top: 0;
	left: 0;
	cursor: pointer;
}

/* ## WP Search Form 
-------------------- */

.search-form,
.wp-block-search {
	max-width: 420px;
	position: relative;
}

.search-form,
.search-form label,
.search-form input[type="search"],
.wp-block-search,
.wp-block-search label,
.wp-block-search input[type="search"] {
	position: relative;
	display: block;	
}

.search-form,
.search-form label,
.search-form input[type="search"],
.wp-block-search,
.wp-block-search label,
.wp-block-search input[type="search"] {
	width: 100%;
}

.search-form input[type="search"],
.wp-block-search input[type="search"] {
	padding: 10px 66px 10px 32px;
	border-radius: 50px;
}

.wp-block-search input[type="search"],
.search-form input[type="search"] {
	background: url('../img/zoomer-purple.png') top 13px right 22px/22px 22px no-repeat;
}

.search-form input[type="submit"],
.wp-block-search button[type="submit"] {
	text-indent: -9999em;
    padding: 0;
    width: 50px;
    height: 50px;
    position: absolute;
    bottom: 5px;
    right: 10px;
    opacity: 0;
    cursor: pointer;	
}

/* ## Post Password Form
------------------------ */

.post-password-form label,
.post-password-form input {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0;
}

.post-password-form label {
	margin-right: 9px;
}

/* ## Gravity Forms
------------------- */

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):not([type="select-one"]):not([class*="NFI-filename"]):not([type="select-multiple"]) {
	color: #1d1d1d!important;
	font: normal 400 18px/1.56em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif!important;
	border: #dbcee2 solid 1px!important;
	padding: 10px 16px!important;
}

.gform_wrapper .gform_footer input.button, 
.gform_wrapper .gform_footer input[type=submit], 
.gform_wrapper .gform_page_footer input.button, 
.gform_wrapper .gform_page_footer input[type=submit] {
	font: normal 600 14px/1em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif!important;
}

body .gform_wrapper ul li.gfield,
.gform_wrapper ul.gform_fields li.gfield,
body .gform_wrapper .top_label div.ginput_container {
	padding: 0!important;
	margin: 0!important;
	max-width: 100%!important;
}

.gform_wrapper .top_label input.medium, 
.gform_wrapper .top_label select.medium {
	width: 100%!important;
}

.gfield_consent_label {
	display: inline-block!important;
		width: auto!important;
}

.gform_wrapper h1, 
.gform_wrapper h2, 
.gform_wrapper h3 {
	font: normal 400 40px/48px 'Big Shoulders Text', Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans serif!important;
	color: #000!important;
	margin: 0 0 42px!important;
}

.gform_wrapper .gform_title span {
	font-weight: 700!important;
}

.gform_wrapper .gform_heading {
	margin-bottom: 0!important;
}

.gform_wrapper textarea {
	height: 106px!important;
}

.gform_wrapper .gfield + .gfield .ginput_container_consent {
	margin-top: -10px!important;
}

.gform_wrapper [id*="gform_submit_button_"] {
	padding: 22px 48px 20px!important;
}

.gfield_required {
	font: normal normal 18px/1.3 'Roboto Condensed', "Helvetica Neue", Helvetica, Arial, sans-serif!important;
	color: #b8131a!important;
}

body .gform_wrapper ul li.gfield.gsection, 
.gform_wrapper [id*="gform_fields_"] ul.gform_fields li.gfield.gsection,
.gform_wrapper [id*="gform_fields_"] li.gfield.field_description_below+li.gsection {
    border-bottom: #e6e0ef solid 1px!important;
    display: block!important;
    margin: 13px 0 22px!important;	
    margin-top: 13px!important;
}

body .gform_wrapper ul li select, 
.gform_wrapper ul.gform_fields li select,
body .gform_wrapper ul li .select2-container, 
.gform_wrapper ul.gform_fields li .select2-container,
body .gform_wrapper ul li textarea, 
.gform_wrapper ul.gform_fields li textarea {
	width: 100%!important;
}

body .gform_wrapper ul li .select2-container--default .select2-selection--single, 
.gform_wrapper ul.gform_fields li .select2-container--default .select2-selection--single {
	border-width: 1px!important;
	padding: 10px 50px 10px 16px!important;
}

.gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, 
.gform_wrapper .field_sublabel_above div[class*=gfield_date_].ginput_container label, 
.gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label, 
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, 
.gform_wrapper .field_sublabel_below div[class*=gfield_date_].ginput_container label, 
.gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
    margin-top: -23px!important;
    margin-bottom: 22px!important;	
}

div.ginput_container_name span {
	padding-right: 0!important;
}

div.ginput_complex.ginput_container.gf_name_has_2 > *:nth-child(2n+1),
.gform_wrapper .top_label li.gfield.gf_left_half { padding-right: 6px!important; }

div.ginput_complex.ginput_container.gf_name_has_2 > *:nth-child(2n),
.gform_wrapper .top_label li.gfield.gf_right_half { padding-left: 6px!important; }

body .gform_wrapper .ginput_container_checkbox ul, 
.gform_wrapper .ginput_container_checkbox ul {
	margin-bottom: 22px;
}

@media ( max-width: 641px ) {

	.gform_wrapper .ginput_container span:not(.ginput_price).select2-selection__rendered {
		margin-bottom: 0!important;
	}

}

#content [id*="gform_wrapper_"].gf_browser_chrome select {
	padding: 12px 16px 12px;	
}

	/* AJAX Spinner */

.gform_footer {
	position: relative!important;
}

.gform_ajax_spinner {
	position: absolute!important;
	top: 50%!important;
	transform: translateY(-50%)!important;
	right: -36px!important;
	margin: 0!important;
	padding: 0!important;
	width: 30px!important;
	height: 30px!important;
}

@media ( max-width: 1300px ) {

	.gform_ajax_spinner {
		right: 0px!important;
	}

}

/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
GRAVITY FORMS ERROR AND SUCCESS HANDLING 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  */

.gform_wrapper.gf_browser_chrome .gfield_error input[type=email], 
.gform_wrapper.gf_browser_chrome .gfield_error input[type=number], 
.gform_wrapper.gf_browser_chrome .gfield_error input[type=password], 
.gform_wrapper.gf_browser_chrome .gfield_error input[type=tel], 
.gform_wrapper.gf_browser_chrome .gfield_error input[type=text], 
.gform_wrapper.gf_browser_chrome .gfield_error input[type=url], 
.gform_wrapper.gf_browser_chrome .gfield_error select, 
.gform_wrapper.gf_browser_chrome .gfield_error textarea, 
.gform_wrapper.gf_browser_chrome li.gfield_error.field_sublabel_above .ginput_complex input[type=text] {
	margin-bottom: 22px!important;
}

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description,
.gform_wrapper li.gfield.gfield_error.gfield_contains_required .validation_message {
	padding: 0!important;
	font: normal normal 16px/1.56em 'DM Sans', "Helvetica Neue", Helvetica, Arial, sans-serif!important;
	color: #d84643!important;	
	text-align: right!important;
	margin-top: -22px!important;
}
	
	/* --- phone field */

.gform_wrapper li.gfield.gfield_error.gfield_contains_required.phone,
.gform_wrapper li.gfield.gfield_error.gfield_contains_required:not(.phone) .ginput_container_phone {
	position: relative!important;
	margin-bottom: 22px!important;
}

.gform_wrapper li.gfield.gfield_error.gfield_contains_required.phone .validation_message.instruction,
.gform_wrapper li.gfield.gfield_error.gfield_contains_required:not(.phone) .ginput_container_phone .validation_message.instruction {
	margin-top: 0!important;
}

.gform_wrapper li.gfield.gfield_error.gfield_contains_required.phone .validation_message:not(.instruction),
.gform_wrapper li.gfield.gfield_error.gfield_contains_required:not(.phone) .ginput_container_phone .validation_message:not(.instruction) {
	margin-top: -42px!important;
    position: absolute;
    bottom: 22px;
    right: 5px;
}
 
.gform_wrapper li.gfield.gfield_error.gfield_contains_required:not(.phone) .ginput_container_phone input[type=text] {
	margin-bottom: 0!important;
}

	/* --- EOF phone field */

	/* --- checkbox field */

.gform_wrapper li.gfield.gfield_error.gfield_contains_required .ginput_container_checkbox + .validation_message {
	text-align: left!important;
}

	/* --- EOF checkbox field */

.gform_wrapper li.gfield.gfield_error.gfield_contains_required .ginput_complex.ginput_container + div.gfield_description {
	margin-top: -43px!important;
}

.gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half),
.gform_wrapper li.gfield.gfield_error, 
.gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
	max-width: 100%!important;
	background-color: transparent!important;
	margin-bottom: 0!important;
	border-top: none!important;
	border-bottom: none!important;
	padding-bottom: 0!important;
	padding-top: 0!important;	
}
	
.gform_wrapper.gform_validation_error .gform_body [id*="gform_fields"] li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half),
.gform_wrapper .top_label[id*="gform_fields"] .gfield_error {
	max-width: 100%!important;
}

.gform_wrapper .gfield_error .gfield_label {
	color: #1d1d1d!important;
}

.gform_wrapper div.validation_error {
	color: #fff!important;
	font-size: 1em!important;
	font-weight: 700!important;
	margin-bottom: 25px!important;
	padding: 0!important;
	clear: both!important;
	width: auto!important;
	display: inline-block!important;
	background: #d84643!important;
	padding: 8px 16px!important;
	margin-top: -36px !important;
	position: relative!important;
	vertical-align: top!important;
	border: none!important;
}

[id*="gform_confirmation_message_"] {
	background: #8baa09!important;
	color: #fff!important;
	padding: 8px 16px!important;
	margin: -36px 0 0!important;

		display: inline-block!important;
		vertical-align: top!important;	
}

[id*="gform_confirmation_message_"] br + br {
	display: none!important;
}

/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
EOF GRAVITY FORMS ERROR AND SUCCESS HANDLING 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  */

	/* Contact form - #gf_2 */

@media ( min-width: 641px ) {

	#field_2_15,
	#field_2_16 {
	    width: calc(50% - 14px)!important;
	    margin-right: 28px!important;
	    display: inline-block!important;
	}

	#field_2_16 {
		margin-right: 0!important;
	}

}

/* ================================================================================================
# Utility Classes
================================================================================================ */

.sr-only {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	left: -9999px;
	top: -9999px;
}

.container {
	max-width: 1300px;
	width: 100%;
	margin: auto;
	padding: 0 30px;
}

.flex-container {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	}

.flex-item {
	-webkit-order: 0;
	-ms-flex-order: 0;
	order: 0;
	-webkit-flex: 0 1 50%;
	-ms-flex: 0 1 50%;
	flex: 0 1 50%;
	-webkit-align-self: auto;
	-ms-flex-item-align: auto;
	align-self: auto;
}

.responsive-container,
figure.wp-block-embed {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 0px;
	height: 0;
	overflow: hidden;	
}

.responsive-container iframe,
.responsive-container object,
.responsive-container embed,
.responsive-container video,
figure.wp-block-embed iframe,
figure.wp-block-embed object,
figure.wp-block-embed embed,
figure.wp-block-embed video,
.single-post p > iframe[src*="youtube.com"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
}

.single-post p > iframe[src*="youtube.com"] {
	display: none;
}

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

.wrap--ib {
	font-size: 0;
}

.ib {
	display: inline-block;
	vertical-align: top;
}

.list--check li {
	list-style-type: none;
	background: url('../img/list-icon.png') 0px 2px/18px 18px no-repeat;
	padding-left: 39px;
	font: normal 400 20px/1.25em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #333;
	margin-bottom: 1.4em;
}

.list--check--small li {
	font-size: 14px;
	line-height: 20px;
	background-position: 0;	
}

.purple, 
[class*='purple--'] { color: #6a38a7; }

.white,
[class*='white--']	{ color: #fff; }

.black,
[class*='black--'] { color: #111111; }

.purple--400,
.white--400 		{ font-weight: 400; }

.purple--700,
.white--700,
.black--700 		{ font-weight: 700; }

.purple--800,
.white--800 		{ font-weight: 800; }

.purple--900,
.white--900,
.black--900 		{ font-weight: 900; }

.bold--600 			{ font-weight: 600; }
.bold--700 			{ font-weight: 700; }
.bold--800 			{ font-weight: 800; }
.bold--900 			{ font-weight: 900; }

.memlabel {
	font: normal 700 12px/17px Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #513276;
	display: block;
	width: 182px;
	height: 37px;
	background-color: #e6e0ef; 
	padding: 9px 12px 11px;
	border: rgba(153, 41, 158, 0.12) solid 1px;
	border-radius: 5px;
	text-align: center;
}

.memlabel--posthero {
	position: absolute;
	top: -19px;
	left: 30px;
}

/* ================================================================================================
# Accessibility
================================================================================================ */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/* ================================================================================================
# Alignments
================================================================================================ */

.alignleft {
	display: inline;
	float: left;
	margin-right: 18px;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 18px;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

/* ================================================================================================
# Clearings
================================================================================================ */

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/* ================================================================================================
# Global
================================================================================================ */

/* ## General
------------- */

#page {
	overflow-x: hidden;
	position: relative;
}

#content {
	position: relative;
	z-index: 0;
}

@media ( max-width: 1920px ) {

	#content { min-height: calc( 100vh - 733px ); }

	.logged-in #content { min-height: calc( 100vh - 839px ); }
	@media ( max-width: 782px ) { .logged-in #content { min-height: calc( 100vh - 853px ); } }

}

.page-title span {
	color: #6a38a7;
}

/* ================================================================================================
# Header / # Masthead
================================================================================================ */

/* ## General
------------- */

#masthead {
    position: relative;
}

.wrap--site-head {
	position: relative;
    z-index: 10;		
}

.site-head {
	background: #6a38a7;
}

.header--white .site-head {
	background: #fff;
}

.wrap--site-branding,
.wrap--site-navigation {
	padding: 30px 0 31px;
}

.wrap--site-branding {
    -webkit-flex: 0 1 218px;
    -ms-flex: 0 1 218px;
    flex: 0 1 218px;	
}

.wrap--site-navigation {
    -webkit-flex: 0 1 calc( 100% - 218px );
    -ms-flex: 0 1 calc( 100% - 218px );
    flex: 0 1 calc( 100% - 218px );		

    text-align: right;

    margin-top: 0;
}

/* ## Branding 
------------------------------------------------------------------------------------------------ */

.site-branding {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;	
}

.site-branding h2 {
    font: normal normal 11px/18px 'Montserrat', "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #555;
    margin: 0 0 3px;
    text-align: center;
}

.tsf-branding a {
	display: block;
	height: auto;
	width: 100%;
}

/* ## Main/Primary Navigation 
------------------------------------------------------------------------------------------------ */

.main-navigation ul {
	display: inline-block;
	vertical-align: middle;
	width: auto;	
	text-align: center;
}

.main-navigation > * {
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;	

    position: relative;
}

.main-navigation > nav:first-child {
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;	
}

.main-navigation ul.menu {
	font-size: 0;
	text-align: right;
	margin: 10px 0 0;
	height: 50px;
	line-height: 21px;
	display: block;
}

.main-navigation li {
	list-style-type: none;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.36;
	margin: 0 40px;
	padding: 9px 0 20px;
	position: relative;

	display: inline-block;
	vertical-align: middle;

	position: relative;
}

.main-navigation li a { 
	color: #fff; 
	font: normal 700 17px/21px 'Montserrat', "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.header--white .main-navigation li a {
	color: #000;
}

.main-navigation .menu > li > a {
	display: block;
}

.main-navigation li a:hover,
.main-navigation li a:focus,
.main-navigation .current_page_item a,
.main-navigation .current-menu-item a,
.main-navigation .sub-menu li:hover > a {
	color: #ffec16;
}

.header--white .main-navigation li a:hover,
.header--white .main-navigation li a:focus,
.header--white .main-navigation .current_page_item > a,
.header--white .main-navigation .current-menu-item > a,
.header--white .main-navigation .sub-menu li:hover > a {
	color: #6a38a7;
}

@media ( max-width: 1180px ) and ( min-width: 1100px ) {

	.main-navigation li 				{ margin: 0 30px; }

}

@media ( max-width: 1100px ) and ( min-width: 1024px ) {

	.main-navigation li 				{ margin: 0 20px; }

}

		/* ------------------- Level 2 ---------------------- */

.main-navigation .sub-menu {
	opacity: 0;
	visibility: hidden;

	-webkit-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;

	position: absolute;
	top: 46px;
	left: -40px;
	width: 100%;
	min-width: 200px;
	background: #6a38a7;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2);	

	margin-left: 0;

	padding: 0;

	z-index: 25;

	text-align: left;
}

.header--white .main-navigation .sub-menu {
	background: #fff;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .05);	
}

.main-navigation ul li:hover > ul {
	opacity: 1;
	visibility: visible;
}

.main-navigation .sub-menu li {
	padding: 11px 40px;
	border-bottom: #561a9e solid 1px;	
	margin: 0;	
	display: block;

	-webkit-transition: background .2s ease-in-out;
	-o-transition: background .2s ease-in-out;
	transition: background .2s ease-in-out;
}

.main-navigation .sub-menu li:last-child {
	border-bottom: none;
}

.header--white .main-navigation .sub-menu li 			{ border-bottom: #dbcee2 solid 1px; }
.header--white .main-navigation .sub-menu li:last-child { border: none; }

.main-navigation .sub-menu li:hover {
	background: #561a9e;
}

.header--white .main-navigation .sub-menu li:hover {
	background: #fafafa;
}

.main-navigation .sub-menu li:after {
	content: normal!important;
}

.main-navigation .sub-menu li a {
	display: block;
	width: 100%;
	font-weight: 600; 
	font-size: 14px; 
	line-height: 1.57em;	
}

	/* ------------------ Level 3 -> -------------------- */

.main-navigation .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	transform: none;
	border-top: none;
	margin-left: 0; 
	padding: 0;
}

	/* ------------------- Search Form ---------------------- */

.main-navigation .header-searchform {
	position: absolute;
	width: 305px;
	height: 50px;
    top: 33px;
    right: 7px;

    opacity: 0;
    visibility: hidden;

    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.main-navigation .header-searchform.active {
	opacity: 1;
	visibility: visible;
}

.main-navigation .search-form,
.main-navigation .search-form label,
.main-navigation .search-form input[type="search"] {
	margin: 0;
}

.main-navigation .search-form input[type="search"] {
	background: #794cb0 url('../img/zoomer-white.png') top 13px right 22px/22px 22px no-repeat;
	border-color: #794cb0;

	box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .125);
}

.header--purple .main-navigation .search-form input[type="search"] {
	color: #fff;
}

.header--white .main-navigation .search-form input[type="search"] {
    background: #fff url(../img/zoomer-purple.png) top 14px right 22px/22px 22px no-repeat;
    border: 1px solid #DBCEE2;
    box-shadow: inset 0 -2px 0px 0 rgba(0, 0, 0, .025);
}

.main-navigation .search-form input[type="submit"] {
	bottom: 0;
}

.main-navigation .header-searchcall {
	display: block;
    font: normal 700 17px/21px 'Montserrat', "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin: 0 0 0 40px;
    width: 22px;
    height: 50px;
    overflow: visible;
    background: url(../img/zoomer-white.png) top 17px center/22px 22px no-repeat;
}

.header--white .main-navigation .header-searchcall {
    background: url(../img/zoomer-purple.png) top 18px center/22px 22px no-repeat;
}

.main-navigation .header-searchcall:hover,
.main-navigation .header-searchcall:focus {
	
}

/* Hamburger
------------ */

.hamburger {
	display: none;

	cursor: pointer;
	-webkit-transition-property: opacity, -webkit-filter;
	transition-property: opacity, -webkit-filter;
	-o-transition-property: opacity, filter;
	transition-property: opacity, filter;
	transition-property: opacity, filter, -webkit-filter;
	-webkit-transition-duration: 0.2s;
	   -o-transition-duration: 0.2s;
	      transition-duration: 0.2s;
	-webkit-transition-timing-function: linear;
	   -o-transition-timing-function: linear;
	      transition-timing-function: linear;

	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible; 

	z-index: 300;

	position: absolute;
	right: 22px;
	top: 83px;
	width: 36px;
	font: inherit;
	color: inherit;
	text-transform: none;	
	text-align: center;
	text-align: center;
	vertical-align: middle;	
	height: 36px;
	background: transparent;
	border-radius: 100%;
	padding: 7px 0 8px;	
}

@media ( max-width: 640px ) {

	.hamburger {
		top: 41px;
	}

}

/*.hamburger:hover {
	opacity: 0.7; 
}

.hamburger.is-active:hover {
	opacity: 0.7; 
}*/

.hamburger-box {
	width: 21px;
	height: 21px;
	display: inline-block;
	position: relative; 
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px; 
}

.hamburger-inner, 
.hamburger-inner::before, 
.hamburger-inner::after {
    width: 21px;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.2s;
         -o-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-timing-function: ease;
         -o-transition-timing-function: ease;
            transition-timing-function: ease; 
}

.hamburger-inner::before, 
.hamburger-inner::after {
    content: "";
    display: block; 
}

.hamburger-inner::before {
    top: -6px; 
}

.hamburger-inner::after {
    bottom: -6px; 
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: #ffec16; 
}

.header--white .hamburger-inner, 
.header--white .hamburger-inner::before, 
.header--white .hamburger-inner::after { background-color: #000; }

.header--white .hamburger.is-active .hamburger-inner,
.header--white .hamburger.is-active .hamburger-inner::before,
.header--white .hamburger.is-active .hamburger-inner::after {
	background-color: #6a38a7; 
}


.hamburger--spin .hamburger-inner {
	-webkit-transition-duration: 0.22s;
	   -o-transition-duration: 0.22s;
	      transition-duration: 0.22s;
	-webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	   -o-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	      transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}

.hamburger--spin .hamburger-inner::before {
	-webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
	-o-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; 
}

.hamburger--spin .hamburger-inner::after {
    -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -o-transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}

.hamburger--spin.is-active .hamburger-inner {
	-webkit-transform: rotate(225deg);
	  -ms-transform: rotate(225deg);
	      transform: rotate(225deg);
	-webkit-transition-delay: 0.12s;
	   -o-transition-delay: 0.12s;
	      transition-delay: 0.12s;
	-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	   -o-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	      transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 
}

.hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
    -o-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; 
}

.hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); 
}

/* ## Main/Primary Navigation - Mobile Optimization
------------------------------------------------------------------------------------------------ */

@media ( max-width: 1024px ) {

	#masthead {
	    -webkit-justify-content: center;
	    -ms-flex-pack: center;
	    justify-content: flex-start;		
	}
	
	.hamburger {
		display: inline-block;
	}

	.wrap--site-navigation { 
		display: none;
	}

}

@media ( max-width: 782px ) {

	.logged-in .mobile-navigation {
		top: 46px;
	}	

}

/* ## Secondary Navigation 
------------------------------------------------------------------------------------------------ */

.wrap--secondary-navigation {
	background: #000;
	height: 42px;
}

.secondary-navigation nav {
    -webkit-flex: 0 1 100%;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;	

    text-align: right;
    padding: 7px 0;
}

.secondary-navigation ul {
	margin: 0;
}

.secondary-navigation li {
	list-style-type: none;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.36;
	margin: 0 22px;
	position: relative;

	display: inline-block;
	vertical-align: middle;

	position: relative;

	font-size: 0;
}

.secondary-navigation li:last-child { margin-right: 0; }

.secondary-navigation li a {
	font: normal 500 12px/1.56em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	color: #c6c3cb;
}

.secondary-navigation li a:hover,
.secondary-navigation li a:focus {
	color: #ffec16;
}

.nav-sep--left {
	padding-left: 44px;
}

.nav-sep--left:before {
    content: '';
    height: 12px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    width: 1px;
    background: #c6c3cb;
    left: 0;
    display: block;
}

/* ## Secondary Navigation - Mobile Optimization
------------------------------------------------------------------------------------------------ */

@media ( max-width: 640px ) {

	.wrap--secondary-navigation {
		display: none;
	}

}

/* ## Mobile Navigation
------------------------------------------------------------------------------------------------ */

.mobile-navigation {
	position: fixed;
	z-index: 100;				

	top: 0;
    left: 0;
    width: 100%;

	background: #6a38a7;

    height: 100%;
    overflow: scroll;
    text-align: left;		

	display: none;	

	text-align: center;	
}

.header--white .mobile-navigation { background: #fff; }

.logged-in .mobile-navigation {
	top: 32px;
}

.mobile-navigation:after {
	content: '';
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
	width: 218px;
	height: 69px;
	background: transparent url('../img/tsf-logo.png') center center/100% no-repeat;
	overflow: hidden;
	display: block;
	position: absolute;
}		

.mobile-navigation > div {
	text-align: left;
}

.mobile-navigation > div > * {
	position: relative;
	padding: 0 30px;
	width: 100%;
	max-width: 480px;
	display: block;
	margin: auto;
}

.mobile-navigation > .flex-container { padding-top: 170px; }
.mobile-navigation > div:last-child  { padding-bottom: 72px; }

.mobile-navigation > .flex-container {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
}

.mobile-navigation .flex-item:nth-child(1) {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
}

.mobile-navigation .flex-item:nth-child(2) {
	display: none;
}

.mobile-navigation .flex-item:nth-child(3) {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
}

.mobile-navigation .flex-item:nth-child(4) {
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
}

@media ( min-width: 640px ) {
	
	.mobile-navigation .flex-item:nth-child(4) {
		display: none;
	}

}

.mobile-navigation ul {
	margin: 0;
}

.mobile-navigation .menu li {
	display: block;
	width: 100%;
	margin: 0;	
	padding: 0;
	width: 100%;
}

.mobile-navigation .menu > li {
	border-bottom: rgba(255, 255, 255, .25) solid 1px;	
}

.header--white .mobile-navigation .menu > li {
	border-bottom: #dbcee2 solid 1px;	
}

.mobile-navigation li a,
.mobile-navigation li a:hover,
.mobile-navigation li a:focus {
	color: #fff;
}

.header--white .mobile-navigation li a,
.header--white .mobile-navigation li a:hover,
.header--white .mobile-navigation li a:focus {
	color: #000;
}

.mobile-navigation li a {
	padding: 9px 30px;
	display: inline-block;
	width: auto;		
	font: normal 700 17px/21px 'Montserrat', "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-decoration: none;
}

.mobile-navigation a:hover,
.mobile-navigation a:focus,
.mobile-navigation .current_page_item a,
.mobile-navigation .current-menu-item a {
	color: #ffeb0c;
	border-bottom: none;
}

.header--white .mobile-navigation a:hover,
.header--white .mobile-navigation a:focus,
.header--white .mobile-navigation .current_page_item a,
.header--white .mobile-navigation .current-menu-item a {
	color: #6a38a7;
}

.mobile-navigation .sub-menu li a {
    display: block;
    width: 100%;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.57em;
}

.mobile-navigation .search-form label {
	margin-bottom: 0;
}

.mobile-navigation .search-form input[type="submit"] {
	bottom: 0;
}

.mobile-navigation .search-form input[type="search"] {
    background: #794cb0 url(../img/zoomer-white.png) top 13px right 22px/22px 22px no-repeat;
    border-color: #794cb0;
    box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .125);
}

.header--white .mobile-navigation .search-form input[type="search"] {
    background: #fff url(../img/zoomer-purple.png) top 14px right 22px/22px 22px no-repeat;
    border: 1px solid #DBCEE2;
    box-shadow: inset 0 -2px 0px 0 rgba(0, 0, 0, .025);
}

.mobile-navigation .nav-sep--left:before {
	content: normal;
}

	/* ------------------- Level 1 ---------------------- */

.mobile-navigation li a	{
	position: relative;
}

	/* ------------------- Level 2 ---------------------- */	

.mobile-navigation > div > .sub-menu {
	margin-left: 2rem;
    width: calc ( 100% - 2rem );		
}

/* ================================================================================================
# Footer
================================================================================================ */

.wrap--site-foot {
	background: #000;
	color: #fff;
	font: normal 400 18px/2.15em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;

	padding: 80px 0 10px 0;

	border-top: #fff solid 1px;
}

.footer-widgets.container,
.footer-copyright.container {
	max-width: 1090px;
}

.site-foot .widget-area--1 {
	-webkit-flex: 0 1 235px;
    -ms-flex: 0 1 235px;
    flex: 0 1 235px;	
}

.site-foot .widget-area--2 {
	-webkit-flex: 0 1 201px;
    -ms-flex: 0 1 201px;
    flex: 0 1 201px;	
}

.site-foot .widget-area--3 {
	-webkit-flex: 0 1 136px;
    -ms-flex: 0 1 136px;
    flex: 0 1 136px;	
}

.site-foot .widget-area--4 {
	-webkit-flex: 0 1 calc( 100% - 572px );
    -ms-flex: 0 1 calc( 100% - 572px );
    flex: 0 1 calc( 100% - 572px );	

    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;    
}

.site-foot .widget-area--4 .widget {
	-webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
  -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.site-foot .widget-title {
	color: #ffee2b;
	font: normal 700 20px/1.9em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;	
	margin-bottom: 1px;
}

.site-foot ul {
	margin: 0;
	padding: 0;
}

.site-foot li {
	list-style-type: none;
}

.site-foot a {
	color: #fff;
	font-weight: 400;
}

.site-foot a:hover,
.site-foot a:focus {
	color: #ffee2b;
}


.site-foot .footer-widgets--fulwidth {
	margin-bottom: 60px;
}

.site-foot [id*="gform_wrapper_"] {
	margin: 0!important;
}

.site-foot [id*="gform_wrapper_"] form {
	position: relative!important;

    display: -ms-flexbox!important;
    display: -webkit-flex!important;
    display: flex!important;
    -webkit-flex-direction: row!important;
    -ms-flex-direction: row!important;
    flex-direction: row!important;
    -webkit-flex-wrap: nowrap!important;
    -ms-flex-wrap: nowrap!important;
    flex-wrap: nowrap!important;
    -webkit-justify-content: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
    -webkit-align-content: flex-start!important;
    -ms-flex-line-pack: start!important;
    align-content: flex-start!important;
    -webkit-align-items: center!important;
    -ms-flex-align: center!important;
    align-items: center!important;
}

.site-foot [id*="gform_wrapper_"] .gform_heading,
.site-foot [id*="gform_wrapper_"] .gform_body {
    -webkit-order: 0!important;
    -ms-flex-order: 0!important;
    order: 0!important;
    -webkit-flex: 0 1 auto!important;
    -ms-flex: 0 1 auto!important;
    flex: 0 1 auto!important;
    -webkit-align-self: auto!important;
    -ms-flex-item-align: auto!important;
    align-self: auto!important;
}

.site-foot [id*="gform_wrapper_"] .gform_heading {
   -webkit-flex: 0 1 384px!important;
    -ms-flex: 0 1 384px!important;
    flex: 0 1 384px!important;
}

.site-foot [id*="gform_wrapper_"] .gform_body {
   -webkit-flex: 0 1 calc( 100% - 384px )!important;
    -ms-flex: 0 1 calc( 100% - 384px )!important;
    flex: 0 1 calc( 100% - 384px )!important;
}

.site-foot [id*="gform_wrapper_"] .gform_description {
	margin: 0!important;
	width: 100%!important;
	line-height: 1.56em!important;
	font-size: 20px!important;
	margin-top: -1px!important;
}

.site-foot [id*="gform_wrapper_"] .gform_description,
.site-foot [id*="gform_wrapper_"] .gform_body input[type="text"],
.site-foot [id*="gform_wrapper_"] .gform_footer input[type="submit"] {
	line-height: 28px!important;
}

.site-foot [id*="gform_wrapper_"] .gform_body input[type="text"] {
    background: #3c3346!important;
    width: 100%!important;
    margin: 0!important;
    border-radius: 60px!important;
}

.site-foot [id*="gform_wrapper_"] .gform_body input[type="text"]:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):not([type="select-one"]):not([class*="NFI-filename"]):not([type="select-multiple"]) {
    color: #fff!important;
    border: none!important;
    padding: 16px 116px 16px 36px!important;
}


.site-foot [id*="gform_wrapper_"] .gform_footer {
	margin: 0!important;
    padding: 0!important;
    display: inline-block!important;
    width: auto!important;	
    position: absolute!important;
    bottom: 0!important;
    right: 0!important;    
}

.site-foot [id*="gform_wrapper_"] .gform_footer input[type="submit"] {
	margin: 0!important;
	padding: 16px 38px 12px!important;
}

.site-foot [id*="gform_wrapper_"] .gform_footer input[type="submit"]:hover,
.site-foot [id*="gform_wrapper_"] .gform_footer input[type="submit"]:focus {
	background: rgba(255, 235, 12, 1)!important;
}

.site-foot [id*="gform_wrapper_"] li {
	position: relative!important;
	overflow: visible!important;
}

.site-foot [id*="gform_wrapper_"] div.validation_error {
    position: absolute!important;
    background: transparent!important;
    color: #d84643!important;
    font-size: 14px!important;
    top: -13px!important;
    border: #d84643 solid 1px!important;
    width: 100%!important;
    line-height: 1.56!important;	
}

.site-foot [id*="gform_confirmation_message_"] {
	background: transparent!important;
    color: #8baa09!important;
    font-size: 20px!important;
    border: #8baa09 solid 1px!important;
    width: 100%!important;
    line-height: 1.56!important;
    margin: 0!important;	
}

.site-foot [id*="gform_wrapper_"] li.gfield.gfield_error.gfield_contains_required div.gfield_description {
	position: absolute!important;
    margin-top: 0!important;
    color: #d84643!important;
    bottom: -30px!important;
}

.site-foot .tsf-social {
	margin-top: 10px;
}

.site-foot .tsf-social a:not(:last-child) {
	margin-right: 45px;
}

.site-foot .fab {
	font-size: 22px;
}

.site-foot .footer-copyright {
	font: normal 400 14px/2.71em Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-align: right;
	margin-top: -36px;
}

@media ( max-width: 872px ) {

	.wrap--site-foot {
		padding: 82px 0 9px;
	}

	.footer-widgets--flexy,
	.site-foot .footer-copyright {
	    text-align: center;	
	}

	.footer-widgets--flexy {
	    -webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	    flex-wrap: wrap;	
	}

	.site-foot .widget-area--1,
	.site-foot .widget-area--2,
	.site-foot .widget-area--3 {
		-webkit-flex: 0 1 33.3333%;
	    -ms-flex: 0 1 33.3333%;
	    flex: 0 1 33.3333%;	
	}	

	.site-foot .widget-area--4,
	.site-foot .widget-area--4 .widget {
		-webkit-flex: 0 1 100%;
	    -ms-flex: 0 1 100%;
	    flex: 0 1 100%;			
	}	

	.site-foot .widget-area--4,
	.site-foot .footer-copyright {
		margin-top: 60px;
	}

	.site-foot .widget-area--4 .widget {
		text-align: center;
	}	

	.site-foot .tsf-social a,
	.site-foot .tsf-social a:not(:last-child) {
		margin: 0 24px;
	}

}

@media ( max-width: 840px ) {

	.site-foot [id*="gform_wrapper_"] form {
	    -webkit-flex-wrap: wrap!important;
	    -ms-flex-wrap: wrap!important;
	    flex-wrap: wrap!important;		
	}

	.site-foot [id*="gform_wrapper_"] .gform_heading,
	.site-foot [id*="gform_wrapper_"] .gform_body {
	   -webkit-flex: 0 1 100%!important;
	    -ms-flex: 0 1 100%!important;
	    flex: 0 1 100%!important;
	}

	.site-foot [id*="gform_wrapper_"] .gform_description {
		display: block!important;
		width: 100%!important;
		text-align: center!important;
		padding-bottom: 1em;

		padding-bottom: 1em!important;
	}

	.site-foot [id*="gform_wrapper_"] div.validation_error {
		display: none!important;
	}

}

@media ( max-width: 640px ) {

	.site-foot [id*="gform_wrapper_"] .gform_description,
	.footer-widgets--flexy,
	.site-foot .widget-area--4 .widget,
	.site-foot .footer-copyright {
	    text-align: left!important;	
	}	

	.footer-widgets--flexy {
	    -webkit-justify-content: flex-start;
	    -ms-flex-pack: start;
	    justify-content: flex-start;
	}

	.site-foot [id*="gform_wrapper_"] .gform_description,
	.site-foot .widget-area--1,
	.site-foot .widget-area--3,
	.site-foot .widget-area--4,
	.site-foot .footer-copyright p {
		padding-left: 36px;
	}		

	.site-foot .widget-area--1,
	.site-foot .widget-area--2,
	.site-foot .widget-area--3 {
		-webkit-flex: 0 1 50%;
	    -ms-flex: 0 1 50%;
	    flex: 0 1 50%;	
	}		

	.site-foot .widget-area--3 {
		margin-top: 60px;
	}	

	.site-foot .tsf-social a, 
	.site-foot .tsf-social a:not(:last-child) {
		margin: 0 45px 0 0;
	}

	.site-foot [id*="gform_confirmation_message_"] {
		margin: 0 36px!important;
    	width: calc( 100% - 72px )!important;		
	}

}

@media ( max-width: 540px ) {

	.site-foot .widget-area--1,
	.site-foot .widget-area--2,
	.site-foot .widget-area--3 {
		-webkit-flex: 0 1 100%;
	    -ms-flex: 0 1 100%;
	    flex: 0 1 100%;	
	}		

	.site-foot .widget-area--2 {
		margin-top: 60px;
		padding-left: 36px;
	}

	.site-foot .footer-copyright {
		line-height: 1.56em;
	}

}
