@import "https://fonts.googleapis.com/css?family=Roboto";

body {
	background-color:#FFF;
	color:#262626;
	margin:0;
	padding:0;
	font-weight:400;
	font-size:15px;
	font-family:'Roboto',sans-serif;
	-webkit-font-smoothing:antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale; /* Fix Firefox Font Weight Issue */

}

#pre_header {
	display: table;
	position:fixed;
	width:100%;
	top:0;
	left:0;
	z-index:101;
	height:40px;
	background-color: #572A91;	
}

#pre_header div {
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	overflow:hidden;
	font-size: 1em;
	font-weight: normal;
	color:white;
}

/*
@media screen and (max-width: 960px) {
	#pre_header span {
		display: none;
	}
}
*/

#pre_header div a.pre_header_button {
	margin: 3px 20px;
	background-color:#572A91;
	color:#FFF;
	font-size: .8em;
	line-height: .8em;
	width:auto;
	overflow:hidden;
	padding:3px 12px;
	text-transform: uppercase;
	text-decoration:none;
	cursor:pointer;
	white-space:nowrap;
	border: #FFF solid thin;
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}

#pre_header div a.pre_header_button:hover {
	background-color:#FFF;
	text-decoration:none;
	color:#572A91;
}

header {
	display:block;
	position:fixed;
	width:100%;	
	top:0;
	left:0;
	right:0;
	z-index:100;
	height:125px;
	background-color: #FFF;
	border-bottom:rgba(175, 175, 175, 0.25) solid thin;
	transition:all .4s ease;
	margin:40px auto 0;
}

header div.header_content {
	max-width: 1280px;
	margin: 0 auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
}

.envelope_container {
	position:relative;
	margin:0;
	padding:0;
	text-align:center;
}

.envelope_container img {
	-moz-filter:none;
	-ms-filter:none;
	-o-filter:none;
	filter:none;
}

.envelope_container:hover img {
	-moz-filter:grayscale(1);
	-ms-filter:grayscale(1);
	-o-filter:grayscale(1);
	filter:grayscale(1);
}

.envelope_container:before {
	content:"";
	background:inherit;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	-webkit-filter:blur(35px);
/* Safari 6.0 - 9.0 */
	filter:saturate(180%) blur(20px) grayscale(100%);
	overflow:hidden;
	-moz-overflow:hidden;
}

.envelope_container img {
	-webkit-filter:blur(0);
	filter:blur(0);
}

.envelope_image {
	display:block;
	width:100%;
	height:auto;
}

.overlay {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	overflow:hidden;
	width:100%;
	height:100%;
	-webkit-transform:scale(0);
	-ms-transform:scale(0);
	transform:scale(0);
	-webkit-transition:.3s ease;
	transition:.3s ease;
}

.envelope_container:hover .overlay {
	-webkit-transform:scale(1);
	-ms-transform:scale(1);
	transform:scale(1);
}

.envelope {
	color:#fff;
	font-size:20px;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	-ms-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	text-align:center;
}

img.grayscale {
	-moz-filter:none;
	-ms-filter:none;
	-o-filter:none;
	filter:none;
}

img.grayscale:hover {
	-moz-filter:grayscale(1);
	-ms-filter:grayscale(1);
	-o-filter:grayscale(1);
	filter:grayscale(1);
}

#contact {
	position:absolute;
	top:70px;
	right:25px;
	margin:0;
	opacity:100;
	transition:all .4s ease;
	text-align:right;
	white-space:nowrap;
	z-index:999999;
}

#contact span {
	font-size:24px;
	transition:font-size .4s ease;
}

#contact a.button {
	font-size:15px;
}

#mobile_phone {
	display:block;
	position:absolute;
	top:7px;
	right:25px;
	margin:0;
	transition:all .4s ease;
	z-index: 125;
	text-align: center
}

#mobile_phone a {
	text-decoration:none;
	color: #572A91;
	font-size:1.7em;
}

#mobile_phone a:hover {
	text-decoration:none;
	color: #DA251D;
}

div.logo {
	position: absolute;
	top:10px;
	left:40px;
	text-align:left;
	z-index:105;
	transition:all .4s ease;
}

div.logo img {
	width: 160px;
	height: auto;
}

/*
body.scroll header div.logo {
	top:12px;
}
*/
div.logo {
	font-size:60px;
	font-weight:100;
	line-height:1em;
}

div.logo a,div.logo a:visited {
	text-decoration:none;
	color:#572A91;
}

