/*!
Theme Name: Wu Orthodontics
Theme URI: https://siliconvalleyorthodontics.com/
Author: Boom Visibility
Author URI: https://www.boomvisibility.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: redwood-shores
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Wu Orthodontics is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Fonts */
@font-face {
    font-family: 'Sofia Pro Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Regular'), url('fonts/Sofia Pro Regular Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Italic'), url('fonts/Sofia Pro Regular Italic Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro ExtraLight';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro ExtraLight'), url('fonts/Sofia Pro ExtraLight Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro UltraLight';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro UltraLight'), url('fonts/Sofia Pro UltraLight Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro ExtraLight Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro ExtraLight Italic'), url('fonts/Sofia Pro ExtraLight Italic Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro UltraLight Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro UltraLight Italic'), url('fonts/Sofia Pro UltraLight Italic Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Light';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Light'), url('fonts/Sofia Pro Light Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Light Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Light Italic'), url('fonts/Sofia Pro Light Italic Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Medium';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Medium'), url('fonts/Sofia Pro Medium Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Medium Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Medium Italic'), url('fonts/Sofia Pro Medium Italic Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro SemiBold';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro SemiBold'), url('fonts/Sofia Pro Semi Bold Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro SemiBold Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro SemiBold Italic'), url('fonts/Sofia Pro Semi Bold Italic Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Bold'), url('fonts/Sofia Pro Bold Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Bold Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Bold Italic'), url('fonts/Sofia Pro Bold Italic Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Black';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Black'), url('fonts/Sofia Pro Black Az.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Sofia Pro Black Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Sofia Pro Black Italic'), url('fonts/Sofia Pro Black Italic Az.woff') format('woff');
    }

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-family: 'Sofia Pro Bold', Arial, sans-serif;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

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

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #393939;
	font-family: 'Sofia Pro Regular', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 0.5em 0;
}

h1.entry-title {font-size: clamp(30px, 4.5vw, 70px);color: #05ACE3;}
h1 {font-size: clamp(30px, 4.5vw, 70px);}
h2 {font-size: clamp(25px, 4.5vw, 57px);color: #05ACE3;}
h2 span {color: #393939;}
.entry-content h2 {font-size: clamp(25px, 3.5vw, 42px);}
h3 {font-size: clamp(22px, 2.2vw, 34px);}
h4 {font-size: clamp(20px, 2vw, 28px);}

p {
	font-size: clamp(15px, 1.6vw, 18px);
	margin-bottom: 1.5em;
}

strong {
	font-family: 'Sofia Pro Bold', sans-serif !important;
}

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

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

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

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

big {
	font-size: 125%;
}

.textalign-center {text-align: center;}

ul ~ h2, ul ~ h3, ul ~ h4, ul ~ h5, ul ~ h6,
div ~ h2, div ~ h3, div ~ h4, div ~ h5, div ~ h6 {
	margin-top: 0.5em;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0;
	font-size: clamp(15px, 1.6vw, 18px);
}

ul {
	list-style: disc;
	padding: 0;
}

.entry-content ul {padding-left: 20px;}
.entry-content ul li {
	list-style: none;
	position: relative; }
.entry-content ul li, .entry-content ol li {
	margin-bottom: 0.5em;
}
.entry-content ul li:before {
	content: "";
    color: #fff;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #fff;
    display: inline-block;
    margin: -4px 10px 0 -10px;
    vertical-align: middle;
    border: 2px solid #05ACE3;
}
ol:not(.breadcrumb) {
	list-style: none;
	counter-reset: item;
	padding: 0;
}

li > ul,
li > ol {
	margin: 10px 0 0 1em;
}
ol:not(.breadcrumb) li:before {
	content: counters(item, ".") " ";
    counter-increment: item;
	color: #05ACE3;
	font-family: 'Sofia Pro Black';
}

dt {
	font-family: 'Sofia Pro Bold';
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #003061;
	text-decoration: none;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
}

.entry-content a:not(.button):not(.read-more),
a:hover,
a:focus,
a:active {
	color: #01ade4;
}
.entry-content a:not(.button):not(.read-more):hover {
	text-decoration: underline;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	padding: 14.5px 30px 12px 30px;
    white-space: inherit;
    font-size: clamp(14px, 1.5vw, 17px);
    line-height: 1.5;
    border-radius: 0;
    border: 0;
    display: inline-block;
    color: #393939;
    position: relative;
    transition: all .3s;
    background-color: #fff;
	border-radius: 26px;
    text-align: center;
}
.button:after, .arrow a:after {
	content: url(images/end-arrow.svg);
	margin-left: 10px;
}
.button.gray-button, input[type="submit"].search-submit {
	background-color: #EEF2F5;
}

button:hover,
.button:hover,
.reverse-button, 
input[type="button"]:hover,
input[type="reset"]:hover,
.gform-footer input[type="submit"] {
	background-color: #05ACE3;
	color: #fff;
	cursor: pointer;
}
.reverse-button:after,
.button:hover:after {
	content: url(images/end-arrow-white.svg);
	margin-left: 10px;
}
.reverse-button:hover:after {
	content: url(images/end-arrow.svg);
}

.reverse-button:hover, .gform-footer input[type="submit"]:hover {
	background-color: #EEF2F5;
	color: #393939;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

.button-container {
    margin-top: clamp(20px, 2.5vw, 30px);
}

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"],
select,
textarea {
	background-color: #F4F5F7;
	color: #A5A8AA;
	border: 0px solid #ccc;
	border-radius: 5px;
	padding: 10px;
}

input[type="search"].search-field {
    padding: 13px;
    border: 1px solid;
}

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

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

#primary {position: relative;}
.container {
	margin: 0 auto;
	max-width: 90%;
}
.flex-container {
	display: flex;
	flex-wrap: wrap; }
.flex-center, section.flex-center .flex-container {align-items: center;}
.flex-top {align-items: flex-start;}
.flex-between {justify-content: space-between;}
.justify-center {justify-content: center;}
.flex-container.flex-2 > *, .flex-container.flex-3 > *, .flex-container.flex-4 > * {flex-basis: 100%;}
.mobile-reverse .flex-container{flex-direction: column-reverse;}
video {max-width: 100%;}
.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
    overflow: hidden;
    margin: 0;}
.video-wrapper iframe, .video-wrapper object, .video-wrapper embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media(min-width: 767px){
	.flex-container.flex-4 > * {flex-basis: 48%;}
	.flex-container.flex-4.flex-flush > * {flex-basis: 50%;}
}
@media(min-width: 1025px) {
	.flex-container.flex-2 > * {flex-basis: 48%;}
	.flex-container.flex-3 > * {flex-basis: 31%;}
	.flex-container.flex-4 > * {flex-basis: 24%;}
	.flex-container.flex-2.flex-flush > * {flex-basis: 50%;}
	.flex-container.flex-3.flex-flush > * {flex-basis: 33.33333%;}
	.flex-container.flex-4.flex-flush > * {flex-basis: 25%;}
	.mobile-reverse .flex-container{flex-direction: row;}
	.flex-reverse {flex-direction: row-reverse;}
	section.section .container {padding: 0 clamp(45px, 7vw, 85px);}
}
@media(min-width: 1920px) {
	.container {max-width: 1800px;}
}

/* Header */
.site-branding {
	flex-basis: 50%;
	margin: 15px 0 0 0;
	line-height: 1;
	transition: flex-basis 0.3s;
	-webkit-transition: flex-basis 0.3s;
	-moz-transition: flex-basis 0.3s;
	-o-transition: flex-basis 0.3s;
}
.site-branding .mobile-phone {
	list-style: none;
	margin: 15px 0;
}
.site-branding .mobile-phone a {
	background: #05ACE3;
	color: #fff;
	padding: 5px 10px;
	border-radius: 16px;
}
#site-navigation {flex-basis: 50%;}
a.custom-logo-link {
    max-width: 285px;
}
header#masthead {
	padding-top: clamp(100px, 10vw, 200px);
	margin: 20px;
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(239,239,239,1) 0%,rgba(214,225,232,1) 100%);
	position: relative;
}
header#masthead:after {
	content: '';
	background: #fff;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	opacity: 0;
}
header#masthead.toggled:after {
	position: absolute;
	opacity: 1;
}
header#masthead .site-menu{
	background-color: transparent;
	padding: clamp(30px, 3vw, 43px) clamp(25px, 7vw, 100px);
	border-bottom: 3px solid transparent;
	border-radius: 0 0 26px 26px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
    z-index: 999;}
