/*
Theme Name: Krystal Smiles
Author: Raketeros
Description: Theme for Krystal Smiles website
Version: 1.0
Tags: bootstrap
*/

html {
    scroll-behavior: smooth;
}
body {
    width: 100%;
    height: 100%;
    font-family: Sarabun, sans-serif;
    font-size: 16px;
    color: #fff;
}

h1, h2, h3, h4, h5 {
    font-family: Sarabun;
    font-weight: bold;
    color: inherit;
    margin: 0;
}

a {
    color: inherit;
    font-size: inherit;
}
a:hover,
a:visited {
    text-decoration: none;
    color: inherit;
}
a.site-button:hover,
a.site-button:visited {
    color: inherit;
}

.no-gutters {
    padding-left: 0;
    padding-right: 0;
}

.inline-block {
    display: inline-block;
}

.flexbox {
    display:flex;
    justify-content:center;
    flex-flow: column;
}
.flexbox.hcenter {
    align-items: center;
}

ul.no-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.no-bullets > li {
    margin: 5px 0;
}
ul.no-bullets li:first-child {
    margin-top: 0;
}
ul.no-bullets li:last-child {
    margin-bottom: 0;
}

ul.inline-list {
    margin: 0;
    padding: 0;
}
ul.inline-list li {
    display: inline-block;
}

.site-button {
    border-radius: 4px;
    background-color: #0E79B5;
    color: #fff;
}
.site-button-white {
    background-color: #fff;
    color: #0E79B5 !important;
}

.light-text {
    opacity: 0.25
}

.desktop,
.tablet {
    display: none;
    padding: 0;
}
.mobile {
    display: block;
    padding: 0;
}

.shaded-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: 30%;    
}

#btnScrollToTop {
    display: none;
    position: fixed;
    width: 120px;
    margin-left: -60px;
    top: 0;
    left: 50%;
    z-index: 99;
    font-size: 14px;
    font-weight: bold;
    font-family: Roboto;
    border: none;
    outline: none;
    background-color: #fff;
    color: #0E79B5;
    cursor: pointer;
    padding: 5px 10px;
    -webkit-border-bottom-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    -moz-border-radius-bottomleft: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    z-index: 1000;
}

.content-wrapper {
    background: #fff;
}

.content .section-container:nth-child(even) {
    background: #fff;
}
.content .section-container:nth-child(odd) {
    background: #0E79B5 !important;
}
.content .section-container.header {
    background: #fff !important;
}
.content .section-container.full-width {
    padding-left: 0;
    padding-right: 0;
}
.content .section-container#video-banner {
    padding: 0;
    background: none;
}
.home.content .section-container:first-child {
    padding: 0;
}

header {
    margin: 5px 0;
    display: flex;
    align-items: baseline;
}
header .site-brand {
    padding-left: 15px;
    padding-right: 15px;
}
header .site-brand:last-of-type {
    margin-bottom: 0;
}
header .site-brand.call-us {
    padding-left: 15px;
    padding-right: 15px;
}
header .site-logo img {
    width: 100%;
}
header .call-us {
    text-align: center;
}
header .call-us {
    display: flex;
    align-items: baseline;
    text-align: right;
    flex-direction: row-reverse;
}
.call-us .btn-call-us,
.our-expertise .btn-view-gallery,
.contact-us .feedback .feedback-form .btn-submit-feedback {
    display: block;
    padding: 10px;
    font-family: Roboto;
    font-weight: bold;
    border: none;
    align-items: baseline;
}
.call-us button span {
    padding: 0 5px;
}
.call-us .phone-num {
    display: none;
    color: #A7A7A7;
}