div.logo a span,div.logo a:visited span {
	text-decoration:none;
	color:#909090;
}

/*
body.scroll div.logo {
	font-size: 40px;
	margin: 0;
}
*/
#pagecell {
	position:relative;
	margin:auto;
	background-color: #FFF;
/*
	background-image:linear-gradient(45deg, rgba(175, 175, 175, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(175, 175, 175, 0.25) 75%), linear-gradient(45deg, transparent 75%, rgba(175, 175, 175, 0.25) 75%),linear-gradient(45deg, rgba(175, 175, 175, 0.25) 25%, transparent 25%);
	background-size:24px 24px;
    background-position:0 0, 0 0, -12px -12px, 12px 12px;
*/
}

#content_container {
	width:100%;
	max-width:1080px;
	margin:165px auto 0;
	min-height:400px;
	background-color: #FFF
}

body.home #content_container {
	margin-top:0!important;
	min-height:auto!important;
}


#content_container.no_top_margin {
	margin-top:0;
}

.content_sidebar_fix {
	margin-right:10px;
}

#content {
	text-align:left;
	min-height:425px;
	height:auto!important;
	padding:25px;
	letter-spacing:normal;
	white-space:normal;
	font-size:16px;
}

body.home #content {
	min-height:auto!important;
	padding:0 25px;
}

p {
	line-height:1.5em;
	padding:5px 0;
}

a {
	outline:none;
}

a:link,a:visited {
	color:#572A91;
}

a:visited {
	color:#572A91;
}

a:hover {
	color:#DA251D;
	text-decoration:underline;
}

#content ol {
	padding:0;
	list-style-type:decimal;
}

#content ol li ol {
	padding:0;
	list-style-type:upper-alpha;
}

#content ol li ol li ol {
	padding:0;
	list-style-type:lower-alpha;
}

#content ol li ol li ol li ol {
	padding:0;
	list-style-type:upper-roman;
}

#content ol li {
	margin-left:1.5em;
}

#content ul {
	list-style: none;
	padding:0;
	margin-left:5px;
}

#content ul li {
	padding-left:0;
}

#content ul li:before {
	content:"\2022";
	font-family: Arial;
	display:inline-block;
	margin-left:0;
	width:1em;
	font-weight: bold;
	color:#DA251D;
}

li .inline_list_left {
	float:left;
	width:5em;
}

li .inline_list_right {
	float:right;
	width:5em;
}

section.gray {
	background:#F1F1F2;
	padding: 35px;
	margin: 0;
}

body.mobile	table:not(.no_resize) {
	width:100%!important;
	height:auto!important;
	overflow:hidden;
	border-collapse:collapse;
}

body.mobile	table:not(.no_resize) th,body.mobile table:not(.no_resize) td {
	padding:10px;
}

body.mobile	table:not(.no_resize) td {
	display:block;
	width:100%!important;
	height:auto!important;
	overflow:hidden;
	text-align:center!important;
}

body.mobile	table:not(.no_resize) td p,body.mobile table:not(.no_resize) td div,body.mobile table:not(.no_resize) td ul li {
	text-align:center;
}

body.mobile	table:not(.no_resize) td img {
	max-width:100%!important;
	height:auto!important;
	margin-left:0!important;
	margin-right:0!important;
	margin:auto;
}

#content_container img,footer img,.footer_hands img {
	max-width:100%;
	height:auto!important;
}

/* Convert floated images to blocks in mobile view */
body.mobile #content img {
	float:none!important;
	margin:0 auto!important;
	margin-right:0;
	margin-left:0;
	padding-bottom:10px;
	display:block;
}

hr {
	border:none;
	border-top:1px #DA251D solid;
	padding:10px 0;
	margin:10px 0;
}

h1,h2,h3,h4,h5,h6 {
	color: #DA251D;
	font-weight:400;
	text-align:left;
}

h1 {
	color:#572A91;
	font-size:32px;
	text-decoration:underline;
	text-decoration-color: #572A91;
	text-decoration-style: solid;
	text-align:center;
}

h2 {
	font-size:28px;
	font-weight:400;
}

h3 {
	margin:10px auto;
	font-size:24px;
	font-weight:400;
}

h4 {
	margin:10px 0 15px;
	font-size:18px;
	font-weight:400;
}

h5,h6 {
	margin:10px 0 15px;
	font-size:16px;
	font-weight:400;
}

blockquote {
	font-size:1em;
	margin:10px 30px;
	padding:10px 40px;
	line-height:1.45;
	position:relative;
	text-align:center;
}