header#masthead .site-menu.smaller {
	background: #fff;
	padding: clamp(5px, 1.3vw, 20px) clamp(25px, 7vw, 100px);
	border-bottom: 3px solid rgba(214,225,232,1);
}
.logged-in header#masthead .site-menu{
	top: 32px;
}
.menu-utility-menu-container {
    display: flex;
    justify-content: flex-end;
}
ul#utility-menu {
    display: none;
    margin: 10px 0 10px 10px;
    padding: 0;
}
ul#utility-menu li{margin-right: 10px;}
ul#utility-menu li:last-of-type{margin-right: 0px;}
ul#utility-menu li:not(.gray-back).phone, ul#primary-menu li.phone {
	display: flex;
	align-items: center;
}
ul#utility-menu li.phone:before, ul#primary-menu li.phone:before {
	content: url(images/phone-flip.svg);
}
ul#primary-menu li.phone{
	padding-left: 20px;
	background: linear-gradient(135deg, rgba(239,239,239,1) 0%,rgba(214,225,232,1) 100%);
}
@media(min-width: 767px){
	ul#utility-menu {
		display: inline-flex;
		flex-wrap: wrap;}
}
@media(min-width: 1025px){
	header#masthead:after {
		display: none;
		width: 0;
		height: 0;
	}
	.site-branding {flex-basis: 15%;}
	#site-navigation {flex-basis: 80%;}
	.site-branding .custom-logo-link {max-width: 100%;}
}
.breadcrumb {padding-bottom: clamp(20px, 5vw, 50px);}
.breadcrumb li {
    display: inline;
    font-size: 17px;
    font-weight: 400;
    color: #393939;
}
.breadcrumb li a {
    position: relative;
    color: #222;
}

/* Footer */
.footer-info-flex.flex-container, .footer-menu-container{
    margin: 0 20px;
}
.footer-info-flex > *, .footer-menu-container {
	background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
	border-radius: 22px;
	margin-bottom: 25px;
	padding: clamp(20px, 2.5vw, 30px) clamp(20px, 5vw, 50px) clamp(20px, 5vw, 50px) clamp(20px, 5vw, 50px);
}
.footer-menu-container {padding: clamp(20px, 5vw, 50px);}
.footer-info-flex .flex-container h3 {
	font-size: clamp(18px, 2vw, 24px);
	margin: 0;}
.footer-info-flex .address-header, .footer-info-flex .hours-header, .footer-info-flex .phone-header {
	margin: 0 0 clamp(20px, 2.5vw, 30px) 0;}
