:root {
  --sdsdarkblue: #31369d;
  --sdslightblue: #408cfe;
  --sdsgray: #6a788d;
}





h1, h2, h3, h4 {
	color: var(--sdsdarkblue);
	font-weight: 600;
}


#homepage-featured {
	background-color: var(--sdsdarkblue);
}



/*********************/
/*** Navigation Bar ***/
/*********************/
#logo {
	position: relative;
	z-index: 9999;
	margin-left: auto;
	margin-right: auto;
}

#top-header .navbar {
	margin-top: 1em;
}

@media (min-width: 992px) {
	.navbar {
		margin-top: initial !important;
	}
	#logo {
		margin-left: initial;
		margin-right: initial;
	}
}

#top-header .navbar-nav {
	margin-top: 3em;
}

#headercontact .social {
	display: none !important;
}

#headercontact .social .fa {
	font-size: 1.25rem !important;
	color: var(--sdsdarkblue);
	
}

@media (min-width: 992px) {
	#headercontact .social {
		display: inline-block !important;
	}
}

.navbar-expand-lg .navbar-nav .nav-link {
	font-size: 1rem;
	font-weight: 400;
}

@media (max-width: 1100px) {
	.navbar-expand-lg .navbar-nav .nav-link {
		font-size: .85rem;
	}
}

.navbar-side-content {
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

.navbar .dropdown:hover>.dropdown-menu, .navbar .dropdown-menu:hover {
  display: block;
}

a.text-dark, a.text-dark:focus {
	font-size: .875rem;
}

a.text-dark:hover, a.text-dark:focus {
	color: #3477ad !important;
}

.dropdown-menu {
	margin: 0;
}

.dropdown-item {
	padding: 0.35rem 0.75rem;
	font-size: .85rem;
}

.dropdown-item, .dropdown-item:focus {
	color: black;
	text-decoration: none;
	background-color: #F8F8F8;
}

.dropdown-item:hover, .dropdown-item:focus {
	color: white;
	background-color: var(--sdslightblue);
}




/**** Sidebar Menu ***/
#headers-4-sidebar .navbar-nav {
	margin-top: 0em;
}

#top-header .navbar-side .text-white {
	font-weight: 400;
}

.navbar-side .navbar-side-content {
	background: rgba(8, 43, 121, 0.92);
}

.navbar-side .navbar-side-content .nav-link {
	font-size: 1.15rem;
	line-height: 2.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.navbar-side .dropdown-item, .navbar-side .dropdown-item:focus {
	color: white;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background-color: rgba(8, 43, 121, 0.92);
	padding-left: 2rem;
}

.navbar-side .dropdown-item:hover, .navbar-side .dropdown-item:focus {
	color: #3477ad;
	background-color: white;
}

.navbar-side .social .fa {
	color: white;
	font-size: 1.25rem;
}




/*** Responsive Buttons ***/
#headercontact {
	margin-top: .5em;
}

#headercontact .btn-outline-primary {
	display: inline-block;
}

@media (max-width: 465px) {
	#headercontact .btn-outline-primary {
		display: block;
	}
}

@media (max-width: 992px) {
	#headercontact {
		position: relative !important;
		margin-top: 0em;
	}
	#headercontact .small {
		margin-right: auto;
		margin-left: auto;
		text-align: center !important;
	}
	#headercontact .btn-primary {
		margin-bottom: .25rem;
	}
}








/*********************/
/*** Homepage Cover ***/
/*********************/
#homepage-cover {
	background-color: #e7ecf9;
	/* min-height: 600px; */
	position: relative;
    overflow: hidden;
	
    background-image: url("../vid/homepage-cover.jpg");
    background-position: center center;
    background-size: cover;
}

#homepage-cover h1 {
	font-size: 2.5rem;
	color: white;
	padding: 0px;
	text-shadow: 0px 4px 6px rgba(0,0,0,0.5);
}

#homepage-cover p {
	font-size: 1rem;
	padding: 0px;
	text-shadow: 0px 4px 6px rgba(0,0,0,0.5);
}

#homepage-cover .btn-outline-primary {
	background-color: initial;
	border-color: white;
	border-radius: 30px;
	color: white !important;
}