blockquote:before {
	display:block;
	content:"\201C";
	font-family: Times;
	font-size:4em;
	position:absolute;
	left:0px;
	top:-20px;
	color:#DA251D;
}

blockquote:after {
	display:block;
	content:"\201D";
	font-family: Times;
	font-size:4em;
	position:absolute;
	right:0px;
	top:-20px;
	color:#DA251D;
}

body.mobile blockquote:before,body.mobile blockquote:after {
	font-size:4em;
}

section.testimonials {
	background-image: url('../images/testimonials-background.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	color: black;
	padding: 10% 20%;
}

body.mobile section.testimonials {
	padding: 5%;
}

.testimonial_container {
	background-color: rgba(255, 255, 255, 0.80);
	padding: 25px;
}

.testimonials_title {
	text-align: center;
	font-size: 2em;
}

.author {
	text-align: center;
}



.circle {
	display:inline-block;
	border-radius:50%;
	background-color:#403B85;
	color:#FFF;
	font-size:18px;
	font-weight:700;
	height:35px;
	width:35px;
	padding:5px;
	text-align: center
}

a.button {
	background-color:#572A91;
	color:#FFF;
	width:auto;
	font-size:20px;
	line-height:1em;
	overflow:hidden;
	padding:6px 12px;
	text-decoration:none;
	cursor:pointer;
	letter-spacing:1px;
	box-shadow:0 0 1px #729EC7;
	white-space:nowrap;
	border:#572A91 solid thin;
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}

a.button:hover {
	background-color:#FFF;
	text-decoration:none;
	border:#572A91 solid thin;
	color:#572A91;
}

.external-icon {
	vertical-align:baseline;
	font-size:60%!important;
	padding:3px;
	vertical-align:super;
}

a.external {
	white-space:nowrap;
}

a.phone {
	text-decoration:none;
}

iframe {
	max-width:100%;
}

.responsive-iframe {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

.responsive-iframe iframe,.responsive-iframe object,.responsive-iframe embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

#mobile_nav {
	display:none;
}

/* navbar */
#mobile_nav {
	display:none;
}

body.mobile-menu #mobile_nav,body.touch #mobile_nav {
	display:block;
}

body.desktop #cssmenu,body.desktop #mobile_nav {
	display:none!important;
}

nav {
	float:right;
	position:relative;
	padding:0;
	margin-top:105px;
	margin-right:220px;
	width:auto;
	text-align:center;
	z-index:110;
}

/*
body.scroll nav {
	margin-top:10px;
}
*/
nav.right > ul {
	float:right;
	padding-left:0;
}

nav ul {
	list-style:none;
	margin:0;
	padding:0;
}

nav ul li {
	text-align:left;
}

nav ul li:hover > ul {
	opacity:1;
	margin-top:0;
	visibility:visible;
	transition:opacity .3s ease-in;
}

nav ul li.last:hover > ul {
	right:0;
}

nav ul li a {
	display:inline-block;
	color:#909090;
	font-size:16px!important;
	font-weight:500;
	text-decoration:none;
	width:auto;
	padding-bottom:14px;
	position:relative;
	line-height:21px;
	text-transform: capitalize;
}


nav ul li a span {
	padding:0 16px;
	white-space:nowrap;
}

nav ul li.last a span {
	border-right:none;
}

nav > ul > li.last > a {
	border-right:none;
/* 	color:#572A91 !important; */
}

/*
nav > ul > li.last.nav_active > a {
	color:rgba(185, 220, 218, 0.80) !important;
}

nav > ul > li.last > a:hover {
	color:rgba(185, 220, 218, 0.80) !important;
}
*/
nav ul li a:link,nav ul li a:visited {
	color:#572A91;
}

nav ul > li > a:hover,nav ul > li.nav_active > a:link,nav ul > li.nav_active > a:visited,nav ul > li.nav_active > a:active,nav ul > li.nav_active > a:hover {
	color:#DA251D;
	text-decoration:none;
}

nav a[aria-haspopup="true"]::after {
	content:'';
	display:block;
	width:0;
	height:0;
	position:absolute;
	top:18px;
	right:10px;
	border-top:4px solid transparent;
	border-bottom:4px solid transparent;
	border-left:4px solid red;
}

nav > ul > li > a[aria-haspopup="true"]::after {
	border-left:8px solid transparent;
	border-right:8px solid transparent;
	border-top:8px solid #DA251D;
	left:auto;
	right:-5px;
	bottom:auto;
	top:7px;
}