.footer-info-flex p {margin: 0;}
.footer-phone-block h2 {
	font-size: clamp(22px, 2.8vw, 39px);
}
.footer-info-flex > * {
	position: relative;
}
.hours-flex.flex-container.flex-2 > * {
	flex-basis: 50%;
}
ul#footer-menu {
    list-style: none;
    display: flex;
	flex-wrap: wrap;
	margin: clamp(10px, 1.5vw, 20px) 0 0 0;
}
ul#footer-menu li {
	font-size: clamp(15px, 1.6vw, 18px);
}
ul#footer-menu li:after {
	content: "|";
	margin-left: 10px;
	padding-right: 10px;
}
ul#footer-menu li:last-of-type:after {
	content: "";
	margin: 0;
	padding: 0;
}
.footer-menu, p.copyright {
    margin-bottom: 25px;
}
.footer-menu h3 {
	font-size: clamp(17px, 2vw, 20px);
	font-family: 'Sofia Pro SemiBold', sans-serif;
}
.footer-menu p {line-height: 1.9;margin-bottom: 0;}
.footer-menu p ~ h3 {margin-top: 20px;}
.footer-menu h3 a {
	color: #393939;
}
.footer-menu a {
	color: #797979;
}
.footer-menu a:hover, .footer-menu h3 a:hover {
	color: #05ACE3;
}
.footer-logo {max-width: 175px;}
.footer-social a {
    width: 50px;
    height: 50px;
    display: inline-block;
    margin: 5px 5px 5px 0;
    background: #fff;
	position: relative;
	color: #001429;
}
.footer-social a:hover {
	background: #01ade4;
	color: #fff;
}
.footer-social a:before {
	font-family: dashicons;
	font-size: 25px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.footer-social a.facebook:before {content: "\f305";}
.footer-social a.x-twitter:before {content: "\f301";}
.footer-social a.instagram:before {content: "\f12d";}
.footer-social a.youtube:before {content: "\f19b";}

@media(min-width: 1025px){
	.footer-menu, p.copyright {
		margin-bottom: 0px;
	}
	.footer-info-flex > * {
		padding: 30px 50px 100px 50px;
	}
	.footer-info-flex > * .button-container {
		position: absolute;
		bottom: clamp(20px, 2.5vw, 30px);
	}
	.footer-info-flex.flex-container.flex-3 > * {
        flex-basis: calc(33% - 15px);
    }
}

/* Home Page */

.hero-sec {
	color: #393939;
	padding: 0 clamp(20px, 5vw, 50px) clamp(20px, 5vw, 50px);
}
.hero-sec p {
    margin-top: 0;
}
.hero-header {
    padding: 25px 0;
}
.hero-text h1{
	font-size: clamp(50px, 7vw, 90px);
	line-height: 1;
	margin-bottom: 20px;
	color: #05ACE3;
	font-weight: 400;
}
.hero-text h1 span{
	color: #233262;
}
.hero .phone img, .location img {margin-right: 10px;}
.hero .phone a, .hero .location{
	font-size: 20px;
}
.hero .location {display: none; color: #233262; line-height: 1.5;}
.hero .location p {margin: 0;line-height: 1;}
.hero-image > img, .hero-image > picture img{margin-bottom: clamp(50px, 7vw, 90px);border-radius: 26px;}
@media(min-width: 767px) {
	.hero .location {display: inline-flex;align-items: center;}
	.hero-header.flex-container.flex-2 > * {flex-basis: 50%;}
	.hero .phone {text-align: right;}
}
@media(min-width: 1025px){
	.hero .flex-2 > .hero-text {flex-basis: 40%;}
	.hero .flex-2 > .video {flex-basis: 60%;}
}
.services {
    margin: 20px;
}
.service-blocks {
    margin: 20px 0;
}
.service-block {
    background: linear-gradient(135deg, rgba(239,239,239,1) 0%,rgba(214,225,232,1) 100%);
    position: relative;
	border-radius: 22px;
	padding: 100px 50px 25px 50px;
	margin-bottom: 25px;
}
.service-block h3 {
	font-weight: 400;
}
.services .wp-block-video video {border-radius: 24px;}
.icon {
	height: 40px;
    width: 40px;
    background-size: cover;
}
.icon.service-icon {
    background-position: right;
    position: absolute;
    top: 30px;
    right: 30px;
}
.testimonials {padding: clamp(20px, 5vw, 50px) 0 clamp(75px, 10vw, 150px) 0;}
.testimonials.contact-testimonials {padding: clamp(75px, 10vw, 150px) 0;}
section.discover {margin: 25px;}
.discovery-blocks {
	margin-top: clamp(75px, 10vw, 150px);
}
a.discovery-button.flex-container.flex-center.flex-between {
    position: absolute;
    bottom: 20px;
    width: 90%;
	left: 5%;
}
.discovery-block {
	position: relative;
    height: 0;
	padding-bottom: 50%;
    background-position: top left;
    background-size: 50%;
    margin-bottom: 25px;
    border-radius: 26px;
    background-color: #EFEFEF;
    background-blend-mode: multiply;
    background-repeat: no-repeat;
}
.discovery-block a.discovery-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.discovery-block h3 {margin: 0;color: #393939;}
.discovery-block .button {
    position: absolute;
    bottom: 0;
    left: 0;
}
.discovery-image {
	background-size: contain;
    height: 0px;
    margin-top: 0px;
    background-repeat: no-repeat;
    padding-bottom: 57%;}
@media(min-width: 1025px) {
	.discovery-content {
		padding: 25px;
	}
	.discovery-block {
		padding-bottom: 38%;
		background-position: center;
    	background-size: cover;
	}
	.discovery-image {
		margin-top: -100px;}
}
.service-video {
    position: relative;
	margin: 0;
	padding: 0;
}
.video-text {
	padding: 5%;
}
figure#service-vid {
	margin: 0;
}
.trigger-button {
	position: absolute;
    bottom: 25px;
    right: 25px;
}
button.play-button {
    display: flex;
    text-align: center;
	color: #05ACE3;
}
button.play-button:hover, button.play-button.play, button.play-button.paused {
	background: #EEF2F5;
}
button.play-button img{ margin-right: 10px;}
section.doctor {padding-top: clamp(45px, 8vw, 90px);}
.doctor-info .doctor-text{
    padding: clamp(45px, 8vw, 90px);
}
.doctor-info .icon {
    margin-left: calc(4% + clamp(45px, 8vw, 90px));
    margin-top: -3%;
    margin-bottom: 2%;
    width: 35px;
}
.flex-container.flex-2 > .doctor-image {
    border-radius: 22px;
    background-size: cover;
	background-position: center;
    padding-bottom: 34%;
    margin: 25px;
}
.flex-container.flex-2 > .doctor-info .doctor-text{
	background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
	border-radius: 22px;}
.testimonial-image {
	width: 35vw;
    height: 35vw;
    background-size: cover;
    margin-top: -12vw;
    margin-left: -7vw;
	}
.testimonial-content .rplg-review p.testimonial-text {
	font-size: 18px !important;
	line-height: 1.5 !important;
	margin: 1em 0 !important;
	font-family: 'Sofia Pro Regular', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
.testimonial-content .rplg-review p.testimonial-name {
	font-size: 18px !important;
	line-height: 1.5 !important;
}
div.testimonial-text {padding: 5%;}
.testimonial-text h2 {color: #393939;}
.testimonial-content .rpi-content {
    display: flex;
    flex-wrap: wrap;
}
.testimonial-content .rpi-content > *{
	background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
	border: 12px solid #fff !important;
	border-radius: 26px;
	padding: clamp(20px, 3.5vw, 50px);
}
.testimonial-content .rpi-content .rpi-star:after {
	background-color: #05ACE3;
}
.solution, .location-content {
    padding: clamp(20px, 5vw, 50px) clamp(45px, 8vw, 90px);
}
.solution .txt {
    flex-basis: calc(100% - 100px);
}
.solution-image {
    margin: 25px;
    background-size: cover;
    background-position: center;
    border-radius: 26px;
}
@media(min-width: 1025px){
	section.doctor {
		margin-top: 12%;
	}
	.flex-container.flex-2 > .doctor-image {height: auto; padding-bottom: 0;margin: -12% 25px 12% 25px;}
	.flex-container.flex-2 > .doctor-info {
		flex-basis: 55%;
		margin-left: -10%;
		margin-right: 25px;
	}
	.discovery-block.discovery-1 {margin-top: 100px;}
	.discovery-block.discovery-2 {margin-top: 0px !important;}
	.discovery-block:nth-child(even){margin-top: -100px;}
	.testimonial-header {padding: 0 0 0 10%;} 
	.testimonial-flex > .testimonial-header {
		flex-basis: 40%;
	}
	.testimonial-flex > .testimonial-content {
		flex-basis: 60%;
	}
	.testimonial-content {padding: 0 10% 0 0;}
	.testimonial-content .rpi-content > * {flex-basis: 53%;}
	.rplg-review:first-of-type {
		margin-top: -100px;
		margin-bottom: 100px;
	}
	.rplg-review:last-of-type {margin-left: -6%;}
}

div.problems {
	background: #003061;
	text-align: center;
}
.problem {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	padding: clamp(25px, 5vw, 75px) 0;
}
.problem > *{
	flex-basis: 50.1%;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transform: scale(1);
}
.problem:hover img{
	transform: scale(0.9);
}
.problem:hover p{
	transform: scale(1.1);
}
.problem p {
	color: #fff;
	text-transform: uppercase;
}
.companies {
    background-color: #001429;
    text-align: center;}
.companies, .partners {
    padding: clamp(25px, 5vw, 55px) 0;
}
.companies h2{
    color: #fff;
	margin-bottom: clamp(25px, 5vw, 55px);
}
.company {
    display: flex;
    justify-content: center;
    align-items: center;
	height: 75px;
}
section.consult-cta {
    background-attachment: fixed;
    padding: clamp(45px, 7vw, 75px) 0;
    background-size: cover;
    background-position: center;
}
section.consult-cta h2 {color: #fff;}
section.consult-cta .button {
	background-color: #fff;
	color: #222;
}
.acf-map {
    height: 0;
	padding-bottom: 100%;
    width: calc(100% - 40px);
	margin: 25px 20px;
	border-radius: 26px;
}
.flex-container.flex-4 > .partner {flex-basis: 46%;}
@media(min-width: 767px) {
	.flex-container.flex-4 > .partner {flex-basis: 20%;}
}
@media(min-width: 1025px) {
	.acf-map {height: 500px;padding-bottom: 0;}
}

/* Default Page */
section.hero-page {
    padding: clamp(55px, 8vw, 100px) 0 clamp(55px, 15vw, 200px) 0;
}
section.hero-page h1 {
	color: #05ACE3;
	margin: 0;
}
.header-text {
    background: #fff;
	padding-top: clamp(45px, 7vw, 85px);
    border-radius: 26px;
}

section.default-container {
    padding: clamp(45px, 7vw, 85px) 0;
}
section.default-container.default-header,
section.single-blog.default-container {
    padding: clamp(45px, 7vw, 85px);
}
.image-container {max-width: 90vw;}
.entry-content .post-thumbnail img, .image-container img, .image-container picture img {
	border-radius: 26px;
}
.flex-header .form-side {margin-bottom: clamp(45px, 7vw, 85px);}
.flex-header .post-thumbnail {
	flex-basis: 100%;
	position: relative;
	background-size: cover;
	background-position: center;
	border-radius: 26px;
	height: 0;
	padding-bottom: 60%;}
@media(min-width: 1025px) {
	section.default-header {
		margin: clamp(-200px, -15vw, -55px) auto 0 auto;
	}
	section.default-container.default-header {
		max-width: 90%;
		background: #fff;
		border-radius: 26px;
	}
	.flex-header .header-text {flex-basis: 55%; padding: clamp(45px, 7vw, 85px) 10% clamp(45px, 7vw, 85px) clamp(45px, 7vw, 85px);}
	.flex-header .form-side, .flex-header .post-thumbnail  {
		flex-basis: 50%;
		margin-top: clamp(45px, 7vw, 85px);
        margin-left: -5%;}
	.flex-header .post-thumbnail { padding-bottom: 35%;}
}


/* Blog Page */
.blog-box {
    margin: 1%;
    position: relative;
	transform: scale(1);
	transition: transform 0.3s;
	-webkit-transition: transform 0.3s;
	-moz-transition: transform 0.3s;
	-o-transition: transform 0.3s;
}
.blog-box .date-overlay {
	position: absolute;
	top: 0;
	right: 0;
}
.blog-box .date-overlay:before {
    content: '';
    border-style: solid;
    border-width: 65px;
    border-color: #003061 #003061 transparent transparent;
    position: absolute;
    right: 0;
    width: 100px;
    top: 0;
    height: 100px;
}
.blog-box .date-overlay span {
	position: relative;
	color: #fff;
	display: block;
	line-height: 1;
}
.blog-box .date-overlay .date {
	padding: 10px;
}
.blog-box .date-overlay span.day {
	font-size: 22px;
	font-weight: 500;
}
.blog-box .date-overlay span.month {
	font-size: 12px;
}
.blog-thumb {
    width: 100%;
    background-size: cover;
    height: 0;
    padding-bottom: 57%;
    background-position: center;
}
.blog-box:hover{
	transform: scale(1.01);
}
.blog-flex .entry-content h2 {
    font-size: clamp(18px, 2vw, 28px);
    line-height: 1.1;
    padding: 10px;
}

/* Sitemap Page */
.wrap-html-sitemap.sp-html-sitemap {
    display: flex;
	flex-wrap: wrap;
}
@media(min-width: 767px) {
	.wrap-html-sitemap.sp-html-sitemap > * {
		flex-basis: 50%;
	}
}

/* 404 Page */
.error-404 .sitemap{
	padding: clamp(45px, 7vw, 85px) 0 0 0;
}


/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Two Column */

section.two-column {border-radius: 26px;} 
.text-side {
    padding: clamp(35px, 5vw, 55px);
}
.image-side {
    background-size: cover;
    border-radius: 26px;
	background-position: center;
}

@media(max-width: 1024px) {
	.left-intro, .right-intro {
		flex-basis: 100% !important;
	}
}

/* Team */


h3.subhead {
    text-transform: uppercase;
    color: #05ACE3;
    font-size: clamp(15px, 1.5vw, 18px);
    font-family: 'Sofia Pro Bold', sans-serif;
}
a.learn-more {
	background: #fff;
	border-radius: 26px;
	font-size: clamp(15px, 1.5vw, 18px);
	color: #05ACE3;
	padding: 10px 20px 8px 20px;
}
a.team-image.learn-more {
    flex-basis: 50%;
    background-size: cover;
    height: 430px;
	border-radius: 26px;
	background-position: top center;
}
.team-text {
    flex-basis: 50%;
    padding: clamp(25px, 3.5vw, 50px);
	position: relative;
}
.entry-content .team-text h2, .entry-content .modal-content h2 {
	color: #233262;
    font-size: clamp(25px, 3.25vw, 34px);
	margin-bottom: 10px;
}
.team-box {
    background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
    border-radius: 26px;
	margin-bottom: 4%;
}
.team-text a.learn-more {
	position: absolute;
	bottom: 10%;
	left: 10%;
	width: 80%;
	text-align: center;
}
.team-text a.learn-more:before {
	content: '';
	background-image: url(images/learn-more-bullet.svg);
	width: 17px;
	height: 17px;
	display: inline-block;
	vertical-align: middle;
	background-size: cover;
	margin-top: -2px;
	margin-right: 10px;
}
.modal-box {
	background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
	position: fixed;
	width: 90%;
    padding: clamp(25px, 3.5vw, 50px);
	border-radius: 26px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	left: 5%;
    top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
	overflow-y: scroll;
    bottom: 0;
	min-height: 500px;
}
.modal-image {
	flex-basis: 250px;
	border-radius: 26px;
	min-height: 250px;
	margin: 0 auto 25px auto;
	background-size: cover;
	background-position: center;}
a.close-modal {
    position: absolute;
    top: 20px;
    right: 20px;
}
a.close-modal:after {
	content: "\f335";
	font-family: dashicons;
	font-size: 30px;
}
#primary.shroud:after {
	content: '';
	background: rgba(255,255,255,0.7);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media(min-width: 767px) {
	.modal-box {min-height: auto;}
	.modal-image {flex-basis: 25%;min-height: 350px;}
	.modal-text {flex-basis: 70%;}
}

/* Image Blocks */
.alternate-flex {border-radius: 26px;}
.alternate-flex .image-text {
	padding: clamp(25px, 3.5vw, 50px);
}
.alternate-flex .image-block {
	background-size: cover;
    height: 0;
    padding-bottom: clamp(300px, 50vw, 900px);
    border-radius: 26px;
    background-position: center;
}

@media(min-width: 767px){
	.alternate-flex:nth-child(even) {
		flex-direction: row-reverse;
	}
	.alternate-flex .image-block, .alternate-flex .image-text {
		flex-basis: 50%;
	}
}

/* Fifty Blocks */
.fifty-blocks .discovery-blocks .discovery-block {
	padding: 0;
	height: 300px;
	background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
}
.fifty-blocks .discovery-blocks .discovery-block .block-image {
	background-size: cover;
	background-position: center;
	height: 100%;
	border-radius: 26px;
	position: relative;
}
.fifty-blocks .discovery-blocks .discovery-block .block-image a.block-image-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
a.block-button {
    position: relative;
    display: block;
}
.fifty-blocks .discovery-blocks .discovery-block > * {flex-basis: 48%;}
.block-button div {
	position: absolute;
	bottom: clamp(25px, 5vw, 50px);
	right: clamp(25px, 5vw, 50px);
    text-align: right;
}

/* Steps */
.steps .block-title {margin-bottom: clamp(25px, 5vw, 50px);}
.step {
	background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
	border-radius: 26px;
	padding: clamp(25px, 5vw, 50px);
	margin-bottom: 25px;
}
.step-number span {
	font-size: clamp(24px, 3vw, 36px);
	color: #05ACE3;
}
.step .step-title h3 {
	margin-top: clamp(12px, 2vw, 24px);
	font-size: clamp(20px, 2vw, 24px);
}

/* Forms */
p.gform_required_legend {display: none;}
.form-container {
	background-color: #F4F5F7;
	padding: clamp(25px, 5vw, 50px);
	border-radius: 26px;
}
.form-container label, .form-container legend {
	color:#05ACE3;
}
.form-container .gform_wrapper.gravity-theme input[type=color], 
.form-container .gform_wrapper.gravity-theme input[type=date], 
.form-container .gform_wrapper.gravity-theme input[type=datetime-local], 
.form-container .gform_wrapper.gravity-theme input[type=datetime], 
.form-container .gform_wrapper.gravity-theme input[type=email], 
.form-container .gform_wrapper.gravity-theme input[type=month], 
.form-container .gform_wrapper.gravity-theme input[type=number], 
.form-container .gform_wrapper.gravity-theme input[type=password], 
.form-container .gform_wrapper.gravity-theme input[type=search], 
.form-container .gform_wrapper.gravity-theme input[type=tel], 
.form-container .gform_wrapper.gravity-theme input[type=text], 
.form-container .gform_wrapper.gravity-theme input[type=time], 
.form-container .gform_wrapper.gravity-theme input[type=url], 
.form-container .gform_wrapper.gravity-theme input[type=week], 
.form-container .gform_wrapper.gravity-theme select, 
.form-container .gform_wrapper.gravity-theme textarea {
	background-color: #fff;
    font-size: 18px;
    margin-bottom: 0;
    margin-top: 0;
    padding: 17px;
}
.form-container .gform_wrapper.gravity-theme .gform_fields.left_label legend.gfield_label, 
.form-container .gform_wrapper.gravity-theme .gform_fields.right_label legend.gfield_label,
.form-container .gform_wrapper.gravity-theme .left_label div.gfield>div:not(.ui-resizable-handle):not(.gfield-admin-icons), 
.form-container .gform_wrapper.gravity-theme .right_label div.gfield>div:not(.ui-resizable-handle):not(.gfield-admin-icons),
.form-container .gform_wrapper.gravity-theme .gform_fields.left_label fieldset .ginput_container, 
.form-container .gform_wrapper.gravity-theme .gform_fields.right_label fieldset .ginput_container {
	width: 100%;
}
.form-container .gform_wrapper.gravity-theme .gform_footer input[type="submit"]{
	background-color: #233262;
	color: #fff;
	background-image: url(images/end-arrow-white.svg);
	background-position: 90%;
	background-repeat: no-repeat;
	border: none;
	padding-right: 90px;
}
.form-container .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover {
	background-color: #05ACE3;
}
.form-container .gform_footer.left_label {
    align-items: end;
    flex-direction: column;
}
.form-container .gform_wrapper.gravity-theme .left_label .gfield_html_formatted {margin-left: 0;display: block;}
.form-container .gform_wrapper.gravity-theme .left_label .gfield_html_formatted p {
	text-align: center;
	font-size: 14px;
	font-weight: 300;
	color: #A5A8AA;
}
.form-container .gform_wrapper.gravity-theme .left_label .gfield_html_formatted p a {
	color: #233262;
	font-weight: 700;
}
.gform_wrapper.gravity-theme .gsection {margin-top: 25px;}
@media(min-width: 767px) {
	.form-container .gform_wrapper.gravity-theme .gform_fields.left_label legend.gfield_label, 
	.form-container .gform_wrapper.gravity-theme .gform_fields.right_label legend.gfield_label,
	.form-container .gform_wrapper.gravity-theme .left_label .gfield_label, 
	.form-container .gform_wrapper.gravity-theme .right_label .gfield_label {
		flex-basis: 30%;}
	.form-container .ginput_container {flex-basis: 65%;}
}

@media(min-width: 1025px) {
	.side-form {
		flex-basis: 45%;
		margin: 5% 0 0 -5%;
	}
	.form-container .gform_wrapper.gravity-theme fieldset,
.form-container div.gfield,
.form-container .gform_wrapper.gravity-theme .left_label .gfield:not(.gsection):not(.gfield_html):not(fieldset), 
.form-container .gform_wrapper.gravity-theme .right_label .gfield:not(.gsection):not(.gfield_html):not(fieldset){
    border: none;
    display: flex;
	justify-content: space-between;
    margin: 0;
    align-items: center;
}
}

/* Pagination */

.navigation {text-align: center;}
.navigation li { display: inline-block; margin-right: 5px;}
.navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled {text-decoration:none;}
.navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled {
	border-radius: 3px;
	border: 1px solid #01ade4;
	cursor: pointer;
	padding: 5px 12px; }
.navigation li a:hover, .navigation li.active a { background-color: #01ade4; color: #fff;}

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}
.menu-header-menu-container {
    position: absolute;
	left: 0;
    width: 100%;
    z-index: 99;
	top: 100%;
}
.main-navigation ul {
	list-style: none;
}
.main-navigation .menu-header-menu-container > ul {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
}
.main-navigation ul.menu > li > a {
	font-weight: 400;
	padding: 5px 20px;
	font-size: clamp(15px, 1.5vw, 18px);
}
.main-navigation ul.menu > li > a:hover, .main-navigation ul.menu > li.current-menu-item > a {
	color: #233262;
}
.main-navigation ul.menu > li.current-menu-item.button > a {
	color: #fff;
}
.main-navigation ul ul {
	margin-left: 0;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}
.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	padding: 5px 20px 2px 20px;
	font-size: clamp(14px, 1.25vw, 16px);
}
.main-navigation ul ul a:hover {
	background:#38557C;
	color: #fff;
}
.main-navigation ul#primary-menu > li:first-of-type{
	border-top: 1px solid #38557C42;
}
.main-navigation ul#primary-menu > li {
	border-bottom: 1px solid #38557C42;
}
.mobile-menu-section {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}
.main-navigation ul li > .sub-menu {margin: 0;}
.main-navigation .phone-button {display: none;}
.main-navigation a {
	display: block;
	text-decoration: none;
}
.main-navigation a.button {display: inline-block;}
.menu-item-has-children a span.plus {
    display: inline-block;
    margin-left: 10px;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    background: #05ACE3;
    text-align: center;
    color: #fff;
    font-weight: bold;
    transform: rotate(0deg);
    -webkit-transition: transform .4s;
    -o-transition: transform .4s;
    transition: transform .4s;
    font-size: 24px;
    line-height: 1;
}
.menu-item-has-children a span.plus.open {
	transform: rotate(45deg);
}
/* Small menu. */
.menu-toggle {
	display: block;
}
ul#utility-menu li:not(.gray-back) {
    display: none;
}
nav#site-navigation .menu-toggle {
	position: relative;
    width: 40px;
    height: 45px;
    border-radius: 0;
    border: 0px solid transparent;
    box-shadow: inset 400px 0 0 0 #05ACE3;
    z-index: 999;
    border-radius: 18px;
}
.menu-toggle .menu-bar {
	display: block;
	left: 50%;
	transform: translateX(-50%);
	width: 25px;
	height: 0.25em;
	margin-top: 0.5em;
	background-color: #fff;
	position: absolute;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
	border-radius: 1px;
	-webkit-transition: transform .4s;
	-o-transition: transform .4s;
	transition: transform .4s;}
