
:root {
	--teal: 		#009F80;
	--blue: 		#0581A9;
	--pale-blue: 	#D3DFEB;
	--dark-blue: 	#013343;
	--whitesmoke: 	#F6F7F9;
	--white: 		#FFFFFF;
} 

body:not(.wp-admin) {
    display: flex;
    flex-direction: column;
	min-height:100vh;
	font-weight: 400;
}

section, .hero-bottom {
    flex-grow: 1;
}
a, a:hover, .btn, .btn:hover, .tml-button, .tml-button:hover, .gform_button, .gform_button:hover { transition: all 250ms linear; }


/********************  Nav bar ********************/

.navbar-nav {
    align-items: center;
}
.navbar.logged-out-navbar {
    background: #013242;
	padding: 1.5rem;
	position: 
}
.navbar.logged-out-navbar a.nav-link {
	font-weight: 300;
	padding-right: 0.75rem;
    padding-left: 0.75rem;
	
}
.navbar.navbar-dark .navbar-nav a.nav-link {
    color: #fff;
	font-size: 1.1rem;
}
.navbar.navbar-dark.logged-out-navbar .navbar-toggler {
	order: 2;
    color: rgba(255,255,255,1);
	border: 0;
    border-color: transparent;
	height: 54px;
}
.navbar.navbar-dark .navbar-toggler-icon { background-size: cover; width: 2.5em; }
.navbar-brand img.bd_logo { height: 50px; }
.navbar-brand .bd_name img { height: 60px; }
span.bd_name { padding-left: 15px;}
.hamburger .hamburger-inner, .hamburger .hamburger-inner:after, .hamburger .hamburger-inner:before { background-color: #FFF; border-radius: 0; height: 5px; width: 40px; }
.navbar .hamburger.is-active .hamburger-inner, .navbar .hamburger.is-active .hamburger-inner:after, .navbar .hamburger.is-active .hamburger-inner:before { background-color: #FFF; }
.navbar-toggler.hamburger { border: 0; border-radius: 0; }
.navbar-toggler.hamburger:focus { box-shadow: none; }
#dropdownMenuButton4 .bd-icon-globe {
    filter: brightness(10);
}
.navbar-nav a.nav-link.register {
    border: 2px solid #009f7f;
    border-radius: 5px;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
	margin-right: .25rem;
}
@media screen and (max-width: 991px) {
	.navbar-nav a.nav-link.register { margin-right: 0; }
}

.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); 
}
.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; 
}
.hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; 
}
.hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform; 
}
.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); 
}
.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; 
}
.hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; 
}
.hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg); 
}

.navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
    left: -170px;
}
/* # BACKGROUNDS ---------------------- */
.teal-bg { background-color: var(--teal); }
.blue-bg { background-color: var(--blue); }
.pale-blue-bg { background-color: var(--pale-blue); }
.whitesmoke-bg { background-color: var(--whitesmoke); }
.white-bg { background-color: var(--white); }
.teal-bg h3, .teal-bg p, .blue-bg h3, .blue-bg p { color: var(--white); }
h4.bg-blue { 
	background: #0282a9;
    color: #FFF;
    font-size: 1.3rem;
    padding: 0.75rem 1rem 0.55rem;
    margin: 0;
}

/* # EXTRA FLEX ---------------------- */
.flex-direction-column { flex-direction: column !important; }

/* # SECTION: Full stretch image in 6 col ---------------------- */
/*.bust-out-right, .bust-out-left { background-position: center center; background-size: cover; margin: 50px 10px; }*/

@media screen and (min-width: 992px) {
	.bust-out-right, .bust-out-left { height: 100%; max-width: 100vw !important; object-fit: cover; object-position: center; position: relative; width: 50vw !important; }
	.bust-out-right {
		left: 0;
		margin-left: 0;
		margin-right: -50vw;
		right: 50%;
	}
	.bust-out-left {
		left: 100%;
		margin-left: -50vw;
		margin-right: 0;
		right: 0;
	}
}
@media screen and (max-width: 991px) {
	.bust-out-right, .bust-out-left {
		height: 400px;
		object-fit: cover;
		object-position: top center;
		margin-bottom: 50px;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.bust-out-right, .bust-out-left {
		height: 300px;
	}
}

/* ------------------------------------
0. PAGE: Contact us
---------------------------------------*/
.gform_wrapper.gravity-theme h2.gform_title { background: #0282a9; color: #fff; font-size: 1.6rem; font-weight: 600; padding: 0.5rem 1rem .25rem; margin-bottom: 1rem; }

/* ------------------------------------
0. PAGE: Login
---------------------------------------*/
#loggedout h1 { font-size: 2rem; }
#loggedout li.tml-lostpassword-link a, li.tml-login-link { font-size: 1rem; }
#loggedout li.tml-lostpassword-link a:hover, li.tml-login-link:hover { color: var(--teal); }

#loggedout ul.tml-messages, ul.tml-errors, ul.tml-messages {
    list-style: none;
    padding: 0;
    margin: 0;
}
#loggedout ul.tml-messages li, ul.tml-errors li, ul.tml-messages li {
	font-size: 1rem;
}