nav ul ul {
	position:absolute;
	top:20px;
	background-color:#fff;
	display:block;
	overflow:hidden;
	padding-bottom:7px;
	border-top:3px solid #572A91;
	box-shadow:0 3px 5px rgba(0,0,0,0.2);
	opacity:0;
	visibility:hidden;
	margin-top:35px;
	min-width:175px;
}

nav ul ul li {
	position:relative;
	padding-bottom:0;
}

nav ul ul ul {
	left:100%;
	top:0;
}

/* nav top-level */
nav > ul {
	padding-left:200px;
}

nav > ul > li {
	float:left;
}

nav.right > ul {
	float:right;
}

nav.centered {
	float:none;
	margin-right: 0 !important;
}

nav.centered > ul {
	padding:0;
}

nav.centered > ul > li {
	float:none;
	display:inline-block;
	white-space:nowrap;
}

nav ul > li > ul > li > a {
	width:auto;
	padding:7px 14px;
	white-space:nowrap;
}

nav ul > li:hover > a:link,nav ul > li:hover > a:visited {
	color:#DA251D;
}

#mobile_nav {
	position:absolute;
	top:50px;
	right:20px;
	margin:0;
	width:60px;
	height:50px;
	text-align:center;
	padding:0;
	z-index:500;
	transition:all .4s ease;
}

#mobile_nav a {
	text-decoration:none;
	line-height:normal;
}

.mobile-nav-toggle {
	position:absolute;
	width:30px;
	height:30px;
	top:15px;
	right:20px;
	vertical-align:middle;
	cursor:pointer;
	color:#FFF;
	padding:0;
	display:inline-block;
	z-index:1002;
	transition:top .4s ease;
}

.top-bar {
	width:40px;
	height:4px;
	background-color:#572A91;
	position:absolute;
	top:0;
	transition:transform .1s .1s ease-in-out;
	-webkit-transition:transform .1s .1s ease-in-out;
	-moz-transition:transform .2s .2s ease-in-out;
	-o-transition:transform .1s .1s ease-in-out;
}

.middle-bar {
	width:40px;
	height:4px;
	background-color:#572A91;
	position:absolute;
	top:10px;
	transition:opacity 0 .1s linear;
	-webkit-transition:opacity 0 .1s linear;
	-moz-transition:opacity 0 .1s linear;
	-o-transition:opacity 0 .1s linear;
}

.bottom-bar {
	width:40px;
	height:4px;
	background-color:#572A91;
	position:absolute;
	top:20px;
	transition:transform .1s .1s ease-in-out;
	-webkit-transition:transform .1s .1s ease-in-out;
	-moz-transition:transform .1s .1s ease-in-out;
	-o-transition:transform .1s .1s ease-in-out;
}

div.mobile-nav-toggle.open .top-bar {
	transform:rotate(45deg);
	-webkit-transition:rotate(45deg);
	-moz-transition:rotate(45deg);
	-o-transition:rotate(45deg);
	top:7px;
}

div.mobile-nav-toggle.open .middle-bar {
	opacity:0;
}

div.mobile-nav-toggle.open .bottom-bar {
	transform:rotate(-45deg);
	-webkit-transition:rotate(-45deg);
	-moz-transition:rotate(-45deg);
	-o-transition:rotate(-45deg);
	top:7px;
}

#cssmenu,#cssmenu ul,#cssmenu li,#cssmenu a {
	margin:auto;
	padding:0;
	border:0;
	list-style:none;
	font-weight:400;
	text-decoration:none;
	line-height:1em;
	font-size:18px;
	position:relative;
	text-align:left;
}

#cssmenu {
	width:100%;
	margin:auto;
	z-index:99999;
	position:fixed;
	background-color:rgba(0,0,0,0.75);
}

#cssmenu {
	top:165px;
}

/*
body.scroll #cssmenu {
	top:105px;
	transition:all .4s ease;
}
*/
#cssmenu a {
	line-height:normal;
}

#cssmenu > ul > li {
}

#cssmenu > ul > li > a {
	display:block;
	line-height:20px;
	color:#FFF;
}

#cssmenu > ul > li.active > a {
	color:#bcbcbc;
}

#cssmenu > ul > li > a > span,#cssmenu > ul > li > ul > li > a > span {
	display:block;
	padding:8px 20px;
}

#cssmenu a:hover {
	text-decoration:none;
	color:#DA251D!important;
}

