/*
 Theme Name:     GCFD
 Theme URI:      https://www.webweaving.com
 Description:    Divi Child Theme
 Author:         Web Weaving
 Author URI:     https://www.webweaving.com/
 Template:       Divi
 Version:        1.0.0
*/
 
/* Chad's additions - last updated 10-5-22 */

/* ends Chad's additions */

/* Cat's additions  */

.heroImage-image_container-2JyLP { display: none!important; }

/* ends Cat's additions * /

/* Julias's additions */

/* ends Julias's additions */


/* =Theme customization starts here
------------------------------------------------------- */

body, html { height: 100%!important; }
body { font-family: "Oswald", sans-serif; font-size: 20px!important; font-weight: 400; line-height: 40px; letter-spacing: normal; background: #fff; color: #222; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; overflow-y: scroll; overflow-x: hidden; }

html { scroll-behavior: smooth; }

#jumpmenu { margin-bottom: 15px; }

#finance {
    scroll-margin-top: 150px;
}

#myBtn { font-family: "Nunito", sans-serif; display: none; position: fixed; bottom: 20px; right: 49%; z-index: 99; border: none; outline: none; background-color: rgba(58,58,58,0.75); color: #fff; cursor: pointer; padding: 0px 5px 5px 5px; border-radius: 10px; font-size: 54px; line-height: 54px; transition: all 0.5s ease-in-out; }
#myBtn:hover { background-color: rgba(0,112,192,1); transition: all 0.5s ease-in-out; }

.frametacular { width: 50%; float: right; margin-left: 35px; display: block; }
.frametacular iframe { width: 100%; height: 250px; }
.formtacular { width: 100%; float: none; display: block; margin: 0px auto; }