#loggedout ul.tml-errors li { margin-bottom: 15px; }

#loggedout p.description.indicator-hint {
    font-size: .8rem;
    margin-bottom: 0;
}

#loggedout p.gform_required_legend {
    font-size: 1rem;
}
label.tml-label {
    color: #065368;
    padding-bottom: 5px;
}
h1.login-h1, #loggedout h1 {
    padding-bottom: 0;
    margin-bottom: 0;
    background: #0282a9;
    color: #fff;
    padding: 0.5rem 1rem;
    font-size: 1.6rem;
    font-weight: 600;
}
body .gform_wrapper .gfield input, body .gform_wrapper.gravity-theme .gfield select, body .ginput_container input, body .ginput_container textarea {
    border: 1px solid #dddddd;
}
.login-form {
    padding: 1.5rem;
    background: #fff;
    border: #dddddd solid 1px;
    border-radius: 0 0 5px 5px;
    border-top: 0px;
    color: #065368;
}
body .gform_wrapper.gravity-theme .gfield_label {
	font-weight: 400;
}
.login-form .login-box {
    border: 0px;
    padding: 0px;
}

/* # PAGE: Logged out default ---------------------- */
.logged-out-default p { font-size: 1rem; }

.logged-out-default #legal-list h2 { margin-top: 25px; }


/* ------------------------------------
0. Footer (logged out)
---------------------------------------*/
.hero-bottom {
    background: whitesmoke;
    padding-top: 80px;
    padding-bottom: 130px;
}
.login-box {
    text-align: left;
    margin: 0 auto;
    border: 1px solid #e1e1e1;
    padding: 1.5rem;
    background: #fff;
    border-radius: 0 0 5px;
}
.login-box label {
    display: block;
}
.login-box label[for="rememberme"] {
	display: inline;
}
.login-box .tml-field-wrap {
    padding: 6px 0;
}
ul.tml-links {
    list-style: none;
    padding: 0px;
}
.tml-button {
	background-color: #009f80;
    border-color: #009f80;
    border-radius: 2px;
    font-weight: 600;
    font-size: .9rem;
    text-align: left;
    padding: 0.5rem 1rem 0.35rem;
    border: 0;
    color: var(--white);
}
input.tml-field {
    border: 1px solid #e1e1e1;
    border-radius: 4px;
    padding: 8px;
    min-width: 100%;
    background-color: #ffffff !important;
}
.loggedOut-footer {
    padding: 0 0 6em;
	background: var(--dark-blue);
}
ul.sidebar-footer, ul.sidebar-footer a { color: var(--white); }
ul.sidebar-footer {
    position: relative;
    padding: 0;
}
.loggedOut-footer .copyright { color: var(--white); text-align: right; }
	.navbar-dark .dropdown-item {
		color: #3982a6;
}
@media screen and (max-width: 992px) {
	#dropdownMenuButton4 {
		margin:0px !important;
	}
	.navbar-dark .dropdown-item {
		color: #3982a6;
	}
}
@media screen and (max-width: 767px) {
	.loggedOut-footer ul.sidebar-footer { text-align: center; padding: 0; }
	.loggedOut-footer .copyright { text-align: center; }
}

/* Footer nav */
#footer-nav .menu-item a {
    color: #fff;
    padding: 5px 10px;
    display: inline-block;
    font-size: 1rem;
    font-weight: 300;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}
.footer-nav-1 {
    padding: 1rem 0;
    background-color: #014e65;
    margin-bottom: 3rem;
}
.footer-nav-1 #footer-nav ul.dropdown-menu {
    background: #034e65;
    border: 0px;
}
.footer-nav-1 #footer-nav ul.dropdown-menu a  {
	font-size: 0.8rem;
}

.footer-nav-1 #footer-nav ul.dropdown-menu {
    background: #034e65;
    border: 0;
	min-width: 200px;
}


/* ------------------------------------
0. Contact page
---------------------------------------*/
ul#gform_fields_7 label, ul#gform_fields_7 input {
    font-size: 14px;
}
form#gform_7 {
    background: #fff;
    padding: 1.3rem 1.7rem 0.5rem;
}

/* Flash banner */
section#flash-banner {
    padding: 10px 0;
	font-size: 1.2rem;
}
section#flash-banner .row {
    min-height: 0;
}

/* #  NEWS LISTING ---------------------- */
.facetwp-template[data-name="news_template"] {
	margin: 0px;
}
.facetwp-sort, .facetwp-facet.facetwp-facet-news_search.facetwp-type-search {
    margin-right: 10px;
}

.navbar.logged-out-navbar {
	position: relative;
	z-index: 2;
    top: 0 !important;
}
.header-book-demo-container {
	position: absolute;
    z-index: 1;
    width: 100%;
	background: #a8d7eb;
    transform: translateY(-100%);
	opacity: 0;
	transition: all .3s ease-out;
}
.header-book-demo-container.show-demo-container {
    transform: translateY(0px);
	opacity: 1;
    transition: all .3s ease-out;
}
.sticky-top.bdnavbar-container.stuck .navbar-brand {
    transform: scale(.7);
}