#cssmenu > ul > li.active,#cssmenu > ul > li.active > ul > li {
	border:none;
	color:#DA251D!important;
}

#cssmenu > ul > li.has-sub > a i.nav_plus,#cssmenu > ul > li > ul > li.has-sub > a i.nav_plus {
	float:right;
	display:inline-block;
}

#cssmenu > ul > li.has-sub > a i.nav_minus,#cssmenu > ul > li > ul > li.has-sub > a i.nav_minus {
	float:right;
	display:none;
}

#cssmenu > ul > li.has-sub.active > a i.nav_plus,#cssmenu > ul > li > ul > li.has-sub.active > a i.nav_plus {
	display:none;
}

#cssmenu > ul > li.has-sub.active > a i.nav_minus,#cssmenu > ul > li > ul > li.has-sub.active > a i.nav_minus {
	display:inline-block;
}

#cssmenu ul ul {
	display:none;
}

#cssmenu ul ul a {
	padding:5px 0 5px 25px;
	display:block;
	color:#bcbcbc;
	font-size:16px;
	font-weight:400;
}

#cssmenu ul ul a span {
	padding:0 0 0 15px;
}

#cssmenu ul ul ul a {
	padding:5px 0 5px 60px;
	display:block;
	color:#bcbcbc;
	font-size:16px;
	font-weight:400;
	line-height:20px;
}

#cssmenu ul ul ul a:before {
	left:90px;
}

#cssmenu ul ul a.nav_active {
	color:#DA251D!important;
}

#cssmenu ul ul a.nav_active span {
	color:#DA251D!important;
}

#cssmenu a.nav_link.nav_active {
	color:#DA251D!important;
}

footer {
	background-color:#FFF;
	color:#909090;
	padding:30px;
	text-align:center;
}

footer section.footer_additional {
	max-width:1080px;
	margin: 0 auto;
	padding:30px;
	text-align:center;
}

footer section.footer_additional h3 {
	text-align: left
}

body.mobile footer section.footer_additional h3 {
	text-align: center
}

footer section.footer_additional ul {
	list-style: none;
	padding:0;
	margin-left:5px;
	text-align: left
}

footer section.footer_additional ul li {
	padding-left:0;
}

footer section.footer_additional ul li:before {
	content:"\2022";
	font-family: Arial;
	display:inline-block;
	margin-left:0;
	width:1em;
	font-weight: bold;
	color:#DA251D;
}

#copyright {
	font-size:.8em;
}

footer a:link,footer a:visited {
	text-decoration:none;
	color:#909090;
}

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

#social-footer {
	text-align:center;
	font-size:2em;
	padding:10px;
}

#social-footer a {
	padding:2px 10px;
}

#social-footer a:hover {
	color:#afafaf;
}

#back-top-wrapper div a {
	width:40px;
	height:40px;
	opacity:1;
}

#back-top {
	display:none;
}

#back-top-wrapper {
	position:fixed;
	right:20px;
	bottom:20px;
	overflow:hidden;
	z-index:10000;
}

#back-top span {
	display:block;
	width:40px;
	height:45px;
	-webkit-transition:1s;
	-moz-transition:1s;
	-o-transition:1s;
	transition:1s;
	color:#FFF;
	font-size:40px;
	opacity:.5;
}

#back-top span:hover {
	color:#afafaf;
	opacity:1;
}


@media screen and (max-width: 960px) {
	#footer-top {
		font-size:1.2em;
	}
	
	#content_container {
		max-width:100%;
	}
	
	#contact {
		right:0;
		left:0;
		top:115px;
		text-align:center;
	}
	
	#phone {
		display:none;
	}
	
	#mobile_phone {
		display:block;
	}
	
	#mobile_nav {
		display:block;
	}
	
	nav {
		display:none;
	}
	
	
}

@media screen and (max-width: 600px) {
	body {
		font-size:14px;
	}
	
	#footer-top {
		font-size:1em;
	}
	
	div.logo {
		font-size:30px;
	}
}

@media screen and (max-width: 481px) {
	div.logo {
		font-size:25px;
		text-align:center;
		display:block;
		margin-top:5px;
		top: 0px;
		left: 0;
		right: 0;
	}
	
	div.logo img {
		width: 100px;
	}

	#mobile_phone {
		right:0;
		left:0;
		top:70px;
		text-align:center;
	}
	
	#mobile_nav {
		top: 10px
	}

	#contact {
		display: none;
	}
}

@media screen and (max-width: 325px) {
	
	
	div.logo {
		font-size:20px;
	}
}
