@charset "utf-8";/* CSS Document */
/* © Copyright 2020 Pro Dental Designs. All Rights Reserved.*/
/* Permalink - Advertising and Marketing for Dental industries https://prodentaldesigns.com */
body, html {max-width:2000px;margin:0px auto;padding:0px;line-height:1.5em;font-size:1em;font-family: 'Open Sans', sans-serif;color:#343434;background-color:transparent !important;}
h1 {font-size: clamp(1.3em, 1.7vw, 2.2em);font-family: 'Raleway', sans-serif;font-weight:400;line-height:normal;text-transform:uppercase;color:#000000;}
h2 {font-size: clamp(1.2em, 1.7vw, 2em);font-family: 'Raleway', sans-serif;font-weight:400;line-height:normal;text-transform:capitalize;color:#000000;}
h3 {font-size: clamp(1.1em, 1.7vw, 1.8em);font-family: 'Raleway', sans-serif;font-weight:400;line-height:normal;text-transform:capitalize;color:#000000;}
h4 {font-size: clamp(1em, 1.7vw, 1.4em);font-family: 'Raleway', sans-serif;font-weight:400;line-height:normal;color:#000000;margin:4px auto 0px auto;}
h5 {font-size: clamp(0.8em, 1.7vw, 0.9em);font-family: 'Raleway', sans-serif;font-weight:400;line-height:normal;}
h6 {font-size: clamp(0.7em, 1.7vw, 0.8em);font-family: 'Raleway', sans-serif;font-weight:400;line-height:normal;}
h1 span, h2 span, h3 span, h4 span {font-size: clamp(0.7em, 1.7vw, 0.8em);color:#5C5C5C;}

a {transition: all 0.2s ease-in-out;}
a {color:#9d0b0e;}
a:hover {text-decoration:none;}
hr {margin-top:40px;width:60%;border-bottom:none;border-top:solid 1px #086a91;}
img {max-width:100%;height:auto;border:none;}
img a {text-decoration:none;}

.clearFix {clear:both;max-height:0px;width:100%;}

/*ADA key-board accessible*/
a:focus img {}
a:focus {text-decoration:underline !important; color:#888888;}
a:focus span {color:#1e376d;}
a.skipcontent {padding:8px 15px;color:#FFFFFF;background-color:#e5e5e5;border:solid 1px #FFFFFF;position:absolute;left:-9999px;top:25px;z-index:200;}
a.skipcontent:focus {position:absolute; left:25px; top:50px;}

#plustext, #minustext, #resettext {display:none;/*display:inline-block;*/}
#plustext, #minustext, #resettext {margin:10px 0;padding:8px;background-color:#000000;color:#FFFFFF;}
#normal {display:none;/*display:block;*/background-color:#ffffff;background-image:url(../images/handicap-symbol-hover.png);}
#handicap {/*display:none;*/display:block;background-color:#0c2048;background-image:url(../images/handicap-symbol.png);}
#handicap, #normal {width:38px;height:38px;margin-top:10px;border:solid 2px #FFFFFF;background-repeat:no-repeat;background-size:100% auto;position:absolute;top:4px;right:0px; z-index:200;}
#normal:hover, #normal:focus {background-color:#0c2048;border:solid 1px #ffffff;background-image:url(../images/handicap-symbol.png);}
#handicap:hover, #handicap:focus  {background-color:#FFFFFF;border:solid 1px #0c2048;background-image:url(../images/handicap-symbol-hover.png);}
@media only screen and (max-width:768px) {#handicap, #normal {display:none;}}

/*Accordion**/
.accordionWrapper {width:100%;display:block;margin:20px auto;}
.accordionItem {width:100%;display:block;margin:0px 0px 10px 0px;box-sizing: border-box;}
.accordionHeader {width: 100%;padding: 18px;background-color: #eee;color: #444;text-align: left;cursor: pointer;box-sizing: border-box;/*overrider button border styling*/font-size:1em;border:none;
-webkit-transition: all 0.2s ease-out;
-moz-transition: all 0.2s ease-out;
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;}
.accordionContent {height:auto;max-height:2000px;padding:18px;overflow:hidden;background-color:#FFFFFF;
-webkit-transition: all 0.8s ease-out;
-moz-transition: all 0.8s ease-out;
-o-transition: all 0.8s ease-out;
transition: all 0.8s ease-out;}
.open .accordionHeader {background-color: #ccc;}
.close .accordionContent {max-height:0;padding:0 18px;}
.open .accordionHeader:after {width:20px;content: "-";float: right;font-size: 13px;}
.close .accordionHeader:after {width:20px;content: "+";float: right;font-size: 13px;}
.ineditmode .close .accordionContent {max-height:2000px;}
.ineditmode .accordionHeader {cursor:none;}
li.accordionItem {width:auto;margin:0;}
ul.accordionContent {}
.close .accordionContent {padding:0;}

/***************************Page Theme**************************/
/***************************************************************/
.container {width:90%;max-width:1366px;margin:0 auto;padding:0;position:relative;box-sizing:border-box;}
.marginBoth {margin-top:100px !important;margin-bottom:100px !important;}
.marginTop {margin-top:50px !important;}
.marginBottom {margin-bottom:50px !important;}
.paddingBoth {padding-top:100px !important;padding-bottom:100px !important;}
.paddingTop {padding-top:50px !important;}
.paddingBottom {padding-bottom:50px !important;}

.lightcolorbg::before, .darkcolorbg::before {width:100vw;height:100%;content:'';position:absolute;top:0;left:50%;z-index:-1;transform:translate(-50%, 0);}

.lightcolorbg {position:relative;}
.lightcolorbg::before {background-color:#efefef;}
.lightcolorbg a {color:#82704c;}

.darkcolorbg {color:#FFFFFF;position:relative;}
.darkcolorbg h1, .darkcolorbg h2, .darkcolorbg h3, .darkcolorbg h4, .darkcolorbg h5, .darkcolorbg h6 {color:#FFFFFF;}
.darkcolorbg::before {background-color:#000000;}
.darkcolorbg a {color:#FFFFFF;text-decoration:none;}
.darkcolorbg h1, .darkcolorbg h2, .darkcolorbg h3, .darkcolorbg h4, .darkcolorbg h5, .darkcolorbg h6 {color:#FFFFFF;}

.content.right.lightcolorbg::before, .content.right.darkcolorbg::before, .content.left.lightcolorbg::before, .content.left.darkcolorbg::before {width:70vw;top:0;left:0;z-index:-1;
	-webkit-transform:translate(0, 0);
	transform:translate(0, 0);}
.content.rightsidebar.lightcolorbg::before, .content.rightsidebar.darkcolorbg::before, .content.leftsidebar.lightcolorbg::before, .content.leftsidebar.darkcolorbg::before {width:40vw;top:0;left:0;z-index:-1;
	-webkit-transform:translate(0, 0);
	transform:translate(0, 0);}

.backgroundImage {position:relative;background-repeat:no-repeat;color:#ffffff;}
.backgroundImage::before {background-repeat:no-repeat;background-position:center top;background-size:cover;}
.backgroundImage::after {background-color:rgba(0,0,0,0.50);}
.backgroundImage::after, .backgroundImage::before {width:100vw;height:100%;display:block;content: '';position:absolute;top:0;left:50%;z-index:-1;transform:translate(-50%, 0);}
.backgroundImage h1, .backgroundImage h2, .backgroundImage h3, .backgroundImage h4, .backgroundImage h5, .backgroundImage h6 {color:#fff;}
.backgroundImage blockquote {padding:20px !important;color:#000;background-color:#fff;border-radius: 20px;}
.backgroundImage blockquote h1, .backgroundImage blockquote h2, .backgroundImage blockquote h3, .backgroundImage blockquote h4, .backgroundImage blockquote h5, .backgroundImage blockquote h6 {color:#000;}
.content.rightsidebar.backgroundImage::before, .content.right.backgroundImage::before, .content.rightsidebar.backgroundImage::after, .content.right.backgroundImage::after {width:40vw;left:0;transform: translate(0, 0);}
.content.leftsidebar.backgroundImage::before, .content.left.backgroundImage::before, .content.leftsidebar.backgroundImage::after, .content.left.backgroundImage::after {width:70vw;left:auto;right:0;transform: translate(0, 0);}

.parallax {padding:175px 0px;position:relative;}
.parallax::before {background-repeat:no-repeat;background-position:center top;background-size:cover;background-attachment:fixed;}
.parallax::after {background-color:transparent;}
.parallax::after, .parallax::before {width:100vw;height:100%;display:block;content: '';position:absolute;top:0;left:0;z-index:-1;}
.parallax h1, .parallax h2, .parallax h3, .parallax h4, .parallax h5, .parallax h6, .parallax a {}
.parallax blockquote {padding:20px !important;color:#000;background-color:#fff;border-radius: 20px;position:relative;z-index:100;}
.content.rightsidebar.parallax::before, .content.leftsidebar.parallax::before  {width:40vw;}
.content.right.parallax::before, .content.left.parallax::before {width:75vw;}

.parallaxContainer {height: 70vh;position: relative;overflow: hidden;}
.parallaxScrolly {width: 100%;position: absolute;top: 0;left: 0;will-change: top;}
.parallaxScrolly img {width: 100%;min-height: 130%;height: auto;display: block;object-fit: cover;}
.parallaxScrolly-inner {max-width: 600px;padding: 2rem;background: rgba(0, 0, 0, 0.75);color: #fff;position: absolute;top: 50px;left: 5%;z-index: 10;}
.parallaxScrolly-inner h1, .parallaxScrolly-inner p {color: #fff;}
.parallaxContainer.landing .parallaxScrolly-inner {left:auto;right: 5%;}
.cta-button {display: inline-block;padding: 0.75rem 1.5rem;background-color: #ffcc00;color: #000;font-weight: bold;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;}
.cta-button:hover {background-color: #e6b800;}

@media only screen and (max-width:1024px) {
	.container {width:96%;}
	.paddingBoth{padding:25px 0px !important;}
	.marginBoth {margin-top:25px !important;margin-bottom:25px !important;}
	.paddingTop {padding-top:15px !important;} 
	.marginTop {margin-top:15px !important;} 
	.paddingBottom {padding-bottom:15px !important;} 
	.marginBottom {margin-bottom:15px !important;}

	.parallax::before {background-attachment: scroll !important;}}
@media only screen and (max-width:768px) {
	.content.left.darkcolorbg::before, .content.leftsidebar.darkcolorbg::before, .content.right.darkcolorbg::before, .content.rightsidebar.darkcolorbg::before, .content.left.darkcolorbg::before, .content.leftsidebar.lightcolorbg::before, .content.right.lightcolorbg::before, .content.rightsidebar.lightcolorbg::before {width: 100%;}}

/***************************Main Body***************************/
/***************************************************************/
.wrapper {background-color:#FFFFFF;position:relative;z-index:100;overflow-x:hidden;}
.contentContainer {width: 90%;max-width: 1366px;display: flex;margin: 0 auto;flex-wrap: wrap;justify-content: space-between;box-sizing: border-box;clear: both;position: relative;gap: 0;}
.content {padding: 0 30px;box-sizing: border-box;}
.content.left {flex: 0 0 65%;padding-right: 30px;}
.content.right {flex: 0 0 65%;padding-left: 30px;}
.content.leftsidebar {padding-right: 30px;flex: 0 0 35%;}
.content.rightsidebar {padding-left: 30px;flex: 0 0 35%;}
.content.splitEven {padding-right: 20px;flex: 0 0 50%;}
.content.splitEven:last-child {padding-right: 0;padding-left: 20px;}
.content.splitThirds {padding-right: 20px;flex: 0 0 33.3333%;}
.content.splitThirds:last-child {padding-right: 0;padding-left: 20px;}
@media only screen and (max-width:768px) {
	.contentContainer {margin-bottom:10px;} 
	.contentContainer, .content {display:block;} 
	.contentContainer {width:96%;margin:0 auto;} 
	.content.left, .content.right, .content.leftsidebar, .content.rightsidebar, .content.splitEven, .content.splitThrids {width:100%;padding:4px 0px;}}

/***************************Header******************************/
/***************************************************************/
.header {padding: 1rem 0;background-color: #ffffff;border-bottom: 2px solid #000000;position: relative;z-index: 110;}
.header-flex {display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;}
.logo {display: block;}
.logo-text-wrap {display: flex;align-items: center;gap: 0.75rem;}
.logo-text-wrap > div {display: flex;flex-direction: column;padding-top: 30px;}
.logo-img img {max-width: 100px;height: auto;display: block;}
.logo-text {font-family: Arial, sans-serif;font-weight: bold;color: #23408f;font-size: 2em;white-space: nowrap;}
.parallaxScrolly-inner .logo-text {color: #fff;}
.logo .tagline {font-size: 0.9em;margin-top: 0.5rem;color: #333333;}
.header .right {display: flex;flex-direction: column;align-items: flex-end;text-align: right;}
.socials {display: flex;gap: 0.5rem;margin-top: 0.5rem;}
.socials img {width: 18px;height: 18px;display: block;}
@media (max-width: 768px) {
	.header-flex {flex-direction: column;text-align: center;}
	.logo {margin: 0 auto;}
	.logo-text-wrap {flex-direction: column;align-items: center;text-align: center;}
	.logo-text-wrap > div {align-items: center;display: flex;flex-direction: column;padding:0;}
	.logo-text {font-size: 1.5em;white-space: normal;word-break: break-word;}
	.tagline {font-size: 0.9em;margin-top: 0.3em;max-width: 90vw;}
	.logo-img img {max-width: 80px;}
	.right {margin-top: 1rem;}}

/**************************Menus********************************/
/***************************************************************/
#menu-container {}

.sticky {width:100%;position:fixed !important;top: 0;}
.sticky + .parallaxContainer {margin-top: 54px;}/* Height of menu - Add some top padding to the banner to prevent sudden quick movement NEEDS to be next to Menu Container */
@media only screen and (max-width:1024px) {
	.sticky{position:relative !important;} 
	.sticky + .parallaxContainer {margin-top: 0;}
	#menu-container {position:relative;left:0;bottom:auto;text-align:left;}}

/***********Origonal C5 Menu*************/
ul.nav {display:block;margin:0;padding: 12px 0px;list-style:none;box-sizing:border-box;position:relative;z-index:101;}
ul.nav li {display:inline-block;padding:0;margin:0 auto;position:relative;box-sizing:border-box;}
ul.nav li a {display:block;padding:0 10px;box-sizing:border-box;position:relative;z-index:2;}
ul.nav li:hover a, ul.nav li a:focus {}
ul.nav li:hover li a {}
/**second level**/
ul.nav ul {min-width:200px;max-height:0px;padding:10px 0px;background-color:#ffffff;text-align:left;border:solid 1px #f6f4f3;visibility:hidden;overflow:hidden;white-space: nowrap;position:absolute;top:100%;left:0;z-index:1;}
ul.nav ul li {display:block;padding:0;margin:0 10px;text-align:left;}
ul.nav ul a {padding:4px 0px;line-height:normal;white-space: nowrap;}
ul.nav ul li a.nav-dropdown {}
ul.nav ul:hover, ul.nav li.active ul {overflow:visible;}
ul.nav li:hover ul li a, ul.navl ul li a:focus {}
ul.nav ul a:hover, ul.nav ul a:focus {}
/**third level**/
ul.nav ul ul {top:0px;left:100%;}
/**hide & show the sub levels**/
ul.nav li:hover ul {visibility:visible;max-height:600px;}
ul.nav li:hover > ul, ul.nav li.active > ul {display:block;visibility:visible;max-height:600px;}
ul.nav :hover ul ul {visibility:hidden;max-height:0px;overflow:hidden;}
ul.nav :hover ul :hover ul {visibility:visible;max-height:600px;}

/************Menu Top************/
.menuTop {display:block;margin:0;padding: 0px;position:relative;z-index:100;text-transform:uppercase;font-size:1em;}
.menuTop ul {display:block;padding:0;margin:0 auto;list-style:none;box-sizing:border-box;}
.menuTop ul li {display:inline-block;padding:0;margin:0 auto;position:relative;box-sizing:border-box;}
.menuTop ul li a {display:block;padding:0 10px;font-size:1em;line-height:48px;color:#666666;text-decoration:none;text-transform: uppercase;box-sizing:border-box;border:solid 1px transparent;position:relative;z-index:2;}
.menuTop ul li:hover a, .menuTop ul li a:focus {color:#000000;background-color:#ffffff;border-left:solid 1px #e5e5e5;border-right:solid 1px #e5e5e5;border-top:solid 1px #e5e5e5;border-bottom:solid 1px #e5e5e5;}
.menuTop ul li.nav-dropdown:hover a, .menuTop ul li.nav-dropdown:focus a {border-bottom:solid 1px transparent;}
.menuTop ul li:hover li a {color:#666666;}
/**second level**/
.menuTop ul ul {min-width:200px;padding:10px 0px;background-color:#FFFFFF;text-align:left;visibility:hidden;max-height:0px;overflow:hidden;white-space: nowrap;border:solid 1px #e5e5e5;position:absolute;top:49px;left:0;z-index:1;
-webkit-transition: all 0.3s ease-in;
-moz-transition: all 0.3s ease-in;
-o-transition: all 0.3s ease-in;
transition: all 0.3s ease-in;}
.menuTop ul ul li {display:block;padding:0;margin:0px 6px;border-top:none;border-left:none;border-right:none;border-bottom:solid 1px #e5e5e5;text-align:left;float:none;}
.menuTop ul ul a {padding:4px 50px 4px 4px;line-height:normal;white-space: nowrap;text-transform:capitalize;border:none;}
.menuTop ul ul li a.nav-dropdown {background-image: url("../images/menu-flyout-arrow.png");background-repeat:no-repeat;background-position: right 10px center;}
.menuTop ul ul:hover, .menuTop ul li.active ul {overflow:visible;}
.menuTop ul li:hover ul li a, .menuTop ul ul li a:focus {border:none;}
.menuTop ul ul a:hover, .menuTop ul ul a:focus {background-color:#f8f8f8 !important;}
/**third level**/
.menuTop ul ul ul {top:0px;left:100%;}
/**hide & show the sub levels**/
.menuTop ul li:hover ul {visibility:visible;max-height:600px;}
.menuTop ul li:hover > ul, .menuTop ul li.active > ul {display:block;visibility:visible;max-height:600px;}
.menuTop ul :hover ul ul {visibility:hidden;max-height:0px;overflow:hidden;}
.menuTop ul :hover ul :hover ul {visibility:visible;max-height:600px;}

/************Menu Sitemap************/
.menuSitemap {display:block;margin:0;padding: 0px;position:relative;z-index:100;}
.menuSitemap ul {display:block;padding:0;margin:0 auto;list-style:none;box-sizing:border-box;}
.menuSitemap ul li {width:100% !important;display:block;padding:0 !important;margin:0 auto;position:relative;box-sizing:border-box;}
.menuSitemap ul li a {width:100%;display:block;padding:8px 15px 8px 0px;font-size:1em;font-weight:normal;line-height:normal;box-sizing:border-box;border-bottom:solid 1px #d2e2ea; background-image: url("../images/menu-sitemap.png");background-repeat:no-repeat;background-position:right 10px center;}
.menuSitemap ul li:last-child a {border:none;}
.menuSitemap ul li:hover a, .menuSitemap ul li a:focus {}
.menuSitemap ul li:hover ul li a, .menuSitemap ul ul li a:focus {}
/**second level**/
.menuSitemap ul ul {padding-left:10px;font-size: 0.8em;}
.menuSitemap ul ul li a {padding-left:10px;}
.menuSitemap ul ul li:last-child a {border-bottom:solid 1px #d2e2ea;}

/************Mobile Menu************/
.mobile_menu {display:none;margin:0;padding: 0px;text-align:left;position:relative;z-index:100;}
.mobile_menu ul {display:block;padding:0;margin:0 auto;list-style:none;box-sizing:border-box;}
.mobile_menu ul li {display:block;padding:3px 0px;margin:0 auto;position:relative;box-sizing:border-box;}
.mobile_menu ul li a {display:block;padding:0 10px;font-size:1em;font-weight:normal;line-height:normal;color:#00324b;text-decoration:none;box-sizing:border-box;}
/**second level**/
.mobile_menu ul ul {max-height:0px;margin-left:10px;overflow:hidden;white-space: nowrap;text-align:left;visibility:hidden;
-webkit-transition: all 0.3s ease-in;
-moz-transition: all 0.3s ease-in;
-o-transition: all 0.3s ease-in;
transition: all 0.3s ease-in;}
.mobile_menu ul ul li {display:block;padding:0;border:none;text-align:left;float:none;}
.mobile_menu ul ul a {line-height:normal;white-space: nowrap;text-transform:capitalize;}
.mobile_menu ul ul:hover, .mobile_menu ul li.active ul {padding:0 !important;overflow:visible !important;max-height:600px !important;border:none !important;position:relative !important;}
/**third level**/
.mobile_menu ul ul ul {top:0px;left:100%;}
/**hide & show the sub levels**/
.mobile_menu ul li:hover ul {visibility:visible;max-height:600px;}
.mobile_menu ul li:hover > ul, .mobile_menu ul li.active > ul {display:block;visibility:visible;max-height:600px;}
.mobile_menu ul :hover ul ul {visibility:hidden;max-height:0px;overflow:hidden;}
.mobile_menu ul :hover ul :hover ul {padding:0 !important;overflow:visible !important;max-height:600px !important;border:none !important;position:relative !important}

/************Menu Sitemap************/
.menu_Sitemap {}
.menu_Sitemap ul {margin:0 !important;padding:0 !important;}
.menu_Sitemap ul li {padding:0 !important;list-style:none !important;}
.menu_Sitemap ul li a {display:block;padding:8px 0px;border-bottom:solid 1px #ffffff;text-decoration:none;}
.menu_Sitemap ul li:last-child a {border:none;}
/**second level**/
.menu_Sitemap ul ul {padding-left: 20px !important;}

/**next_previous page navigation**/
.next-previous-wrapper {display:block;padding:10px 15px; background-color:#FFFFFF;border:solid 1px #e5e5e5;}
.next-previous-wrapper a {text-decoration:none;}
.next-previous-header a {font-size:0.9em;font-family: 'Open Sans', sans-serif; font-weight:400;line-height:normal;}
.next-previous-header.previous {float:left;}
.next-previous-header.next {float:right;}
.next-previous-header.parent {width:100px;display:block;margin:0 auto;padding:0;text-align:center;}

/**breadcrumbs**/
nav ol.breadcrumb {margin:0;padding:0;list-style-type:none;}
nav ol.breadcrumb li {margin:0;padding:0 10px;display:inline-block;list-style-type:none;vertical-align:top;}
nav ol.breadcrumb li:first-child {padding:0 10px 0 0;}
nav ol.breadcrumb li:before {content:'» ';}
nav ol.breadcrumb li {font-size:0.7em;color:#A6A6A6;}
nav ol.breadcrumb li a {display:inline;color:#A6A6A6;}
nav ol.breadcrumb li a:focus {border:solid 1px #A6A6A6;}

ul.footerMenu {margin:0;padding:0;list-style-type:none;}
ul.footerMenu li {margin:0;padding:0px 0px 50px 0px !important;}
ul.footerMenu li a {color:#767575;text-decoration:none;}
ul.footerMenu li a:hover {text-decoration:underline;}

@media only screen and (max-width:768px) {
	.menuTop {display:none;}
	.mobile_menu {display:block;}}

/*************************Banners*******************************/
/***************************************************************/
.banner {position:relative;}
.banner img {width:100%;height:auto;display:block;position:absolute;top:50%;left:50%;transform: translate(-50%, -50%);}
.bannerInner {width:100%;padding:2% 0;position:absolute;bottom:0;left:0;background-color: rgba(0,0,0,0.75)}
.bannerInner .description {width:90%;max-width:1200px;display:block;margin:0 auto;font-size: clamp(1.1em, 2.5vw, 1.8em);line-height:normal;color:#FFF;text-align:left;font-family: 'Caveat', cursive;}
.bannerInner .description span {padding-left:40px;color:#4c4b4b;font-weight:700;}
.banner p {margin:0px;}

/**************************Buttons******************************/
/***************************************************************/
.customButton {display: inline-block;padding: 0.6rem 1.2rem;margin-bottom: 0.5rem;background-color: #ffcc00;color: #000;font-weight: bold;text-decoration: none;border-radius: 4px;transition: background-color 0.3s ease;}
.customButton:hover {background-color: #e6b800;}
.services-grid {max-width: 1200px;display: grid;padding: 0;margin: 0 auto;grid-template-columns: repeat(4, 1fr);gap: 20px;list-style: none;}
.painted {min-height: 130px;display: flex;padding: 1rem;background-color: #fff;align-items: center;justify-content: center;flex-direction: column;text-align: center;font-weight: bold;font-size: clamp(0.95em, 1.2vw, 1.1em);color: #23408f;overflow: hidden;position: relative;z-index: 1;transition: color 0.3s ease;}
.painted::before {width: 100%;height: 100%;content: '';position: absolute;top: 0;left: 0;background-image:url("../images/paint.png");background-repeat: no-repeat;background-size: 1000% 100%;background-position:0% 0%;z-index: -1;opacity: 0;pointer-events: none;}
.painted:hover {color: #fff;}
.painted:hover::before {animation: paintStroke 1s steps(9) forwards; opacity: 1;}
.title-text {z-index: 2;transition: opacity 0.3s ease;}
.hover-details {display: none;margin-top: 0.5rem;color: #000000;font-weight: normal;font-size: 0.875em;opacity: 0;transform: translateY(10px);transition: opacity 0.4s ease, transform 0.4s ease;pointer-events: none;line-height: 1.4;z-index: 2;}
.painted:hover .hover-details {display:block;opacity: 1;transform: translateY(0);}
.painted:hover .title-text {opacity: 1;}
@keyframes paintStroke {
  from {background-position: 100% 0%;}
  to {background-position: 0% 0%;}}
@media (prefers-reduced-motion: reduce) {
	.painted::before {animation: none !important;}}
@media (max-width: 1024px) {
    .services-grid {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 600px) {
    .services-grid {grid-template-columns: 1fr;}
	.painted {padding: 1.25rem 1rem;min-height: 100px;}}

.carousel-container {width: 100%;max-width: 100%;padding: 0 40px;text-align: center;box-sizing: border-box;overflow: hidden;}
.carousel {width: 100%;overflow: hidden;display: flex;justify-content: center;align-items: center;position: relative;}
.carousel-track-container {width: 100%;overflow: hidden;position: relative;text-align: center;}
ul.carousel-track {width: 100%;display: flex;margin: 0;padding: 0;transition: transform 0.5s ease-in-out;}
ul.carousel-track li {display: flex;padding: 0 20px;flex: 0 0 100%;justify-content: center;align-items: center;position: relative;box-sizing: border-box;opacity: 0.4;transform: scale(0.9);transition: transform 0.4s, opacity 0.4s;}
ul.carousel-track li img {max-width:100%;max-height:100%;width: auto;height: auto;object-fit: contain;border-radius: 10px;box-shadow: 0 0 10px rgba(0,0,0,0.1);}
.carousel-track li.is-active {opacity: 1;transform: scale(1);z-index: 2;}
ul.carousel-track .caption {padding: 5px 12px;background: rgba(0,0,0,0.6);color: #fff;border-radius: 5px;font-size: 14px;position: absolute;bottom: 20%;}
.carousel-btn {width: 40px;height: 40px;background: rgba(0,0,0,0.5);border: none;color: #fff;font-size: 24px;cursor: pointer;z-index: 2;border-radius: 50%;position: absolute;top: 50%;transform: translateY(-50%);}
.carousel-btn.prev {left: 10px;}
.carousel-btn.next {right: 10px;}
.carousel-btn:hover {background: rgba(0,0,0,0.8);}
@media (min-width: 600px) {
  ul.carousel-track li {flex: 0 0 50%;}}
@media (min-width: 960px) {
  ul.carousel-track li {flex: 0 0 33.3333%;}}

ul.column {width:100%;display:table;padding:0;margin:0;}
ul.column li  {display:table-cell;padding:8px 1%;box-sizing:border-box;list-style-type:none;vertical-align:top;position:relative;}
ul.column.colTwo li {width:50%;}
ul.column.colThree {border-spacing:20px 0;text-align:left;}
ul.column.colThree li {width:33.3%;}
ul.column.colFour li {width:25%;padding:8px 15px;} ul.column.colFour ul li {padding:8px 0px;}
ul.column.colFive li {width:20%;}
ul.column.colSix li {width:16.6%;}
ul.column ul {margin:0;padding:0;}
ul.column.colTwo ul li, ul.column.colThree ul li, ul.column.colFour ul li, ul.column.colFive ul li, ul.column.colSix ul li {width:auto;display: list-item;padding: 0;margin: 0 0 0 24px;list-style-type: disc;}
ul ul.column.colTwo li {width:50%;}
ul ul.column.colThree li {width:33.3%;}
ul ul.column.colFour li {width:25%;}
ul ul.column.colFive li {width:20%;}
ul ul.column.colSix li {width:16.6%;}
ul.column img {vertical-align:middle;}

ul.rowTwo, ul.rowThree, ul.rowFour, ul.rowFive, ul.rowSix  {width:100%;display:block;padding:0;margin:0;}
ul.rowTwo li, ul.rowThree li, ul.rowFour li, ul.rowFive li, ul.rowSix li {display:inline-block;padding:8px 1%;box-sizing:border-box;list-style-type:none;vertical-align:top;}
ul.rowTwo li {width:49%;}
ul.rowThree li {width:32%;}
ul.rowFour li {width:24%;}
ul.rowFive li {width:19%;}
ul.rowSix li {width:15%;}
@media only screen and (max-width:768px) {
	ul.column.colThree, ul.column.colFour, ul.column.colFive, ul.column.colSix {width:100%;display:block;text-align:center;} 
	ul.column.colThree li, ul.column.colFour li, ul.column.colFive li, ul.column.colSix li {width:48%;display:inline-block;text-align:left;}}
@media only screen and (max-width:600px) {
	ul.column.colThree li, ul.column.colFour li, ul.column.colFive li, ul.column.colSix li {width:100%;display:block;}}


/**************************Footer*******************************/
/***************************************************************/
.footer {padding:50px 10px 25px 10px;font-size:0.8em;text-align:center;line-height:normal;}
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {margin-top:8px;}
.footerCredit {margin:0 auto;display:table;border-spacing:15px 0px;}
.footerCredit div {display: table-cell;vertical-align:bottom;text-align:left;}
.footerCredit img {width:100px;height:auto;}

/**************************Responsive***************************/
/***************************************************************/
@media only screen and (max-width:1024px) {
	.banner {padding:50px 0px !important;}}
@media only screen and (max-width:960px) {
	.customButton {min-width:0px;}}
@media only screen and (max-width:768px) {
	.header .right, .header .left {margin-top:0;float:none;text-align:center;}
	.header p {margin:10px auto;}}
@media only screen and (max-width:600px) {
	h1 {font-size:1.3em;text-align:center;}
	h2 {font-size:1.25em;text-align:center;}
	h3 {font-size:1.2em;text-align:center;}
	h4 {font-size:1.1em;}}
@media only screen and (max-width:450px) {
	.customButton {min-width:100%;}}

/**************************C5 Forms*****************************/
/***************************************************************/
/**standard form**/
textarea, input, select {font-family: Arial, Helvetica, sans-serif;color:#6c6c6c;}
.ccm-block-express-form fieldset {max-width:900px;margin:0 auto;}
.ccm-block-express-form .form-group, .form-group {width:100%;padding:0;margin:4px 0px;box-sizing:border-box;line-height:normal;}
.ccm-block-express-form .control-label, .control-label {}
  .ccm-block-express-form .text-muted {width:10px;display:block;color:#FF0004;position:relative;float:left;font-size:0rem;}
  .ccm-block-express-form .text-muted::before {content:'*';font-size:14px;position:absolute;left:0px;top:0px;}
  .ccm-block-express-form select.form-control {font-size: 1em;line-height:1.5rem;margin: 0;padding: 2px 1.4em 2px .8em;box-sizing: border-box;background-color: #fff;background-image: url("../images/form-select-arrow.png");background-repeat: no-repeat;background-position: right .7em top 50%, 0 0;background-size:8px auto;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;}
.ccm-block-express-form .form-control, .form-select {width:100%;min-height:2em;margin:4px 0px;font-size:1em;border:solid 1px #8f8f9d;}
.form-select {background-color:transparent;}
.ccm-block-express-form .form-actions button, .form-group .btn {display:inline-block;min-height:1.5rem;padding:2px 50px;margin:0;color:#FFFFFF;font-size:1em;text-decoration:none;box-sizing:border-box;background: #000000;border:solid 1px #FFFFFF;cursor:pointer;}
.ccm-block-express-form .form-actions button:hover, .form-group .btn:hover {color:#000000;background: #FFFFFF;border:solid 1px #000000;}
.ccm-block-express-form .ccm-attribute-address-composer-wrapper {padding:0 0 0 15px;}
.ccm-block-express-form .ccm-system-errors {width:100%;display:block;padding:0 15px;background-color:#FF7E00;color:#FFFFFF;line-height:2.3125rem;}
div.ccm-file-selector {background-color:#83a737 !important;}

/**form box**/
.form_box {padding:30px;margin:0 auto 50px auto;box-sizing:border-box;background-color:#f1f1f1;border:1px solid #ccc;}
.form_box .ccm-form {padding:15px;background-color:#ffffff;
-webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);}
.form_box fieldset {padding:0;margin:0;border:none !important;}
.form_box fieldset fieldset {padding:0; margin:0;}
.form_box .mb-3 {width:100%;display:block;margin:4px auto;color:#58595B;}
.form_box .form-label {min-height:2rem;vertical-align:top}
	.form_box .text-muted {width:10px;}
.form_box .form-control {min-height:2rem;}
.form_box .mb-3 textarea, .form_box .mb-3 .checkbox, .form_box .mb-3 .radio {}
.form_box .mb-3 input, .form_box .mb-3 textarea, .form_box .mb-3 select, .form_box .mb-3 checkbox  {background-color: #ffffff;border: 1px solid #ccc;box-sizing: border-box;
-webkit-box-shadow: inset 1px 1px 2px 0px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 1px 1px 2px 0px rgba(0, 0, 0, 0.1);
box-shadow: inset 1px 1px 2px 0px rgba(0, 0, 0, 0.1);}
.form_box .form-check:nth-child(3) {width:100%;}
.form_box .form-check {width:49%;display:inline-block;}
.form_box .form-actions button {padding:8px 50px;color:#FFFFFF;background:#086a91;border:solid 1px #FFFFFF;
-webkit-border-radius: 25px;
-moz-border-radius: 25px;
border-radius: 25px;}
.form_box .form-actions button:hover {color:#086a91;background: #FFFFFF;border:solid 1px #086a91;}

/**page navigation**/
.ccm-block-next-previous-header.previous {float:left;}
.ccm-block-next-previous-header.next {float:right;}
.ccm-block-next-previous-parent-link {width:100%;text-align:center;}
.ccm-block-next-previous-parent-link, .ccm-block-next-previous-header h5 {margin:0;font-size:0.9em;font-weight:bold;}
.ccm-block-next-previous-wrapper {display:block;padding: 2px 10px;border:solid 1px #DCDCDC;box-sizing:border-box;-moz-border-radius:5px 5px 5px 5px;-webkit-border-radius:5px 5px 5px 5px;border-radius:5px 5px 5px 5px;}
.ccm-block-next-previous-wrapper a {color:#385670;text-decoration:none;font-weight:normal;}
/** C5 page list**/
/**standard**/
.ccm-block-page-list-page-entry {margin:10px auto;padding:10px;box-sizing:border-box;border:solid 1px #DCDCDC;}
.ccm-block-page-list-description {color:#000000;font-size:1em;}
.ccm-block-page-list-title a {color:#385670; font-weight:normal;}
.ccm-block-page-list-page-entry-thumbnail {}
.ccm-block-page-list-page-entry-thumbnail img {height:auto;}
.ccm-block-page-list-date {margin-left:10px;padding-left:15px;background-image:url(../images/blog-clock.png);background-repeat:no-repeat;background-position:left center;color:#686565;font-size:0.8em;}

/************************C5 Overrides***************************/
/***************************************************************/
.ccm-logo img {width:auto;height:100%;}
.alert-success {padding: 20px;background-color:gold;font-weight: bold;font-size: 0.9em;font-style: italic;}
.ccm-pagination-wrapper {}
.ccm-pagination-wrapper ul.pagination {display: block;margin:0;padding:0;font-size: 0.8em;}
.ccm-pagination-wrapper ul.pagination li.page-item {display:inline-block;margin:0px 4px;padding:2px 8px;border:solid 1px #999;}
.ccm-pagination-wrapper ul.pagination li.page-item.prev {}
.ccm-pagination-wrapper ul.pagination li.page-item.next {}
.ccm-pagination-wrapper ul.pagination li.page-item.active {}

/**************************Animation****************************/
/***************************************************************/
/* Global tokens */
:root {
  --ease-standard: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: .7s;
  --dur-med: 1s;
  --dur-slow: 1.6s;
}

/* Respect users who prefer less motion */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Base visibility: hidden until animated in (use .animate to trigger) */
.animatedElement { visibility: hidden; }
.ccm-edit-mode .animatedElement { visibility: visible; }

/* Mobile/tablet: keep things visible and avoid hover zoom */
@media (max-width: 1024px) {
  .animatedElement { visibility: visible; }
}

/* Hover zoom: only on devices that actually support hover */
.zoom { transition: transform .2s; z-index: 1; }
@media (hover: hover) and (pointer: fine) {
  .zoom:hover { transform: scale(1.05); z-index: 200; }
}

/* ----------------------------------------------------------------------- */
/* Simple directional slides */
.slideDown.animate,
.slideUp.animate,
.slideLeft.animate,
.slideRight.animate {
  animation-duration: var(--dur-med);
  animation-timing-function: var(--ease-standard);
  animation-fill-mode: both;
  visibility: visible !important;
}

.slideDown.animate { animation-name: slideDown; }
@keyframes slideDown {
  0%   { opacity: 0; transform: translateY(-40px); }
  100% { opacity: 1; transform: translateY(0); }
}

.slideUp.animate { animation-name: slideUp; }
@keyframes slideUp {
  0%   { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

.slideLeft.animate { animation-name: slideLeft; }
@keyframes slideLeft {
  0%   { opacity: 0; transform: translateX(60px); }
  100% { opacity: 1; transform: translateX(0); }
}

.slideRight.animate { animation-name: slideRight; }
@keyframes slideRight {
  0%   { opacity: 0; transform: translateX(-60px); }
  100% { opacity: 1; transform: translateX(0); }
}

/* ----------------------------------------------------------------------- */
/* Slide + expand */
.slideExpandUp.animate {
  animation-name: slideExpandUp;
  animation-duration: var(--dur-slow);
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes slideExpandUp {
  0%   { transform: translateY(100%) scaleX(0.5); }
  30%  { transform: translateY(-8%)  scaleX(0.5); }
  40%  { transform: translateY(2%)   scaleX(0.5); }
  50%  { transform: translateY(0)    scaleX(1.1); }
  60%  { transform: translateY(0)    scaleX(0.9); }
  70%  { transform: translateY(0)    scaleX(1.05); }
  80%  { transform: translateY(0)    scaleX(0.95); }
  90%  { transform: translateY(0)    scaleX(1.02); }
  100% { transform: translateY(0)    scaleX(1); }
}

/* Expand up */
.expandUp.animate {
  animation-name: expandUp;
  animation-duration: var(--dur-fast);
  animation-timing-function: ease;
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes expandUp {
  0%   { transform: translateY(100%) scale(0.6) scaleY(0.5); }
  60%  { transform: translateY(-7%)  scaleY(1.12); }
  75%  { transform: translateY(3%); }
  100% { transform: translateY(0)    scale(1) scaleY(1); }
}

/* Fade in with gentle scale */
.fadeIn.animate {
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: var(--ease-in-out);
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes fadeIn {
  0%   { transform: scale(0.9); opacity: 0; }
  60%  { transform: scale(1.02); }
  80%  { transform: scale(0.98); opacity: 1; }
  100% { transform: scale(1);    opacity: 1; }
}

/* Expand open */
.expandOpen.animate {
  animation-name: expandOpen;
  animation-duration: 1.2s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes expandOpen {
  0%   { transform: scale(1.08); }
  50%  { transform: scale(0.98); }
  80%  { transform: scale(1.02); }
  90%  { transform: scale(0.995); }
  100% { transform: scale(1); }
}

/* Big entrance */
.bigEntrance.animate {
  animation-name: bigEntrance;
  animation-duration: var(--dur-slow);
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes bigEntrance {
  0%   { transform: scale(0.9) rotate(3deg) translate(-15%, 15%); opacity: .2; }
  30%  { transform: scale(1.02) rotate(-1deg) translate(2%, -2%); opacity: 1; }
  45%  { transform: scale(0.995) rotate(0.5deg); }
  60%  { transform: scale(1.005) rotate(-0.5deg); }
  75%  { transform: scale(0.998) rotate(0.25deg); }
  90%  { transform: scale(1.004); }
  100% { transform: scale(1) rotate(0) translate(0, 0); opacity: 1; }
}

/* Hatch (pivot from bottom center) */
.hatch.animate {
  animation-name: hatch;
  animation-duration: 2s;
  animation-timing-function: var(--ease-in-out);
  animation-fill-mode: both;
  transform-origin: 50% 100%;
  visibility: visible !important;
}
@keyframes hatch {
  0%   { transform: rotate(0)   scaleY(0.6); }
  20%  { transform: rotate(-2deg) scaleY(1.05); }
  35%  { transform: rotate(2deg)  scaleY(1); }
  50%  { transform: rotate(-2deg); }
  65%  { transform: rotate(1deg); }
  80%  { transform: rotate(-1deg); }
  100% { transform: rotate(0); }
}

/* Bounce */
.bounce.animate {
  animation-name: bounce;
  animation-duration: var(--dur-slow);
  animation-timing-function: ease;
  animation-fill-mode: both;
  transform-origin: 50% 100%;
  visibility: visible !important;
}
@keyframes bounce {
  0%   { transform: translateY(0)   scaleY(0.9);  opacity: .95; }
  60%  { transform: translateY(-100%) scaleY(1.05); }
  75%  { transform: translateY(0)   scaleY(0.98) scaleX(1.02); }
  90%  { transform: translateY(0)   scaleY(1.01); }
  100% { transform: translateY(0)   scale(1); }
}

/* Pull up */
.pullUp.animate {
  animation-name: pullUp;
  animation-duration: 1.1s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  transform-origin: 50% 100%;
  visibility: visible !important;
}
@keyframes pullUp {
  0%   { transform: scaleY(0.1); }
  40%  { transform: scaleY(1.02); }
  60%  { transform: scaleY(0.98); }
  80%  { transform: scaleY(1.01); }
  100% { transform: scaleY(1); }
}

/* Pull down */
.pullDown.animate {
  animation-name: pullDown;
  animation-duration: 1.1s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  transform-origin: 50% 0%;
  visibility: visible !important;
}
@keyframes pullDown {
  0%   { transform: scaleY(0.1); }
  40%  { transform: scaleY(1.02); }
  60%  { transform: scaleY(0.98); }
  80%  { transform: scaleY(1.01); }
  100% { transform: scaleY(1); }
}

/* Stretch left/right */
.stretchLeft.animate,
.stretchRight.animate {
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  visibility: visible !important;
}
.stretchLeft.animate  { animation-name: stretchLeft;  transform-origin: 100% 0%; }
.stretchRight.animate { animation-name: stretchRight; transform-origin: 0% 0%;  }

@keyframes stretchLeft {
  0%   { transform: scaleX(0.3); }
  40%  { transform: scaleX(1.02); }
  60%  { transform: scaleX(0.98); }
  80%  { transform: scaleX(1.01); }
  100% { transform: scaleX(1); }
}
@keyframes stretchRight {
  0%   { transform: scaleX(0.3); }
  40%  { transform: scaleX(1.02); }
  60%  { transform: scaleX(0.98); }
  80%  { transform: scaleX(1.01); }
  100% { transform: scaleX(1); }
}

/* Pulsing (infinite) */
.pulse.animate {
  animation-name: pulse;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: var(--ease-in-out);
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes pulse {
  0%   { transform: scale(0.98); opacity: .8; }
  50%  { transform: scale(1);    opacity: 1; }
  100% { transform: scale(0.98); opacity: .8; }
}

/* Floating (infinite) */
.floating.animate {
  animation-name: floating;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: var(--ease-in-out);
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes floating {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(8%); }
  100% { transform: translateY(0); }
}

/* Tossing (infinite) */
.tossing.animate {
  animation-name: tossing;
  animation-duration: 2.5s;
  animation-iteration-count: infinite;
  animation-timing-function: var(--ease-in-out);
  animation-fill-mode: both;
  visibility: visible !important;
}
@keyframes tossing {
  0%   { transform: rotate(-4deg); }
  50%  { transform: rotate(4deg); }
  100% { transform: rotate(-4deg); }
}