#homepage-cover .btn-outline-primary:hover {
	background-color: var(--sdslightblue);
	border-color: var(--sdslightblue);
	color: white !important;
}

@media (min-width: 766px) {
	#homepage-cover h1 {
		font-size: 3.5rem;
		padding: 0px;
	}

	#homepage-cover p {
		font-size: 1.25rem;
	}
}




/************************/
/*** Cover Video ***/
/************************/
.background-video-container {
  pointer-events: none;
  position: absolute;
  top: 0rem;
  right: 0rem;
  bottom: 0rem;
  left: 0rem;
}
.background-video-container video {
  /* background-image: url('*** Poster image goes here ***'); */
  background-size: cover;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  /* width: auto; */
  position: absolute;
  top: 50%;
  right: 0rem;
  bottom: 0rem;
  left: 50%;
}
.background-video-container-overlay {
	position: absolute;
	top: 0px; right: 0px; bottom: 0px; left: 0px;
	background-color: rgba(0,0,0,0.0.33); /* This controls the color and transparency of the video overlay */
}





/************************/
/*** Homepage Slideshow ***/
/************************/
#homepage-slideshow .carousel-control-prev, #homepage-slideshow .carousel-control-next {
	color: white;
	font-size: 3rem;
}

#homepage-slideshow .bg-cover {
	background-color: rgba(0,0,0,0);
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet {
	background-color: rgba(255,255,255,0.2);
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: white;
}

.swiper-slide {
    background-position: center center;
    position: relative;
}

.swiper-slide-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    /* background-color: rgba(27,42,82,0.8); */
}

.images-ratio.ratio-16-9 {
	height: 600px;
}


#homepage-slideshow {
	background-color: #e7ecf9;
	min-height: 600px;
	height: calc(30rem);
	position: relative;
    overflow: hidden;
	
    /* background-image: url("../vid/homepage-cover.jpg"); */
    background-position: center center;
    background-size: cover;
	display: none;
}

#homepage-slideshow h1 {
	font-size: 2.5rem;
	color: white;
	padding: 0px 90px;
}

#homepage-slideshow p {
	font-size: 1rem;
	padding: 0px 60px;
}

@media (min-width: 766px) {
	#homepage-slideshow h1 {
		font-size: 3.5rem;
		padding: 0px;
	}

	#homepage-slideshow p {
		font-size: 1.25rem;
	}
	
	#homepage-slideshow {
		display: block;
	}
}


/************************/
/*** Top Banner Mobile Only ***/
/************************/
#mobile-top-banner {
	background-image: url("../img/request-background.svg"); 
	background-position: center center;
    background-size: cover;
	position: initial;
	display: block;
}

#mobile-top-banner h1 {
	color: white;
}

#mobile-top-banner p {
	color: white;
}

#mobile-top-banner .btn-outline-primary {
	background-color: initial;
	border-color: white;
	border-radius: 30px;
	color: white !important;
}

#mobile-top-banner .btn-outline-primary:hover {
	background-color: #3477ad;
	border-color: #3477ad;
	color: white !important;
}

@media (min-width: 765px){
	#mobile-top-banner {
		display: none !important;
	}
	
}












/*********************/
/*** Buttons ***/
/*********************/
.btn-outline-primary {
	background-color: var(--sdsdarkblue);
	border-color: var(--sdsdarkblue);
	color: white;
	border-radius: 30px;
}

.btn-outline-primary:hover {
	background-color: var(--sdslightblue);
	border-color: var(--sdslightblue);
	color: white;
}

.btn-primary a {
	color: white !important;
}

.btn-primary i {
	color: white !important;
}





/*********************/
/*** Promo Banner ***/
/*********************/
#promo-banner {
	background-color: #fafafa !important;
}

@media (min-width: 1200px) {
	#promo-banner {
		background-image: url("../img/promo-background.jpg");
		background-color: #fafafa;
		background-position: center center;
		background-size: cover;	
		background-attachment: fixed;
		height: auto;
	}

}





/*********************/
/*** Second Banner ***/
/*********************/
#second-banner {
	background-color: #fafafa !important;
}