.reviews a { display: inline-block; border: solid #eee 5px; margin-bottom: 25px; }
.googrev { margin-right: 25px;  }

.contactform { border: solid 3px #eee; padding: 10px; margin-top: 25px; margin-bottom: 25px; }

@media (min-width: 981px) {
  #left-area { width: auto!important; padding-bottom: 0px!important; }
}

.formit { width: 100%; max-width: 640px; margin: 50px auto 0px auto; clear: both; display: flex; flex-flow: row wrap; justify-content: space-evenly; align-items: center; }
.formy, .formy2 { width: 275px; box-shadow: inset 0px 0px 3px rgba(0,0,0,0.5), 0px 0px 3px rgba(0,0,0,0.5); color: #fa6d3b; background: url("images/formy.png") 5px center no-repeat; background-size: 30px; padding: 10px 10px 10px 45px; border: solid 3px #fff; display: inline-block; margin-bottom: 25px; }
.formy:hover, .formy2:hover { box-shadow: inset 0px 0px 3px rgba(0,0,0,0.5), 0px 0px 3px rgba(0,0,0,0.5); color: #9a9a9a; background: url("images/formy2.png") 5px center no-repeat; background-size: 30px;  padding: 10px 10px 10px 45px; border: solid 3px #fff; text-decoration: none; }

.implantLineup { display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: stretch; }
.implants { padding: 0; margin: 0 15px 15px 0; list-style: none; display: inline-block; text-align: center; }

.orthoLineup { display: flex; flex-flow: row wrap; justify-content: space-around; align-items: center; margin-bottom: 25px; }
.orthoLineup  div { display: block; text-align: center; line-height: normal!important; }
.orthoLineup img { margin: 0px 0px 0px 0px; height: 0px 0px 0px 0px; border: solid 5px #fff; box-shadow: 0px 0px 5px rgba(0,0,0,0.5); }

.veneerMe { width: 30%; float: right; display: block; margin: 0px 0px 5px 25px; }

ul.listMe { line-height: 40px!important; margin-top: 15px!important; }
ul.listMe2 { line-height: 40px!important; }

.surprise { display: none; }

.et_pb_text_inner { width: 98%; max-width: 1200px; }
.et_pb_gutters3 .et_pb_column { margin-right: 0px!important; }

.et_pb_column { float: none!important; }

body:not(.et-tb) #main-content .container, body:not(.et-tb-has-header) #main-content .container { padding-top: 0px!important; }

.page.et_pb_pagebuilder_layout #main-content { padding-top: 150px; background-color: transparent; }
.home.page.et_pb_pagebuilder_layout #main-content { padding-top: 0px; background-color: transparent; }

.et_right_sidebar #main-content .container::before { display: none !important; }
#main-content .container::before { display: none !important; }

a { color: #0070c0; transition: 0.5s ease-in-out all; }
a:hover { color: #024d82; }

h2 { font-size: 36px; letter-spacing: normal; line-height: normal; margin-bottom: 15px; text-transform: uppercase; }
.contentArea h2.compromize { font-size: 30px; text-transform: none!important; }
h3 { font-size: 24px; letter-spacing: normal; line-height: normal; margin-bottom: 15px; text-transform: none; }
h2.et_pb_module_heading { text-transform: none!important; padding-bottom: 0px!important; margin-bottom: 0px!important; }

h3.title { font-family: "Courgette"; letter-spacing: -2px; font-size: 36px; padding: 0px 0px 0px 0px; margin: 0px 0px 15px 0px; }
h4.title { font-family: "Courgette"; letter-spacing: -2px; font-size: 30px; padding: 0px 0px 0px 0px; margin: 0px 0px 15px 0px; }
h5.title { font-family: "Courgette"; letter-spacing: -2px; font-size: 48px; padding: 0px 0px 0px 0px; margin: 0px 0px 25px 0px; }

.alignright { margin-left: 25px; }
img.alignright { margin-left: 25px; max-width: 45%; border: solid 5px #fff; box-shadow: 0px 0px 5px rgba(0,0,0,0.5); }
img.alignright2 { float: right; margin-left: 25px; max-width: 45%; border: none; box-shadow: none; }
img.alignrightSpesh { float: right; margin-left: 25px; max-width: 150px; border: none; box-shadow: none; }
img.alignnone { border: solid 5px #fff; box-shadow: 0px 0px 5px rgba(0,0,0,0.5); }
img.alignfloss { border: none!important; box-shadow: none!important; margin: 0px auto 0px auto; }
.reviews img.alignnone { border: none!important; box-shadow: none!important; }

a.foobox { position: relative; display: block; }
a.foobox::after { content: "Click for large view"; position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,0.5); text-shadow: 0px 0px 3px rgba(0,0,0,1); color: #fff; font-size: 18px; text-transform: uppercase; text-align: center; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; align-content: center; opacity: 0; top: 0px; transition: all 0.4s ease-in-out; }
a.foobox:hover::after { opacity: 1; transition: all 0.4s ease-in-out; }

img.lanap { width: 95%; max-width: 600px; height: auto; }

.fbx-caption { display: none!important; }

.fullArticle { padding-top: 150px; width: 100%; display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: stretch; }

.articleContent { width: 50%; }
.articleContent .entryContain { width: 80%; margin: 0px auto 0px auto; padding: 50px 0px; text-align: left; }
.articleContent h1.title { font-family: "Courgette"; letter-spacing: -2px; font-size: 48px; padding: 0px 0px 0px 0px; margin: 0px 0px 25px 0px; }

.featured { width: 50%; height: 100%; min-height: 65vh; background: transparent!important; position: fixed; top: 0px; right: 0px; left: auto; }
.scrollImage { width: 100%; height: 100%; }

header .container, footer .container, .containment { max-width: 1200px!important; }
.containment { margin: 0px auto!important; padding-top: 25px; }
#main-content .container { width: 100%!important; max-width: none!important; }

#page-container { padding-top: 0px!important; display: flex; height: 100%; align-items: stretch; flex-flow: row wrap; }
#page-container > * { flex: 1 100%; }

#main-header { background: #fff; }
header .container { padding-top: 0px; position: relative; width: 98%; max-width: 1200px; margin: 0px auto 0px auto; text-align: center; display: block; clear: both; }

.header { position: fixed; top: 0; left: 0; width: 100%; color:#333; background: #fff; box-shadow: 0px 0px 7px rgba(0,0,0,0.5); z-index: 1000; height: auto; overflow: visible; transition: height 0.5s; text-align:center;
}
.header.shrink { height: auto; transition: height 0.5s ease; }

.hiddenLink { display: none!important; }

#menu { width: 100%; max-width: 1200px; height: 112px; margin: 0px auto 0px auto; top: 0px; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; position: relative; transition: all 0.4s ease-in-out; }
.header.shrink #menu { height: 50px; transition: all 0.4s ease-in-out; }

#top-menu { float: none; margin: 0px auto 0px auto; width: 100%; display: block; clear: both; padding: 0px; background: transparent; height: auto; position: absolute; top: auto; transition: top 0.5s ease; }
.header.shrink #top-menu { top: auto; transition: top 0.5s ease; }

#top-menu a, a.mobile_nav { text-shadow: none; }
#top-menu a { padding: 0px 0px 0px 0px; }

#mega-menu-wrap-primary-menu #mega-menu-primary-menu { width: 100%; display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; }

#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item-has-children > a.mega-menu-link::after, #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item-has-children > a.mega-menu-link span.mega-indicator::after { display: none; }

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item { display: inline-block; height: auto; vertical-align: middle; transition: margin 0.5s ease; }
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:first-child { margin-left: 0px!important; }

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item-970 { background: url("images/logo_green.webp") center center no-repeat; background-size: contain; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; height: 112px; width: 25%; transition: all 0.4s ease-in-out; }
.header.shrink .container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item-970 { height: 50px; width: 15%; transition: all 0.4s ease-in-out; }
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item-970 span { display: none!important; }
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item-970 > a.mega-menu-link, #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item-970 > a.mega-menu-link:hover { display: block; width: 100%; height: 100%; padding: 0px 0px 0px 0px; }

.topline { width: 100%; display: block; height: 40px; background: #30558d; color: #fff; }
.topline .container { width: 98%; max-width: 1200px; height: 40px; line-height: 40px; margin: 0px auto; position: relative; display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; }
.contactline { height: 40px; }
.contactline p { display: inline-block; font-size: 20px; font-weight: 400; line-height: 40px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px; height: 24px; }
.contactline p.phoneline { display: inline-block; font-size: 20px; font-weight: 400; line-height: 24px; padding: 0px 0px 0px 0px; margin: 0px 25px 0px 0px; height: 24px; }
.contactline p.phoneline a { color: #fff; padding-left: 40px; background: url("images/phone.png") left 3px no-repeat; }
.contactline p.phoneline a:hover { color: #F93; text-decoration: none; background: url("images/phone_c.png") left 3px no-repeat; }

.quicktime { height: 40px; }
.quicktime p.lineme { display: inline-block; margin-right: 0px; margin-left: 40px; font-size: 20px; font-weight: 400; height: 40px; line-height: 40px; padding: 0px 0px 0px 0px; }
.quicktime p.lineme2 { display: inline-block; margin-right: 0px; margin-left: 0px; font-size: 20px; font-weight: 400; height: 24px; line-height: 24px; padding: 0px 0px 0px 0px; }

a.facebook, a.instagram { width: 24px; height: 24px; line-height: 24px; padding: 0px 0px 0px 0px; margin: 3px 0px 0px 0px;  display: block; background: rgb(255,255,255); border-radius: 5px; }
a.facebook:hover, a.instagram:hover { background: #f93; }
a.facebook { background: url("images/facebook.png") center center no-repeat #fff; background-size: cover; }
a.facebook:hover { background: url("images/facebook.png") center center no-repeat #f93; background-size: cover; text-decoration: none; }

.searchme { position: absolute; top: 0px; left: 0px; display: block; }

.searchie { display: block; clear: both; position: relative; }

/* Search Form */

.search-form {
	position: absolute;
	left: 0px;
	top: 0px;
}

.search-field {
	background-color: transparent;
	background-image: url("images/icon_search.png");
	background-position: 5px 3px;
	background-repeat: no-repeat;
	background-size: 24px 24px;	
	top: 0px;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	height: 34px;
	margin: 0px 0;
	padding: 0 0 0 34px;
	position: relative;
	-webkit-transition: width 400ms ease, background 400ms ease;
	transition: width 400ms ease, background 400ms ease;
	width: 0;
	color: #fff;
	z-index: 8888;
}

.search-field:focus {
	background-color: #fff;
	border: 2px solid #fff;
	box-shadow: inset 0px 0px 3px rgba(0,0,0,0.5);
	cursor: text;
	outline: 0;
	top: -4px;
	width: 200px;
	font-family: "Open Sans", sans-serif;
	font-style: italic;
	color: #192c6a;
	z-index: 9999;
	padding-left: 10px;
}

.search-submit {
  display: none;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

#search-form #searchinput {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    border: medium none;
    color: #192c6a;
    float: left;
    font-size: 14px;
    margin: 9px 14px 0 7px;
    padding-left: 14px;
    width: 200px;
}


#search-form #searchsubmit {
    margin-right: 0px;
    margin-top: 13px;
}

.homestuff .lineup { width: 400px; margin: 0px auto 0px auto; }
.homestuff p.lineme { display: inline-block; margin-right: 25px; margin-left: 10px; }
.homestuff p.lineme2 { display: inline-block; margin-right: 0px; }
.homestuff p.lineme a, .homestuff p.lineme2 a, p.lineme a, p.lineme2 a { background: #fff; border-radius: 5px; padding: 0px 5px; color: #07285a; text-transform: uppercase; transition: all 0.4s ease-in-out; }
.homestuff p.lineme a:hover, .homestuff p.lineme2 a:hover, p.lineme a:hover, p.lineme2 a:hover { background: #07285a; border-radius: 5px; padding: 0px 5px; color: #fff; text-transform: uppercase; text-decoration: none; transition: all 0.4s ease-in-out; }

.hero { width: 100%!important; height: 100vh; display: flex; flex-flow: row wrap; justify-content: center; align-items: center;  position: relative; z-index: 0; }

.introSpot { position: absolute; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; width: 100%; height: 100%; padding-top: 100px; z-index: 1; }
  .introSpot .container h2 { color: #fff; text-shadow: 2px 2px 2px rgba(0,0,0,1); font-size: 72px; text-transform: uppercase; letter-spacing: -2px; text-align: center; padding: 10px 5px 10px; margin: 0px auto; outline: 0; position: relative; z-index: 2; }
.captionthing { color: #fff; text-shadow: 2px 2px 2px rgba(0,0,0,1); line-height: normal; font-size: 36px; font-style: italic; text-align: center; }

.fiftyFifty .et_pb_row { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: stretch; min-height: 65vh!important; }
@media (min-width: 981px) {
  .et_pb_gutters3 .fiftyFifty .et_pb_column_1_2, .et_pb_gutters3.et_pb_row .fiftyFifty .et_pb_column_1_2 {
    width: 50%!important;
  }
}
.imageSide .et_pb_module, .imageSide .et_pb_image_wrap { width: 100%!important; height: 100%!important; }
.imageSide .et_pb_image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.stickyPhoto { max-width: 50%!important; position: absolute!important; width: 100%!important; height: 100%!important; top: 55px!important; right: 0px!important; }

.home_thumbnail { float: left; display: block; margin: 20px 25px 0px 0px; max-width: 250px; width: 40%; height: auto; border: solid 5px #fff; box-shadow: 0px 0px 3px rgba(0,0,0,0.5); }
@media only screen and ( max-width: 1750px ) {
	.home_thumbnail { margin: 20px 25px 0px 0px; }	
}
@media only screen and ( max-width: 1580px ) {
	.home_thumbnail { max-width: 325px;	}
}
@media only screen and ( max-width: 1150px ) {
	.home_thumbnail { width: 50%; }
}

.homestuff, .sideStuff { width: 100%; height: 100%; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; align-content: center; padding: 50px 0px; }
.homestuff .et_pb_text_inner, .sideStuff .et_pb_text_inner { max-width: 90%; }
.sideStuff .et_pb_text_inner { width: 95%; max-width: 600px; }
.homestuff .introtext { clear: both; display: block; width: 100%; margin: 0px 0px 0px 0px; padding-top: 25px; font-family: "Courgette"; letter-spacing: -2px; font-size: 42px; text-align: center; }
.homestuff .specialtext { line-height: 54px; text-align: left; }
.homestuff .lineup { width: 400px; margin: 0px auto 0px auto; }
.homestuff p { text-align: center; }
.homestuff p.lineme { display: inline-block; margin-right: 25px; margin-left: 10px; }
.homestuff p.lineme2 { display: inline-block; margin-right: 0px; }

.homestuff p.lineme a, .homestuff p.lineme2 a { color: #426134; background: rgba(66,97,52,0.1); }
.homestuff p.lineme a:hover, .homestuff p.lineme2 a:hover { color: #fff; background: rgba(66,97,52,1); }

.sideStuff h3 { font-family: "Courgette"; letter-spacing: -2px; font-size: 42px; padding: 0px 0px 0px 0px; margin: 0px 0px 15px 0px; }

/* NEW HOME PAGE SERVICE AND DOCTORS SECTIONS: */

.servicesNew { width: 100%; height: auto; display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: center; background: url("images/bg_service.png") 95% center no-repeat #383029; background-size: 45%; margin: 0px 0px -20px 0px!important; }
.dentalServices { width: 48%; max-width: 950px; }
.dentalServices .blockContainer { width: 100%; margin: -10px auto 0px auto; padding: 0px 0px 0px 0px; display: flex; flex-flow: row wrap; justify-content: space-between; align-content: center; align-items: center; }
.dentalServices .blockContainer a { display: block; aspect-ratio: 1/1; max-width: 279px; width: 29.5%; margin: 0px 0px 45px 20px; padding: 0px 0px 0px 0px; border: solid 5px #fff; box-shadow: 0px 0px 3px rgba(0,0,0,0.5); position: relative; }
.dentalServices .blockContainer a:first-child, .dentalServices .blockContainer a:nth-child(4n) { margin-left: 10px; }
.dentalServices .blockContainer > a:nth-last-child(-n+3) { margin-bottom: 0px; }
.dentalServices .blockContainer a span { float: right; position: absolute; bottom: -15px; right: -15px; background: #fff; padding: 0px 15px; border: solid 5px #fff; box-shadow: inset 0px 0px 3px rgba(0,0,0,0.5), 0px 0px 3px rgba(0,0,0,0.5); color: #444; font-size: 18px; text-transform: uppercase; transition: all 0.4s ease-in-out; }
.dentalServices .blockContainer a:hover span { background: #383029; color: #fff; text-decoration: none; transition: all 0.4s ease-in-out; }

@media only screen and ( max-width: 1400px ) {
.dentalServices .blockContainer a span { font-size: 1vw; line-height: normal; padding: 5px 10px; border: solid 3px #fff; transition: all 0.4s ease-in-out; }	
}

.doctorsNew { width: 100%; height: auto; display: flex; justify-content: flex-end; align-items: center;  background: url("images/bg_docs.png") 2% center no-repeat #7e7366; background-size: 33%; padding: 75px 0px 75px 0px!important; }
.dentists { width: 65%; max-width: 1100px; }
.dentists .blockContainer { width: 100%; margin: 0px; padding: 0px 0px 0px 0px; display: flex; flex-flow: row wrap; justify-content: space-between; align-content: center; align-items: center; }
.dentists .blockContainer a { display: block; aspect-ratio: 1/1; max-width: 279px; width: 21.5%; margin: 0px 25px 0px 0px; padding: 0px 0px 0px 0px; border: solid 5px #fff; box-shadow: 0px 0px 3px rgba(0,0,0,0.5); position: relative; }
.dentists .blockContainer a span { float: right; position: absolute; bottom: -15px; right: -15px; background: #fff; padding: 0px 15px; border: solid 5px #fff; box-shadow: inset 0px 0px 3px rgba(0,0,0,0.5), 0px 0px 3px rgba(0,0,0,0.5); color: #444; font-size: 0.95vw; text-transform: uppercase; transition: all 0.4s ease-in-out; }
.dentists .blockContainer a:hover span { background: #383029; color: #fff; text-decoration: none; transition: all 0.4s ease-in-out; }

@media only screen and ( max-width: 1400px ) {
.dentists .blockContainer a span { font-size: 1vw; line-height: normal; padding: 5px 10px; border: solid 3px #fff; transition: all 0.4s ease-in-out; }	
}

/* END NEW HOME PAGE SECTIONS */

.serviceSection { width: 100%; height: 550px; display: flex; justify-content: left; align-items: center; background: url("images/bg_service.png") 95% center no-repeat #383029; background-size: 40%; }
.docSection { width: 100%; height: 400px; display: flex; justify-content: flex-end; align-items: center; background: url("images/bg_docs.png") 5% center no-repeat #7e7366; background-size: 40%; }

.serveme { display: block; width: 950px; list-style: none; margin: 0px auto 0px auto; padding: 0px 0px 0px 0px; }
.serveme li { display: inline-block; float: left; width: 279px; height: 279px; margin: 0px 0px 0px 25px; padding: 0px 0px 0px 0px; border: solid 5px #fff; box-shadow: 0px 0px 3px rgba(0,0,0,0.5); position: relative; }
.serveme li:first-child, .serveme li:nth-child(4) { margin-left: 0px; }
.serveme li:first-child, .serveme li:nth-child(2), .serveme li:nth-child(3) { margin-bottom: 45px; }
.serveme a { float: right; position: absolute; bottom: -15px; right: -15px; background: #fff; padding: 5px 15px; border: solid 5px #fff; box-shadow: inset 0px 0px 3px rgba(0,0,0,0.5), 0px 0px 3px rgba(0,0,0,0.5); color: #444; font-size: 18px; text-transform: uppercase; }
.serveme a:hover { background: #383029; color: #fff; text-decoration: none; }

.doctors { display: block; width: 950px; list-style: none; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; float: right; right: 0px; position: relative; }
.doctors li { display: inline-block; float: left; width: 279px; height: 279px; margin: 0px 0px 0px 25px; padding: 0px 0px 0px 0px; border: solid 5px #fff; position: relative; }
.doctors li:first-child { margin-left: 0px; }
.doctors a { float: left; position: absolute; bottom: -15px; left: -15px; background: #fff; padding: 0px 15px; border: solid 5px #fff; box-shadow: inset 0px 0px 3px rgba(0,0,0,0.5), 0px 0px 3px rgba(0,0,0,0.5); color: #444; font-size: 18px; text-transform: uppercase; }
.doctors a:hover { background: #383029; color: #fff; text-decoration: none; }

.et_pb_title_container h1.entry-title { margin: 45px 0px 15px 0px; font-family: "Courgette"!important; letter-spacing: -2px!important; font-size: 42px!important; }

.textSide { padding-bottom: 50px; }
.textSide .et_pb_module { width: 90%; margin: 0px auto!important; }

.contentArea h2 { font-size: 36px; letter-spacing: normal; line-height: normal; margin-bottom: 15px; text-transform: uppercase; }

.contentArea.fullSize { max-width: 1200px!important; }
.contentArea.fullSize .textSide .et_pb_module { width: 100%; }

.entry { float: none; margin: 0px auto 25px auto; box-shadow: 0px 0px 3px rgba(0,0,0,0.5); display: flex; flex-flow: row wrap; justify-content: space-between; align-items: stretch; width: 95%; max-width: 1200px; min-height: 300px; height: auto; overflow: hidden; }
.entryContent { width: 70%; min-height: 300px; display: flex; flex-flow: row wrap; justify-content: flex-end; align-items: flex-start; align-content: center; padding: 10px 15px 10px 15px; }
.entry p { width: 100%; margin-right: 25px; padding-bottom: 0px; margin-bottom: 0px; }
.niftiness { width: 32%; max-width: 300px; height: 100%; min-height: 300px; display: block; border-right: solid 1px #eee; }
.entry h1.title { width: 100%; margin: 0px 0px 15px 0px; font-family: "Courgette"; letter-spacing: -2px; font-size: 42px; }

/* FLIP ANIMATION */

/* This is simply a container for all the flip cards */
.flipit { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; }
 
 /* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
  background-color: transparent;
  width: 45%; height: 700px;
  margin: 0px auto 25px auto; 
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner, .flip-card:active .flip-card-inner, .flip-card:focus .flip-card-inner {
  transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

.flip-card-front img, .flip-card-back img { width: 100%; height: 100%; object-fit: cover; }

/* Style the front side (fallback if image is missing) */
.flip-card-front {}/* Style the back side */
.flip-card-back { transform: rotateY(180deg); } 

.flip-card-front h2, .flip-card-back h2 { position: absolute; bottom: 0px; right: 25px; color: #fff; display: block; text-align: center; margin-bottom: 0px; padding-bottom: 0px; }

/* END FLIP ANIMATION */		

footer { width: 100%; background: #383029; height: auto; z-index: 1; position: relative; clear: both; float: none; padding-top: 25px; }

footer .container { display: block; float: none; margin: 0px auto; width: 98%; max-width: 1200px; }

footer .container div { float: left; margin-left: 50px; color: #fff; font-size: 14px; text-transform: uppercase; }

footer .container div a { color: #fff; }

footer .container div.address, footer .container div.buttons, footer .container div.basics { line-height: normal; margin-right: 35px; margin-left: 0px; } 
footer .container div.footlogo { line-height: normal; margin-right: 20px; margin-left: 0px; } 
footer .container div.map { float: right; margin-right: 0px; margin-left: 0px; }

footer .container div.footlogo { display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: center; width: 210px; }
footer #footerLogo { width: 210px; height: auto; padding-left: 0px; margin-top: 5px; }
footer #affiliate { width: 190px; height: auto; margin: 5px auto 0px auto; }

footer .container div.address p { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; line-height: 40px; font-size: 16px; }

footer .container p.phoneline, .midthree p.faceme { float: left; line-height: 40px; height: 20px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px; }
footer .container p.faceme { margin-left: 25px; float: right; }

footer .container a.facebook, footer .container a.instagram { width: 20px; height: 20px; line-height: normal; padding: 0px 0px 0px 0px; margin: 10px 0px 0px 0px; }

footer .container p.phoneline a { color: #fff; padding-left: 35px; background: url("images/phone.png") left center no-repeat; height: 35px; display: inline-block; }
footer .container p.phoneline a:hover { color: #F93; text-decoration: none; padding-left: 35px; background: url("images/phone_c.png") left center no-repeat; height: 35px; display: inline-block; }

footer .container div.buttons { text-align: center; font-size: 18px; padding-top: 3px; }
footer .container div.buttons p { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; line-height: 38px; }
footer .container p.hours { line-height: 40px; }

footer p.lineme a { background: #7e7366; border-radius: 5px; padding: 0px 5px; color: #fff; text-transform: uppercase; }

footer .container div.buttons p.lineme2 a { text-align: center; font-size: 18px; margin: 0px 0px 0px 0px; background: #7e7366; border-radius: 5px; padding: 0px 5px; color: #fff; text-transform: uppercase; }
footer .container div.buttons p.lineme2 a:hover { background: #cfcfcf; border-radius: 5px; padding: 0px 5px; color: #333; text-transform: uppercase; text-decoration: none; }

footer .container div.basics { text-align: center; font-size: 16px; }

footer .map p { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; }
footer .map iframe { width: 250px; height: 115px;  border: solid #fff 3px; }

footer p.copy { text-align: center; font-size:14px; text-shadow: none; color: #fff; width: 100%; clear: both; display: block; }
footer p.copy a { color: #fff; font-weight: 400; }
footer p.copy a:hover { color: #f93; }

@media only screen and ( max-width: 1200px ) {
	
	.homestuff, .sideStuff { padding-top: 25px!important; padding-bottom: 25px!important; }
	.homestuff p.lineme { padding-bottom: 0px!important; }
	
	.serviceSection { padding-top: 15%!important; padding-bottom: 35px!important; height: auto; justify-content: center; align-items: center; background: url("images/bg_service.png") center 25px no-repeat #383029; background-size: 50%; }
	
	.docSection { padding-top: 15%!important; padding-bottom: 35px!important; height: auto; justify-content: center; align-items: center; background: url("images/bg_docs.png") center 25px no-repeat #7e7366; background-size: 50%; }

/* NEW HOME PAGE SERVICE AND DOCTORS SECTIONS: */
	
.servicesNew { margin-top: 0px!important; padding-top: 15%!important; padding-bottom: 50px!important; height: auto; justify-content: center; align-items: center; background: url("images/bg_service.png") center 25px no-repeat #383029; background-size: 50%; }
	
.dentalServices { width: 90%; max-width: none; }
.dentalServices .blockContainer { margin: 0px auto 0px auto; justify-content: space-evenly; }
.dentalServices .blockContainer a { width: 29.5%; margin: 0px 0px 45px 0px; }
.dentalServices .blockContainer a:first-child, .dentalServices .blockContainer a:nth-child(4n) { margin-left: 0px; }
.dentalServices .blockContainer a span { font-size: 2vw; line-height: normal; padding: 5px 10px; border: solid 3px #fff; transition: all 0.4s ease-in-out; }

.doctorsNew { padding-top: 15%!important; padding-bottom: 35px!important; height: auto; justify-content: center; align-items: center; background: url("images/bg_docs.png") center 25px no-repeat #7e7366; background-size: 50%; }

.dentists { width: 90%; max-width: none; }
.dentists .blockContainer { justify-content: space-evenly; }
.dentists .blockContainer a { width: 21.5%; margin: 0px 0px 0px 0px; }
.dentists .blockContainer a span { font-size: 1.5vw; line-height: normal; padding: 5px 10px; border: solid 3px #fff; transition: all 0.4s ease-in-out; }	

/* END NEW HOME PAGE SECTIONS */
	
footer .container { max-width: 800px!important; }

	footer .container div { float: none!important; }
	footer .container div.footlogo { margin: 0px auto 25px auto!important; }
	footer .tricky { display: flex; flex-flow: row wrap; justify-content: center; align-items: flex-start; margin: 0px auto!important; }
	footer .tricky div { width: 210px; margin: 0px auto 0px auto!important; }
	footer .tricky div.address { width: 210px; padding-right: 60px; }
	
	footer .container div.map { display: flex; flex-flow: row wrap; justify-content: center; align-items: center; }	
		
	.homestuff p.lineme2 a { font-size: 20px!important; }

}

@media only screen and ( max-width: 1055px ) {
	
.entryContent { width: 70%; min-height: 300px; padding: 10px 15px 10px 15px; }
.niftiness { width: 30%; max-width: 300px; height: 100%; min-height: 300px; }
.entry h1.title { font-size: 32px; }
	
.flip-card { width: 45%; height: 500px; }
	
}

@media only screen and ( max-width: 980px ) {
	
	.home .fiftyFifty .et_pb_row_0, .post-1617 .fiftyFifty .et_pb_row_0 { justify-content: center; align-items: center; height: auto; min-height: 0px !important; }
	.home .fiftyFifty .et_pb_row .et_pb_column.imageSide, .post-1617 .fiftyFifty .et_pb_row .et_pb_column.imageSide { display: none!important; }
	.home .fiftyFifty .et_pb_column, .post-1617 .fiftyFifty .et_pb_column { margin-bottom: 0px;  }
	
	.entry-content ul.serveme, #left-area ul.serveme, .entry-content ul.doctors, #left-area ul.doctors { display: flex; flex-flow: row wrap; justify-content: center; align-items: stretch; width: 98%; padding: 0px 0px 0px 0px; }
	.serveme li, .doctors li { display: block; float: none; aspect-ratio: 1/1; width: 279px; max-width: 27%; height: auto; margin: 0px auto 25px auto!important; }
	
	.serveme a, .doctors a { font-size: 16px; border: solid 3px #fff; }
	
	.home_thumbnail { float: right; width: 25%; margin: 15px 0px 0px 25px; }
	
	.homestuff .introtext { padding-top: 0px!important; }
	
	.fiftyFifty .et_pb_row { display: block; min-height: 0px!important; }
	.fiftyFifty .et_pb_row_0 { height: 35vh; position: relative !important; top: 0px; bottom: auto; left: auto; right: auto; padding: 0px 0px 0px 0px!important; }
	.fiftyFifty .et_pb_row_0.contentArea.fullSize { height: auto!important; }
	.et_pb_column.et_pb_column_empty { display: block!important; }
	.stickyPhoto { max-width: 100%!important; position: relative!important; width: 100%!important; height: 100%!important; top: 0px!important;
  right: 0px!important; }
	
	.fullArticle {  flex-flow: row wrap; justify-content: center; align-items: flex-start; }
	.featured { order: 1; width: 100%; height: 50vh; min-height: 300px; position: relative; }
	.articleContent { order: 2;  width: 100%; }
	.articleContent .entryContain { width: 95%; }
	.articleContent h1.title { font-size: 32px; }
	
}

@media only screen and ( max-width: 935px ) {
	
.header .container .hiddenLink { display: block!important; margin: 0px auto; max-width: 310px; height: 82px; transition: all 0.4s ease-in-out; }
.header.shrink .container .hiddenLink { max-width: 0px; height: 0px; transition: all 0.4s ease-in-out; }
	#homeLogo { width: 100%; height: auto; }
	
#menu, .header.shrink #menu { height: 40px; transition: all 0.4s ease-in-out; }	
.mega-toggle-blocks-left, .mega-toggle-blocks-right { display: none!important; }
 #mega-menu-wrap-primary-menu .mega-menu-toggle { display: flex; flex-flow: row wrap; justify-content: center; align-items: center; align-content: center; }	
#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-blocks-center {  flex-basis: 100%; }
	
#mega-menu-wrap-primary-menu #mega-menu-primary-menu { width: 100%; display: block; }
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item { display: block; height: auto; vertical-align: middle; transition: margin 0.5s ease; }
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:first-child { margin-left: 0px!important; }
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item-970 { display: none!important; }
	
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link { text-align: center; }
	
#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block { display: flex; flex-flow: row wrap; justify-content: center; align-items: stretch; align-content: center; }
	#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated { height: 40px; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; align-content: center; position: relative; }
#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated::before { content: "Menu"; text-transform: uppercase; font-size: 30px; display: inline-block; padding-right: 10px; color: #333; }
	
	#mega-menu-wrap-primary-menu .mega-menu-toggle + #mega-menu-primary-menu { box-shadow: 0px 2px 2px rgba(0,0,0,0.25); }
	
}

@media only screen and ( max-width: 900px ) {
	.home_thumbnail { width: 35%; }
}

@media only screen and ( max-width: 800px ) {
	
	.introSpot .container h2 { font-size: 54px; }
	.captionthing { font-size: 24px; }
	
	.home_thumbnail { width: 45%; }
	
}

@media only screen and ( max-width: 767px ) {
	
	.docSection, .serviceSection { padding-top: 18%!important; }
	.serveme li, .doctors li { aspect-ratio: 1/1; max-width: 42%; }	
	.serveme a, .doctors a { font-size: 16px; border: solid 3px #fff; }
	
/* NEW HOME PAGE SERVICE AND DOCTORS SECTIONS: */
	
.servicesNew { padding-top: 30%!important; background-size: 90%; }
	
.dentalServices .blockContainer a { width: 80%; max-width: 310px; margin: 0px auto 45px auto; }
.dentalServices .blockContainer > a:nth-last-child(-n+3) { margin-bottom: 45px; }
.dentalServices .blockContainer a:first-child, .dentalServices .blockContainer a:nth-child(4n) { margin-left: auto; }
.dentalServices .blockContainer a span { font-size: 16px; line-height: normal; transition: all 0.4s ease-in-out; }

.doctorsNew { padding-top: 30%!important; background-size: 90%; }

.dentists .blockContainer a { width: 80%; max-width: 310px; margin: 0px auto 45px auto; }
.dentists .blockContainer a span { font-size: 16px; transition: all 0.4s ease-in-out; }	

/* END NEW HOME PAGE SECTIONS */
	
.entry { display: block; min-height: 0px; }
.entryContent { width: 100%; min-height: 0px; padding: 15px 15px 15px 15px; }
.niftiness { width: 100%; max-width: none; height: 300px; min-height: 0px; border-right: none; background-position: center center; }
	
	.hero { height: auto!important; }
	.hero .et_pb_fullwidth_image { width: 100%; padding-top: 75px; max-height: none!important; }
	.introSpot .container h2 { color: #333; text-shadow: none; }
	.captionthing { color: #333; text-shadow: none; }
	
}

@media only screen and ( max-width: 700px ) {
	.flip-card { width: 95%; max-width: 594px; height: 600px; }
}

@media only screen and ( max-width: 675px ) {
	.hiddenTalents { display: none!important; }
}

@media only screen and ( max-width: 635px ) {
	
	footer .container { max-width: 280px !important; }
	footer .tricky div.address { width: 150px; padding-right: 0px; }
	footer .tricky div.buttons, footer .tricky div.basics { padding-bottom: 15px; }
	
}

@media only screen and ( max-width: 600px ) {
	
	.quicktime { position: relative; top: -2px; }
	.quicktime p.lineme, .quicktime p.lineme2 { margin-right: 5px; }
	.quicktime p.lineme, .quicktime p.lineme2 { margin-bottom: 0px; }
	.quicktime p.lineme a, p.lineme2 a { font-size: 16px; }
	
	.contactline p.phoneline { margin: 0px 5px 0px 0px; }
	.contactline p.phoneline a { padding-left: 25px; font-size: 14px; background: url("images/phone.png") left 3px no-repeat; background-size: 20px; }
	.contactline p.phoneline a:hover { padding-left: 25px; font-size: 14px; background: url("images/phone_c.png") left 3px no-repeat; background-size: 20px; }
	
	a.facebook, a.instagram { width: 18px; height: 18px; line-height: 24px; margin: 8px 5px 0px 0px; border-radius: 3px; }
	.header a.facebook { position: relative; top: 5px; }
	
	.search-field { background-size: 20px 20px; top: -3px; height: 26px; padding: 0 0 0 26px; }
	
	.docSection, .serviceSection { padding-top: 25%!important; background-size: 80%; }
	
}

@media only screen and ( max-width: 575px ) {
	
	.introSpot .container h2 { font-size: 36px; }
	.captionthing { font-size: 18px; }
	
}

@media only screen and ( max-width: 525px ) {
	.implantLineup { justify-content: center; align-items: center; width: 300px; margin: 0px auto; }
	.afterTheFact { text-align: center; }
}

@media only screen and ( max-width: 510px ) {
	.quicktime p.lineme a, p.lineme2 a, p.lineme3 a { font-size: 12px; position: relative; top: -1px; }
	.quicktime p.lineme, .quicktime p.lineme2 { margin-right: 1px; }
	.quicktime p.lineme { margin-left: 38px; }
	.header a.facebook { width: 14px; height: 14px; line-height: 18px; }

	.contactline p { position: relative; top: -3px; }
	.contactline p.phoneline { margin: 0px 5px 0px 0px; }
	.contactline p.phoneline a span { display: none; }
	
}

@media only screen and ( max-width: 500px ) {
	
	.docSection, .serviceSection { padding-top: 32%!important; background-size: 93%; }
	.serveme li, .doctors li { width: 250px; max-width: 90%; }
	
}

@media only screen and ( max-width: 465px ) {
	
	.surprise { display: inline-block!important; }
	
}

@media only screen and ( max-width: 420px ) {
	.flip-card { width: 90%; height: 500px; }
}

@media only screen and ( max-width: 400px ) {
	.home_thumbnail { display: none!important; }
	
	.flip-card { width: 90%; height: 400px; }

	.search-field { background-size: 18px 18px; top: -1px; left: -2px; }
	.quicktime p.lineme { margin-left: 24px; }
	.quicktime p.lineme2 { margin-right: 0px; }
	p.lineme a, p.lineme2 a { border-radius: 3px; padding: 0px 2px; }
	 .contactline p.phoneline { margin: 0px 0px 0px 0px; }
	.contactline p.phoneline a { padding-left: 20px; background-size: 18px; }
}