.banner {
    margin: 0;
    background: url(assets/images/banner.png) no-repeat;
    background-size: cover;
    height: 300px;
    color: #fff;
    position: relative;
}
.mobile .banner .banner-text {
    position: absolute;
    padding: 10px;
    width: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.banner .banner-text .main-text {
    margin: 0 0 25px;
    font-weight: bold;
}
.banner .banner-text .subtext {
    margin: 0;
}

.page-nav {
    margin: 5px 0; 
    border-bottom: 1px solid #fff;
    font-family: Roboto;
    font-weight: lighter;
    margin: -5px 0 0 0;    
    background: #0E79B5;
}
.page-nav-wrapper {
    margin: 5px 5px 10px;
    margin: 0;
}
.page-nav > .page-nav-wrapper > ul {    
    padding: 5px;
    text-align: center;
}
.page-nav > .page-nav-wrapper > ul > li {
    display: inline;
    padding: 5px 10px;
    margin: 5px 0;
    border-right: 1px solid #fff;
}
.page-nav > .page-nav-wrapper > ul > li:last-child {
    border-right: none;
}
.page-nav > .page-nav-wrapper > ul > li > a {
    font-size: 14px;
    font-size: 3vw;
}

#video-banner .video-player {
    height: 359px;
    cursor: pointer;
}
#video-banner .video-player video {    
    width: 100%;
    height: 100%;
    background: #000;
}

.testimonials {
    margin: 30px 0 0;
    padding: 10px;
}
.testimonials .subheading {
    margin: 0 0 20px;
}
.testimonials .subheading .subheading-title {
    margin: 0;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: bold;
}
.testimonials .headshot {
    float: left;
    text-align: center;
}
.testimonials .headshot-image {
    border-radius: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: center;
}
.testimonials .featured .headshot {
    float: left;
    width: 65px;
}
.testimonials .featured .headshot .headshot-image {
    width: 55px;
    height: 55px;
}
.testimonials .featured .headshot .headshot-image img {
    max-width: 55px;
    max-height: 55px;
    width: auto;
    height: auto;
    border-radius: 50%;
}
.testimonials .verbiage {
    float: left;
}
.testimonials .featured .verbiage {
    float: left;
    font-size: 20px;
    font-weight: 500;
}
.testimonials .testimonials-others {
    margin: 20px 0 0;
    font-size: 14px;
}
.testimonials .testimonials-others h4 {
    padding-bottom: 10px;
    font-size: 14px;
    border-bottom: 2px solid #fff;
}
.testimonials .testee-list .testee:first-of-type {
    padding-top: 20px
}
.testimonials .testee {
    padding: 10px 5px;
}
.testimonials .testee .testee-name {
    margin: 0 0 10px;
    text-transform: uppercase;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    
}
.testimonials .testee .headshot .headshot-image {
    height: 30px;
    width: 30px;
}
.testimonials .testee .verbiage {
    float: right;
    padding-left: 10px;
    font-size: 14px;
}

.about-us,
.our-expertise,
.contact-us {
    margin-top: 30px;
    padding: 0 10px;
}
.about-us .heading div:first-child,
.our-expertise .heading div:first-child {
    border-bottom: 5px solid #0E79B5;
}
.our-expertise .heading div:first-child {
    border-bottom: 5px solid #fff;
}
.about-us .heading-title,
.our-expertise .heading-title {    
    padding-bottom: 15px;
    color: #0E79B5;
    font-size: 40px;
}
.our-expertise .heading-title {
    color: #fff;
}
.about-us .verbiage,
.our-expertise .verbiage {
    color: #000;
    margin: 30px 0;
}
.our-expertise .verbiage {
    color: #fff;
}
.about-us .verbiage ul,
.our-expertise .verbiage ul {
    margin: 15px 0;
}

#testimonials .banner {
    background-image: url(assets/images/banner-about-us.png);
    background-size: contain;
    height: 140px;
}
#testimonials .mobile .banner,
#ourExpertise .mobile .banner {
    background: none;
    height: auto;
}
#testimonials .mobile .banner img,
#ourExpertise .mobile .banner img {
    width: 100%;
}

.our-expertise .gallery-action {
    text-align: center;
    margin-top: 30px;
}
.our-expertise .gallery-action .site-button {
    font-family: Roboto;
    font-size: 14px;
    font-weight: bold;
}
.our-expertise .gallery-action .btn-view-gallery {
    display: inline-block;
    width: 155px;    
    text-align: center;
}
.our-expertise .verbiage p:last-of-type {
    margin-bottom: 0;
}
#ourExpertise .banner {
    background-image: url(assets/images/banner-our-expertise.jpg);
}