.menu-toggle .menu-bar:first-of-type {top: 7px;}
.menu-toggle .menu-bar:nth-child(2) {top: 14px;}
.menu-toggle .menu-bar:nth-child(3) {top: 21px;}
.toggled .menu-toggle .menu-bar:nth-child(1) {
	top: 14px;
	-webkit-transform: translateX(-50%) rotate(45deg);
	-ms-transform: translateX(-50%) rotate(45deg);
	-o-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
	-webkit-transition: transform .4s;
	-o-transition: transform .4s;
	transition: transform .4s;}
.toggled .menu-toggle .menu-bar:nth-child(2) {
	opacity: 0;
	-webkit-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s;}
.toggled .menu-toggle .menu-bar:nth-child(3) {
	top: 14px;
	-webkit-transform: translateX(-50%) rotate(-45deg);
	-ms-transform: translateX(-50%) rotate(-45deg);
	-o-transform: translateX(-50%) rotate(-45deg);
	transform: translateX(-50%) rotate(-45deg);
	-webkit-transition: transform .4s;
	-o-transition: transform .4s;
	transition: transform .4s;}

@media screen and (min-width: 1025px) {

	.menu-toggle {
		display: none;
	}
	.main-navigation {
		display: inline-block;
        width: auto;}
	.menu-header-menu-container {
		position: relative;
		margin-bottom: 10px;}
	.mobile-menu-section {
		display: block;
	}
	.main-navigation .menu-header-menu-container > ul {
		display: flex;
		align-items: center;
		justify-content: right;
		padding: 0px 0px 0px clamp(10px, 1.2vw, 40px);
        margin-left: auto;
		background: transparent;
	}
	.main-navigation ul#primary-menu > li,
	.main-navigation ul#primary-menu > li:first-of-type {
		border: 0px solid transparent;
		margin-left: 10px;
	}
	.main-navigation ul.menu#primary-menu > li > a {
		background-color: #fff;
		border-radius: 22px;
		padding: 12px 20px;
		font-size: clamp(12px, 1.5vw, 18px);
	}
	.main-navigation ul#primary-menu.menu > li > a:hover, .main-navigation ul#primary-menu.menu > li.current-menu-item > a {
		color: #fff;
		background-color: #233262;
	}
	ul#utility-menu li:not(.gray-back) {display: block;}
	.main-navigation ul.menu#utility-menu > li.dark > a {
		background: #003061;
	}
	.main-navigation ul#primary-menu > li.button {
		border-radius: 26px;
		background-color: #2895CE; }
	.main-navigation ul#primary-menu > li.button > a {font-weight: 700;}
	.main-navigation .menu-header-menu-container > ul#primary-menu > li > a {
		line-height: 1;
		padding: 14px clamp(10px, 1.52vw, 24px) 11px clamp(10px, 1.52vw, 24px);
	}
	.menu-item-has-children a span.plus {
		display: none;
	}
	.main-navigation ul li > .sub-menu {
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		background: linear-gradient(135deg, rgba(239, 239, 239, 1) 0%, rgba(214, 225, 232, 1) 100%);
		border: 2px solid #fff;
		margin: 0;
		padding: 0;
		position: absolute;
		top: 100%;
		z-index: 99999;
		left: -999em;
		transform: translateY(30px);
		opacity: 0;
		-webkit-transition: all 0.2s ease-in-out;
		-moz-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		-o-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;}
	.main-navigation ul li:hover > ul.sub-menu {
		left: auto;
    	transform: translateY(0px);
    	opacity: 1;}
	.main-navigation ul li > .sub-menu li {
		border-bottom: 2px solid #fff;
	}
	.main-navigation ul li > .sub-menu li:last-of-type {
		border-bottom: none;
	}
	.main-navigation ul li > .sub-menu li a{
		font-size: clamp(12px, 1.5vw, 18px);
	}
}

