/* All styles NOT in @media queries are for 320px. Everything else overrides them. */

/*
[Table of contents]

1. - General

2. - Header
  2.1 - Header Search
  2.2 - Header Feature

3. - Content
  3.1 - Breadcrumbs
  3.3 - Content Header
  3.4 - Content Footer

4. - Forms

5. - Footer
  5.1 - Footer Feature

 */

/* 1 - General */

html {
	box-sizing : border-box;
	font-size  : 62.5%; }

*, *:before, *:after { box-sizing : inherit; }

body {
	background-color : #ffffff; /* This can actually be the color of the FOOTER. Apply your 'body' background color to .page-wrap to get the effect of an expanding footer. */
	font-family      : 'GaramondClassico', 'Garamond', 'Times New Roman', 'serif';
	font-size        : 1.6em;
	position         : relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight : normal;
	line-height : 120%;
	margin      : 13px 0; }

p { margin : 13px 0 21px; }

a:link, a.link { color : #336db5; }
a:visited, a.visitedlink { color : #831d48; }
a:hover, a.hoverlink { color : #0d3b74; }
a:active, a.activelink { color : #524a43; }

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

textarea { resize : vertical; }

button,
input,
select,
textarea { font-family : source_sans, helvetica, arial, sans-serif; }

/* ClearFix */

.cf:before,
.cf:after {
	content : ' ';
	display : table; }

.cf:after { clear : both; }

.cf { *zoom : 1; }

/* Global Classes */

.ada-el {
	border   : none;
	height   : 1px;
	margin   : -1px;
	overflow : hidden;
	position : absolute;
	width    : 1px; }

.row.hp,
.no-show { display : none; }

.pri-button,
.sec-button {
	border-radius   : 3px;
	box-shadow      : inset 0 -3px 0 rgba(0, 0, 0, 0.2);
	display         : inline-block;
	font-family     : 'ProximaNovaMedium', Arial, sans-serif;
	font-size       : 16px;
	height          : 44px;
	letter-spacing  : 0.02em;
	line-height     : 120%;
	max-width       : 300px;
	min-width       : 165px;
	padding         : 12px 21px 0;
	text-align      : center;
	text-decoration : none;
	text-transform  : uppercase; }

.pri-button,
a.pri-button {
	background : #336db5;
	color      : #ffffff; }

.pri-button:hover,
a.pri-button:hover { background : #2963ac; }

.sec-button,
a.sec-button {
	background : #f2d7ad;
	color      : #b06d05; }

.sec-button:hover,
a.sec-button:hover {
	background : #f0cf9c; }

.pri-button span,
.sec-button span { display : none; }

input[type='submit'].pri-button,
input[type='submit'].sec-button { padding-top : 0; }

/* =======================
  Form Defaults
========================== */

form label {
	margin-right : 8px; }

form input[type=text],
form input[type=tel],
form input[type=email],
form input[type=number],
form select,
form textarea {
	background    : #ffffff;
	border        : 1px solid #aaaaaa;
	border-radius : 5px;
	box-sizing    : border-box;
	font-size     : 1.7rem;
	height        : 38px;
	max-width     : 100%;
	min-width     : 200px; }

form textarea {
	display : block;
	height  : 101px;
	width   : 100%; }

.long-form {
	margin    : 0 auto;
	max-width : 630px; }

.long-form .personal-information { text-align : left; }

.long-form .personal-information input { width : 100%; }

.long-form .text-row,
.long-form .checkbox-row,
.long-form .radio-row,
.long-form .procedures-list {
	margin : 0 0 21px; }

.long-form .text-row label,
.long-form .method_label { font-weight : bold; }

.long-form span.wpcf7-list-item {
	display : block;
	margin  : 0; }

/* Layout */

.full-bleed {
	margin-left : calc((100vw - 100%) / 2 * -1);
	width       : 100vw; }

.page-width {
	margin        : 0 auto;
	padding-left  : 13px;
	padding-right : 13px;
	width         : 100%; }

.page-wrap {
	background-color : #ffffff;
	overflow         : hidden;
	padding-top      : 59px;
	width            : 100%; }

.page-body {
	margin   : 0 auto;
	position : relative;
	z-index  : 1; }

.page-overlay {
	background-color : rgba(0, 0, 0, 0);
	bottom           : 0;
	display          : none;
	left             : 0;
	position         : absolute;
	right            : 0;
	top              : 0;
	z-index          : 10; }

.page-overlay.on { display : block; }

/* 2 - Header */

.header {
	background-color : #ffffff;
	height           : 0;
	left             : 0;
	overflow         : hidden;
	position         : absolute;
	top              : 0;
	width            : 100%;
	z-index          : 20; }

.header .header-inner {
	height   : 100%;
	margin   : 0 auto;
	position : relative; }

/* 2.1 - Header Search */

.search-dropdown {
	background : #cccccc;
	position   : relative; }

.search-dropdown .search-dropdown-inner {
	padding-bottom : 10px;
	padding-top    : 10px; }

.search-dropdown label {
	margin   : 0;
	overflow : hidden;
	position : relative; }

.search-dropdown .search-field {
	border         : 0;
	color          : #989898;
	font-size      : 1.6rem;
	font-style     : normal;
	font-weight    : normal;
	height         : 51px;
	letter-spacing : 0.02em;
	line-height    : 120%;
	padding        : 5px 8px;
	width          : calc(100% - 99px); }

.search-dropdown .search-field:focus {
	outline : none; }

.search-dropdown .search-submit {
	align-items    : center;
	background     : #f2d7ad;
	border         : 0 none;
	border-radius  : 2.47268px;
	box-shadow     : inset 0 -2.47268px 0 rgba(0, 0, 0, 0.2);
	color          : #b06d05;
	float          : right;
	font-family    : 'ProximaNovaMedium', Arial, sans-serif;
	font-size      : 14px;
	font-style     : normal;
	font-weight    : 500;
	height         : 36px;
	letter-spacing : 0.02em;
	line-height    : 120%;
	margin         : 7px 10px 8px 0;
	padding        : 9.89071px 17.3087px;
	text-align     : center;
	text-transform : uppercase;
	width          : 89px; }

/* 2.2 - Header Feature */

.header-feature {
	background-color : #593b03;
	overflow         : auto;
	width            : 100%; }

.header-feature .inner {
	color  : #ffffff;
	margin : 1em auto; }

/* 3 - Content */

.content {
	min-height : 300px;
	width      : 100%;
    padding-bottom: 30px; }

.content h1 {
	border-bottom  : 4px double #e1e1e1;
	color          : #d99223;
	font-size      : 3.2rem;
	font-style     : normal;
	font-weight    : normal;
	line-height    : 120%;
	margin         : 0 0 21px;
	padding-bottom : 7px; }

.content h2 {
	color       : #336db5;
	font-size   : 2.4rem;
	line-height : 120%; }

.content h3 {
	color     : #831d48;
	font-size : 2.3rem; }

.content h4 {
	color     : #524a43;
	font-size : 2.0rem; }

.content h5 {
	color     : #333333;
	font-size : 1.8rem; }

.content h6 {
	color     : #000000;
	font-size : 1.8rem; }

.content ol,
.content ul {
	margin  : 16px 0 30px;
	padding : 0 0 0 21px; }

.content p,
.content li,
.content td,
.content th,
.content form {
	color          : #524a43;
	font-size      : 1.7rem;
	font-style     : normal;
	font-weight    : normal;
	letter-spacing : 0.01em;
	line-height    : 155%; }

.content li { margin-bottom : 5px; }

.content iframe,
.content object,
.content video,
.content embed {
	max-height : calc(((100vw - 26px) * 9) / 16);
	max-width  : 100%; }

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

.content .alignnone { margin : 0.3em 1em 1em 0; }

.content .aligncenter,
.content div.aligncenter,
.content .alignright,
.content .alignleft {
	display : block;
	margin  : 0.2em auto 0.2em !important; }

.content a img.alignnone { margin : 0.3em 1em 1em 0; }

.content a img.aligncenter,
.content a img.alignright,
.content a img.alignleft {
	display      : block;
	margin-left  : auto;
	margin-right : auto; }

.content img.border { border : 7px solid #ffffff; }

.content img.shadow { box-shadow : 0 1px 8px 0 rgba(0, 0, 0, 0.5); }

.content .consultation-order {
	color        : #d99223;
	float        : left;
	font-size    : 90px;
	margin-right : 21px;
	margin-top   : 10px; }

/* Quote Widget */

.content blockquote,
.content .quote-widget {
	margin : 40px auto 42px; }

.content blockquote p,
.content .quote-widget p {
	margin     : 0;
	text-align : center; }

.content blockquote p:first-of-type,
.content .quote-widget p:first-of-type {
	color       : #336db5;
	font-size   : 22px;
	font-style  : italic;
	font-weight : normal;
	line-height : 150%;
	text-align  : center; }

.content blockquote p cite,
.content .quote-widget p cite {
	color          : #524a43;
	display        : block;
	font-family    : 'ProximaNovaMedium', Arial, sans-serif;
	font-size      : 16px;
	font-style     : normal;
	font-weight    : 500;
	letter-spacing : 0.05em;
	line-height    : 150%;
	margin-top     : 18px;
	text-transform : uppercase; }

.content blockquote p a,
.content .quote-widget p a {
	color          : #000000;
	font-size      : 17px;
	font-style     : normal;
	letter-spacing : 0; }

.content blockquote p a:after,
.content .quote-widget p a:after { content : ' \00BB'; }

/* 3.1 - Breadcrumbs */

.breadcrumbs {
	display : block;}

.breadcrumbs .breadcrumbs-inner {
	padding-bottom : 25px;
	padding-top    : 18px; }

.breadcrumbs ul li {
	color          : #a09891;
	display        : inline;
	font-family    : 'ProximaNovaMedium', Arial, sans-serif;
	font-size      : 1.2rem;
	letter-spacing : 0.02em;
	line-height    : 150%;
	list-style     : none;
	margin         : 0;
	padding        : 0; }

.breadcrumbs ul li:first-of-type {
	margin : 0; }

.breadcrumbs ul li a:after {
	content : '\00BB';
	display : inline-block;
	margin  : 0 5px; }

.breadcrumbs a {
	color           : #a09891;
	display         : inline-block;
	text-decoration : none; }

.breadcrumbs a:hover { text-decoration : underline; }

.breadcrumbs .sep { display : inline-block; }

/* 3.3 - Content Header */

.content-header {
	background-color : #f4647f;
	overflow         : auto;
	width            : 100%; }

.content-header .inner { color : #593b03; }

.content-header h3 { color : #f2d06b; }

/* 3.4 - Content Footer */

/* 3.6 - Content Section TOC */

.content .section-toc {
	border-bottom : 4px double #e1e1e1;
	margin-bottom : 51px;
	max-width     : 910px; }

.content .section-toc h4 {
	color          : #524a43;
	font-family    : 'ProximaNovaMedium', Arial, sans-serif;
	font-size      : 1.6rem;
	font-style     : normal;
	font-weight    : 500;
	letter-spacing : 0.02em;
	line-height    : 150%;
	margin         : 33px 0 0;
	position       : relative;
	text-transform : uppercase; }

.content .section-toc h4:after {
	border-bottom : 4px double #e1e1e1;
	content       : ' ';
	height        : 100%;
	position      : absolute;
	right         : 0;
	top           : -11px;
	width         : calc(100% - 155px); }

.content .section-toc ol {
	list-style-type : disc;
	margin          : 14px 0 18px;
	padding         : 0 0 0 36px; }

.content .section-toc ol li {
	font-size      : 1.9rem;
	letter-spacing : 0;
	line-height    : 150%;
	margin         : 0 0 1px; }

.content .section-toc ol li a {
	color           : #831d48;
	text-decoration : none; }



/* 4 - Forms */

.content .contact-mini-form {
	background-color : #f2acb9;
	font-size        : 1em;
	margin           : 0 auto;
	max-width        : 450px; }

.content .contact-mini-form .inner { margin : 15px 15px 0; }

.content .contact-mini-form h5 {
	color          : #357ca2;
	font-size      : 2.125em;
	font-weight    : normal;
	letter-spacing : 0;
	margin         : 16px auto 11px auto;
	text-align     : center; }

.content .contact-mini-form form .row {
	margin     : 0 auto 9px auto;
	padding    : 2px 0;
	text-align : left;
	width      : 100%; }

.content .contact-mini-form form .row.text,
.content .contact-mini-form form .row.textarea {
	background-color : white;
	border           : 1px solid #bdbdbd; }

.content .contact-mini-form form .row.text label,
.content .contact-mini-form form .row.textarea label {
	color          : #878787;
	left           : 5px;
	letter-spacing : 0.010em;
	margin         : 0;
	position       : relative;
	text-transform : none;
	top            : 4px; }

.content .contact-mini-form form input.text {
	background     : none;
	border         : none;
	color          : #333333;
	float          : right;
	letter-spacing : 0.01em;
	margin         : 0;
	padding        : 3px 0 2px;
	width          : calc(100% - 85px); }

.content .contact-mini-form form #CFYourEmail.text { width : calc(100% - 53px); }

.content .contact-mini-form form #CFYourPhone.text { width : calc(100% - 55px); }

.content .contact-mini-form form select {
	border         : 1px solid #bdbdbd;
	color          : #878787;
	height         : auto;
	letter-spacing : 1px;
	width          : 100%; }

.content .contact-mini-form form .row.textarea { height : 4em; }

.content .contact-mini-form form .row.textarea textarea {
	background : transparent;
	border     : none;
	float      : left;
	height     : 45px;
	padding    : 0 0 0 5px;
	width      : calc(100% - 7px); }

.content .contact-mini-form form .row.checkbox { margin : -4px auto 7px; }

.content .contact-mini-form form .row.checkbox input {
	float  : left;
	margin : 0 2px 0 0; }

.content .contact-mini-form form .row.checkbox .wpcf7-list-item-label {
	color          : #878787;
	font-weight    : normal;
	letter-spacing : 0.01em;
	margin-bottom  : 7px;
	margin-right   : 0;
	text-align     : left; }

.content .contact-mini-form form .row.checkbox label {
	display     : inline;
	margin-left : -4px;
	text-align  : left; }

.content .contact-mini-form form .row.submit {
	border        : none;
	margin-bottom : 0;
	padding       : 0; }

.content .contact-mini-form form .row.submit .submit input[type=submit] {
	background-color : #f2d06b;
	border           : none;
	border-radius    : 3px;
	color            : white;
	cursor           : pointer;
	display          : block;
	font-size        : 1.5em;
	font-style       : italic;
	letter-spacing   : 0.05em;
	margin           : 10px auto;
	padding          : 5px 0 3px;
	position         : relative;
	text-align       : center;
	text-transform   : uppercase;
	width            : 170px; }

.content .contact-mini-form form .row.submit .submit input[type=submit]:hover {
	background-color : #4e96bc; }

.content .sidebar {
	width: 100%;
	max-width: 500px;
	position: relative;
	left: 0;
	transition: 1s left, 1s max-width;
	margin: 21px auto; }

.content .sidebar iframe,
.content .widget iframe { max-height: unset !important; }

/* Nudity Overlay Censor */

.nudity-overlay {
	background: #f4f4f4;
	display: inline-block;
	position: relative; }

.nudity-overlay img {
	position: relative;
	z-index: -1; }

.nudity-overlay:after {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	background-color: #f9f9f9;
	content: ' '; }

.nudity-overlay-text {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 10px 5%;
	font-size: 1.1em;
	line-height: 1.3;
	font-style: italic;
	text-align: center;
	color: #831d48; }

.nudity-overlay-text strong {
	display: block;
	margin-top: 20px;
	margin-bottom: 10px;
	font-weight: normal;
	font-style: italic; }

/* 5 - Footer */

.footer {
	overflow: hidden;
	text-align: center;
	width: 100%;
	background: #fff;
	z-index: 1;
	position: relative; }

.footer .footer-inner { margin : 24px auto 45px auto; }

.footer .location-info .business-name a {
	background      : url('../img/logo.svg') no-repeat;
	background-size : 100%;
	display         : block;
	height          : 70px;
	margin          : 0 auto 38px;
	max-width       : 371px;
	width           : 100%; }

.footer .location-info .phone {
	color           : #336db5;
	display         : block;
	font-size       : 8.69565vw;
	line-height     : 120%;
	margin-bottom   : 22px;
	text-align      : center;
	text-decoration : none; }

.footer .location-info .address {
	margin      : 0 auto 30px;
	text-align  : center; }

.footer .location-info .address a {
	max-width   : 330px;
	margin: 0 auto;
	text-decoration: none;
	color       : #524a43;
	font-size   : 6.7635vw;
	font-style  : normal;
	line-height : 120%; }

.footer .location-info .address span {
	clear   : both;
	display : none; }

.footer .footer-nav {
	margin-bottom : 33px; }

.footer .footer-nav ul,
.footer .footer-nav-social ul,
.footer .footer-nav-legal ul,
.footer .footer-nav-societies ul {
	margin  : 0;
	padding : 0; }

.footer .footer-nav li,
.footer .footer-nav-social li,
.footer .footer-nav-legal li {
	display    : inline-block;
	list-style : none;
	margin     : 0;
	padding    : 0;
	position   : relative; }

.footer .footer-nav li:first-of-type {
	margin-right : 21px; }

.footer .footer-nav li:before {
	color     : #524a43;
	content   : '\00BB';
	font-size : 20px;
	position  : relative;
	right     : 5px; }

.footer .footer-nav a {
	color           : #831d48;
	font-size       : 20px;
	line-height     : 120%;
	text-align      : right;
	text-decoration : none; }

.footer .footer-nav a:hover { text-decoration : underline; }

.footer .footer-nav-social { margin-bottom : 34px; }

.footer .footer-nav-social a:before {
	border-radius : 7px;
	color         : #807a75;
	font-size     : 35px;
	height        : 33px;
	margin        : 0;
	overflow      : hidden; }

.footer .footer-nav-social a:hover:before {
	color : #336db5; }

.footer .footer-nav-societies { margin-bottom : 38px; }

.footer .footer-nav-societies li {
	display    : inline-block;
	list-style : none;
	margin     : 0 0 0 calc((100% - 282px) / 2);
	padding    : 0;
	position   : relative; }

.footer .footer-nav-societies li:first-of-type { margin-left : 0; }

.footer .footer-nav-societies .asps {
	background      : url('../img/ASPS-logo.svg') no-repeat;
	background-size : 100%;
	display         : block;
	height          : 76px;
	width           : 81px; }

.footer .footer-nav-societies .isaps {
	background      : url('../img/ISAPS-logo.png') no-repeat;
	background-size : 100%;
	display         : block;
	height          : 84px;
	width           : 103px; }

.footer .footer-nav-societies .asaps {
	background      : url('../img/ASAPS-logo.svg') no-repeat;
	background-size : 100%;
	display         : block;
	height          : 76px;
	width           : 90px; }

.footer .footer-nav-legal li:nth-of-type(2) {
	margin-left : 20px; }

.footer .footer-nav-legal li:nth-of-type(2):before {
	content  : '\00B7';
	left     : -14px;
	position : absolute; }

.footer .footer-nav-legal a {
	color                : #524a43;
	font-family          : 'ProximaNovaMedium', Arial, sans-serif;
	font-size            : 12px;
	font-weight          : 500;
	letter-spacing       : 0.02em;
	line-height          : 150%;
	text-decoration-line : underline;
	text-transform       : uppercase; }

.footer .footer-nav-legal a:hover { color : #831d48; }

.footer small.copyright,
.footer small.disclaimer {
	color          : #524a43;
	display        : block;
	font-size      : 12px;
	letter-spacing : 0.02em;
	line-height    : 150%;
	margin-bottom  : 34px;
	text-align     : center; }

.footer small.disclaimer br { display : none; }

/* 5.1 - Footer Feature */

.footer-feature {
	clear:both;
	background-color : #ffffff; }

.footer-feature .inner {
	color  : #ffffff;
	margin : 1em auto; }