@media (min-width: 1200px) {
	#second-banner {
		background-image: url("../img/savings-plan-background.jpg"); 
		background-color: #fafafa;
		background-position: center center;
		background-size: cover;	
		background-attachment: fixed;
		height: auto;
	}

}





/***************************/
/*** Reviews Banner ***/
/***************************/
#reviews-banner .fa-star {
	color: var(--sdslightblue);
	font-size: 2rem;
}





/*********************/
/*** Split Screen 1 ***/
/*********************/
#split-first .btn-round { 
	border-radius: 30px; 
}

#split-first .bg-color { 
	background-color: var(--sdsdarkblue); 
}

#split-first h1 { 
	color: white; 
}

#split-first h2 { 
	color: white; 
}

#split-first a { 
	color: white; 
}

@media (min-width: 766px) {
    #split-first .h-md-100 { 
		height: 500px; 
	}
}






/**************************/
/*** Request Consult Banner ***/
/**************************/
#request-banner {
	background-image: url("../img/request-background.svg");
	background-size: 500px 500px;
	background-position: center center;
	padding: 1rem 0;
}

#request-banner .form-control {
	background-color: white;
}

#request-banner h1 {
	color: white;
}

#request-banner .btn-outline-primary {
	background-color: initial;
	border-color: white;
	border-radius: 30px;
	color: white !important;
}

#request-banner .btn-outline-primary:hover {
	background-color: #3477ad;
	border-color: #3477ad;
	color: white !important;
}




/*********************/
/*** Links ***/
/*********************/
#links {
	background-image: url("../img/background-banner.svg");
	background-size: 300px 300px;
	background-position: center center;
	padding: 1rem 0;
}

/* Button Styles */
.icon-btn button {
    margin: 10px;
}

.btn-text{
    width: 60%;
	font-size: 1.2rem;
}

.btn-gradient {    
    width: 40%;
    position: relative;
    display: inline-block;
    left: -20px;
    background: rgba(0, 0, 0, 0.15);
    border-top-right-radius: 60px;
    padding: 8px 24px 8px 16px;
    box-shadow: 2px 0px 0px 0px rgba(78, 72, 72, 0.4);
}

.btn-gradient i{
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.radius-style button{
    border-radius: 30px;
}

.radius-btn{
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}

a:hover span {
    border-bottom: none !important;
}

.btn-clue {
    font-size: 23px;
    padding: 0px 20px;
    color: #fff;
    background-color: #3477ad;
    border: none;
    justify-content: center;
    align-items: center;
    display: flex;
	max-width: 100% !important;
    width: 100%;
	box-shadow: 0 0 1px #ccc;
    -webkit-transition: all 0.5s ease-in-out;
	text-align: center;
    margin-right: auto !important;
    margin-left: auto !important;
}

.btn-clue:hover{
    -webkit-transform: scale(1.1);
    background: #3477ad;
}

@media (min-width: 414px) {	
	.icon-btn button {
		margin: 10px;
	}
	
	.btn-clue {
		width: 450px;
	}
	
}






/***************************/
/*** Appointment Honeypot ***/
/***************************/
#lastname {
    display: none;
}




/***************************************/
/*** Multi-Step Appointments (APPT3) ***/
/***************************************/

.multistep-appt p {
	font-size: 120%;
}

.multistep-appt input, .multistep-appt textarea {
	background-color: white !important;
}

.appt-day {
	background-color: rgba(215, 223, 238, 0.8);
	border-radius: 2em;
	padding: 0.5rem;
	border: 4px white solid;
}

.appt-day .btn-outline-primary {
	background-color: white;
	color: #3477ad;
	border-radius: 2em;
}

.appt-day .btn-outline-primary i {
	font-size: 3em;
	display: block;
	margin-bottom: -0.25em;
	margin-top: -0.05em;
}

.appt-day .btn-outline-primary:hover {
	background-color: #eaf3ff;
}

.appt-day .btn-check:active+.btn-outline-primary, .btn-check:checked+.btn-outline-primary, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show, .btn-outline-primary:active {
	background-color: #3477ad !important;
	border-color: #3477ad;
}

#appt-medicare-warning {
	background-color: #ff3b30;
	color: white;
	border-color: red;
	font-weight: 700;
}

.appt-disclaimer {
	font-size: 0.85rem !important;
}