@media(max-width: 1025px){
	.main-navigation ul li > .sub-menu {
		display: none;
		padding-left: 5%;
        background-color: #38557C42;}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* 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;
}

.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: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

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

/* Alignments
--------------------------------------------- */
.aligncenter, .alignleft, .alignright {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

@media(min-width: 767px) {
  .alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
}

/**
 * BxSlider v4.1.2 - Fully loaded, responsive content slider
 * http://bxslider.com
 *
 * Written by: Steven Wanderski, 2014
 * http://stevenwanderski.com
 * (while drinking Belgian ales and listening to jazz)
 *
 * CEO and founder of bxCreative, LTD
 * http://bxcreative.com
 */


/** RESET AND LAYOUT
===================================*/

.bx-wrapper {
	position: relative;
	margin: 0 auto 60px;
	padding: 0;
}

.bx-wrapper img {
	max-width: 100%;
	display: block;
}

/** THEME
===================================*/

.bx-wrapper .bx-viewport {
	-webkit-transform: translatez(0);
	-moz-transform: translatez(0);
    -ms-transform: translatez(0);
    -o-transform: translatez(0);
    transform: translatez(0);
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	position: absolute;
	bottom: -30px;
	width: 100%;
}

/* LOADER */

.bx-wrapper .bx-loading {
	min-height: 50px;
	background: url(images/bx_loader.gif) center center no-repeat #fff;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2000;
}

/* PAGER */

.bx-wrapper .bx-pager {
	text-align: center;
	font-size: .85em;
	font-family: Arial;
	font-weight: bold;
	color: #666;
	padding-top: 20px;
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
	display: inline-block;
}

.bx-wrapper .bx-pager.bx-default-pager a {
	background: #666;
	text-indent: -9999px;
	display: block;
	width: 14px;
	height: 14px;
	margin: 0 5px;
	outline: 0;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius:50%;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #fff;
}

.bx-controls.bx-has-pager {
    position: absolute;
    bottom: -25px;
    width: 100%;
}

/* DIRECTION CONTROLS (NEXT / PREV) */

.bx-wrapper .bx-prev {
	left: 10px;
	background: url(images/controls.png) no-repeat 0 -32px;
}

.bx-wrapper .bx-next {
	right: 10px;
	background: url(images/controls.png) no-repeat -43px -32px;
}

.bx-wrapper .bx-prev:hover {
	background-position: 0 0;
}

.bx-wrapper .bx-next:hover {
	background-position: -43px 0;
}

.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -16px;
	outline: 0;
	width: 32px;
	height: 32px;
	text-indent: -9999px;
	z-index: 9999;
}

.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}

/* AUTO CONTROLS (START / STOP) */

.bx-wrapper .bx-controls-auto {
	text-align: center;
}

.bx-wrapper .bx-controls-auto .bx-start {
	display: block;
	text-indent: -9999px;
	width: 10px;
	height: 11px;
	outline: 0;
	background: url(images/controls.png) -86px -11px no-repeat;
	margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
	background-position: -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop {
	display: block;
	text-indent: -9999px;
	width: 9px;
	height: 11px;
	outline: 0;
	background: url(images/controls.png) -86px -44px no-repeat;
	margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
	background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
	text-align: left;
	width: 80%;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
	right: 0;
	width: 35px;
}

/* IMAGE CAPTIONS */

.bx-wrapper .bx-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #666/9;
	background: rgba(80, 80, 80, 0.75);
	width: 100%;
}

.bx-wrapper .bx-caption span {
	color: #fff;
	font-family: Arial;
	display: block;
	font-size: .85em;
	padding: 10px;
}