.contact-us {
    color: #000;
    margin-bottom: 30px;
}
.contact-us .heading {
    color: #0E79B5;
    border-bottom: 5px solid #0E79B5;
}
.contact-us .heading .heading-title {
    padding-bottom: 15px;
    font-size: 28px;
}
.contact-us .feedback {
    color: #000;
}
.contact-us .feedback .results {
    padding: 0;
}
.contact-us .feedback .results .alert {
    margin: 15px 0;
}
.contact-us .feedback .feedback-form,
.contact-us .location .logo {
    padding-top: 15px;
    padding-bottom: 15px;
}
.contact-us .feedback .feedback-form .form-group {
    font-size: 12px;
}
.contact-us .feedback .feedback-form .form-group label {
    display: block;
    padding: 0 5px;
    font-weight: normal;
}
.contact-us .feedback .feedback-form input.form-control {
    padding: 5px;
    border: none;
    border-bottom: 1px solid #979797;
    border-radius: 0;
    box-shadow: none;
}
.contact-us .feedback .feedback-form ::placeholder {
    opacity: 0.25
}
.contact-us .feedback .feedback-form textarea {
    height: 165px;
    resize: none;    
}
.contact-us .feedback .feedback-form .form-action {
    text-align: center;
}
.contact-us .feedback .feedback-form .btn-submit-feedback {
    display: inline-block;
    width: 155px;
    height: auto;
}
.contact-us .feedback .feedback-form .error {
    color: red;
}
.contact-us .location {
    margin-top: 30px; 
}
.contact-us .location .logo img {
    width: 100%;
}
.contact-us .location .location-map {
    margin: 15px 0 30px;
}
.contact-us .location .location-map iframe {
    width: 100%;
}
.contact-us .location .contact-details .contact-detail {
    margin: 0 0 15px;
    font-weight: 500;
}
.contact-us .location .contact-details .contact-detail:last-of-type {
    margin-bottom: 0;
}
.contact-us .location .contact-details .glyphicon {
    color: #0E79B5;
}
.contact-us .location .contact-details .contact-detail ul > li {
    margin: 0;
}

.footer {
    padding: 30px;
    text-align: center;
    color: #0E79B5;
}
.footer ul > li {
    padding: 0 5px;
}

/* Gallery Modal */
#gallery {  
    background: #fff;
}
#modalGalleryGrid .modal-dialog {
    width: 100%;
}
#modalGalleryGrid .modal-content {
    box-shadow: none;
    border: none;
    border-radius: 0;
}
#modalGalleryGrid .imgs-grid .imgs-grid-image {
    padding: 5px;
    background: #fff;
}
#modalGalleryGrid .imgs-grid .imgs-grid-image:nth-child(-n+3) {
    padding-top: 0;
}
#modalGalleryGrid .imgs-grid .imgs-grid-image:nth-child(1),
#modalGalleryGrid .imgs-grid .imgs-grid-image:nth-child(4) {
    padding-left: 0;
}
#modalGalleryGrid .imgs-grid .imgs-grid-image:nth-last-child(-n+2) {
    padding-bottom: 0;
}
#modalGalleryGrid .imgs-grid .imgs-grid-image:nth-child(3),
#modalGalleryGrid .imgs-grid .imgs-grid-image:nth-child(5) {
    padding-right: 0;
}

#modalGalleryGrid .thumb-box {
    height: 250px;
    padding: 0;
    border: 20px solid #fff;
    border-top: none;
    border-left: none;
    border-right: none;
}
#modalGalleryGrid .thumb-box:nth-child(4n) {
    padding-right: 0;
    border-right: none;
}
#modalGalleryGrid .thumb-box .image-thumb {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    width: 100%;
}
.carousel-item img {
    height: 60vw;
    object-fit: cover;
}