@media(max-width: 575px) {
	/* Bootstrap XS */
	.appt-day .btn-outline-primary {
		font-size: 0.9rem;
	}
}






/*********************/
/*** Footer ***/
/*********************/
#footer {
	background-color: var(--sdsgray); 
}

#footer .fa {
	font-size: 1.25rem;
	color: white;
}

#footer .btn-outline-primary {
	background-color: initial;
	border-color: white;
	border-radius: 30px;
	color: white !important;
}

#footer .btn-outline-primary:hover {
	background-color: #3477ad;
	border-color: #3477ad;
	color: white !important;
}

#footer h2 {
	margin-left: auto;
    margin-right: auto;
}

@media (min-width:766px) {
	#footer h2 {
		margin-left: initial;
		margin-right: initial;
	}
}






/*********************/
/*** Sitemap ***/
/*********************/
#sitemap {
	background-color: var(--sdsdarkblue);
}





/*********************/
/*** Inside Pages ***/
/*********************/
#inside-header {
	/* background-image: url("../img/request-background.svg");
	background-size: 500px 500px;
	background-position: center center; */
	background-color: var(--sdsdarkblue);
	padding: 1rem 0;
}

#inside-header h1 {
	color: white;
}

#content {
	padding-top: 1em;
	padding-bottom: 1em;
}

@media (min-width:992px) {
	#content {
		padding-top: 6em;
		padding-bottom: 6em;
	}
}

#content img {
	padding-top: 1rem;
	padding-bottom: 1rem;
	max-width: 100%;
	width: 100%;
}

#content hr {
	clear: both;
	margin-bottom: 2rem !important;
	margin-top: 2rem !important;
}

#content .images-ratio {
	background-position: center;
	height: auto;
}

.cracked-teeth img {
	padding-top: 1rem;
	padding-bottom: 1rem;
	max-width: 100%;
	width: 80px !important;
}


/* Office Hours */
.table {
	width: auto;
	margin-left: auto;
	margin-right: auto;
}

.table th {
	font-weight: 500;
	color: white;
	background-color: #3477ad;
}

.table .closed {
	color: rgb(216, 0, 0);
}

@media (min-width:766px) {
	.table {
		width: auto;
		margin-left: initial;
		margin-right: initial;
	}
}

#gentlewave-slide .swiper {
	margin-left: auto !important;
	margin-right: auto !important;
}

#content .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet {
	background-color: rgba(0, 0, 0, 0.3) !important;
}

#content .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #3477ad !important;
}



/* Hovering Gallery - Meet the Team */
#hover-gallery .row {
  position: relative;
}

#hover-gallery .image {
  opacity: 1;
  display: block;
  width: 100%;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
}

#hover-gallery .middle {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}

#hover-gallery .gallery-item:hover .image {
  opacity: 0.3;
}

#hover-gallery .gallery-item:hover .middle {
  opacity: 1;
}

#hover-gallery .text {
  background-color: #3477ad;
  color: white;
  font-size: 16px;
  padding: 10px 20px;
}

#hover-gallery .text a {
  color: white;
}	

#hover-gallery .modal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 0;
	border-bottom: 0 solid #f6f6f6; 
}	

#hover-gallery .close span {
	font-size: 1.5em;
	padding-right: .25em;
}	

@media (min-width: 576px) {
	#hover-gallery .modal-dialog {
        max-width: 750px !important;
    }
	
	#hover-gallery .modal-body {
		 padding: 1em;
	}
	
	#hover-gallery .modal-body h2 {
		 color: #3477ad;
	}
	
	#hover-gallery .modal-body img {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}



/* Toothority Styles */
.muvi-container {
	text-align: center;
	background-color: rgba(0,0,0,0.05);
	padding: 20px 20px 10px 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	border-radius: 14px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.muvi-container video {
	width: 100%;
}
.muvi-caption, .muvi-caption a {
	font-size: 10px;
	color: rgba(0,0,0,0.25) !important;
}
.muvi-caption a {
	margin-left: 1em;
	text-decoration: none;
}



/* ANIMATIONS */
@media (min-width: 992px) {
    [data-animation] {
      visibility: hidden;
    }
    [data-animation].animate__animated {
      visibility: visible;
    }
}

