/* common Page Elements */
body {
    font-family:  'Nunito', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	color: #2e3133;
}

.content-wrapper 
{
  /*padding-top:100px;*/
}
.content 
{
}

.btn-primary 
{
    background: #312f31;
    border-color: #312f31;
    color: white;
    text-transform: uppercase;
    border-radius: 32px;
}
.btn-primary:hover
{    
  background: #312f31;
  border-color: #312f31;
  filter:brightness(80%);
}
.btn-secondary 
{
    background: #201d1e;
    border-color: #201d1e;
    color: #434950;
    text-transform: uppercase;
}

a {
    color: #312f31;
}

h1 {
    font-family: 'Fredoka One';
    color: #2f2d2e;
    text-transform: none;
    font-weight: bold;
    font-size: 50px;
    margin-bottom: 1rem;
}
h2 {
    font-family: 'Fredoka One';
    color: #2f2d2e;
    text-transform: none;
    font-weight: bold;
    font-size: 40px;
    margin-bottom: 20px;
}

h3 {
    font-family: 'Fredoka One';
    color: #2f2d2e;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 30px;
}

.btn-lg 
{
    padding: .5rem 1.5rem;
    text-transform: uppercase;
    font-size: 1rem;
}

/* Main Navigation Bar/Header */

.top-bar {
  background: #2f2d2e;
  position: fixed;
  transition: 0.4s;
  box-shadow: 0 4px 2px -2px rgba(0, 0, 0, 0.08);
  padding: 18px 0;
}
.top-bar .container{
  position: relative;
}

.top-bar .logo .navbar-logo{
  height: 46px;
  width: auto;
  padding-top: 2px;
}

#mainNav {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  font-weight: 600;
  background: transparent;
  position: absolute;
  top: 70px;
  display: block;
  width: 100%;
  
}
.navbar > .container
{
  align-items:start;
}
#mainNav .navbar-logo{
    max-height: 120px;
    max-width: 400px;
    transition: height 0.3s;
}
#mainNav .navbar-logo-text, .logo .navbar-logo-text
{
    font-family: 'Fredoka One';
    color: white;
    font-size: 30px;
    text-decoration: none;
}
#mainNav .navbar-nav {
    margin-top: 1rem;
}
#mainNav .navbar-nav li.nav-item a.nav-link {
    color: #fff;
    padding: 2px 10px 2px 10px;
    font-weight: normal;
    font-size:14px;
}
#mainNav .navbar-nav li.nav-item a.nav-link:hover {
    color: #fff;
    background: #201d1e;
}

.navbar .navbar-nav li.nav-item.active a.nav-link {
    color: #201d1d !important;
}
.navbar .navbar-nav li.nav-item.active a.nav-link:hover{
    color: #201d1d !important;
    background: transparent !important;
}

#mainNav .navbar-toggler {
    font-size: 80%;
    padding: 0.8rem;
}
#mainNav .nav-socials-contacts 
{
    display: none;
}


/* Social and Contact Section */

.nav-socials 
{
    display:inline;
    color: #fff;
    font-weight:bold;
    float:left;
}
.nav-socials a.nav-social
{
    color: #fff;
    margin-right:12px;
    cursor: pointer;
}
.nav-socials a.nav-social:hover
{
     filter: brightness(50%);
}
.nav-contacts 
{
    display:inline;    
    color: #fff;
    font-weight:bold;
    text-transform: uppercase;
    float: right;
    text-align: right;
}
.nav-contacts .nav-contact-link
{
    margin-right:15px;
    color: #fff;
    text-decoration: none;
}
.nav-contacts .nav-contact-link:hover
{
  filter:brightness(0.9);
}
.nav-contacts .nav-contact-icon 
{
    color: #312f31;
    margin-right:3px;
}

/* Mobile Menu */
.mobile-menu-wrap{
  display: none;
  z-index: 1000;
}
.logo span{
  display: block;
  color: #7AC9B2;
}

#mobile-menu-wrap{
  position: absolute;
  right: -30px;
  top: -7px;
  display:none;
}

.slicknav_menu {
  display:none;
  background:transparent !important;
  padding:0;
  width: 250px;
}
.slicknav_nav{
  box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.08);
}

.slicknav_btn{
  background:none;
  font-size:24px;
}
.slicknav_menu .slicknav_menutxt {
  display: none;
}

.slicknav_nav ul {
  background: #312f31;
  border-radius:5px;
  text-align:left;
  padding:5px;
  margin: 0 0 0 5px;
}
.navbar-nav .nav-link {
   padding-right: 5px;
   padding-left: 5px;
}

.slicknav_nav a:hover {
    background-color: #B4E5D7 !important;
}

.slicknav_nav .slicknav_row:hover, .slicknav_nav .slicknav_row:hover a{
  color:#222;
}

.mobile-menu {
  justify-content: end;
  align-self:center;
}

.mobile-menu ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.mobile-menu li {
    color: #fff;
    display: block;
    float: left;
    position: relative;
    text-decoration: none;
  transition-duration: 0.3s;
}
  
.mobile-menu li a {
  color: #252525;
}

.mobile-menu li:hover:not(.active),
.mobile-menu li:focus-within:not(.active) {
    cursor: pointer;
    border-radius: 3px;
}

.mobile-menu li:focus-within a {
  outline: none;
  text-decoration: none;
}
.mobile-menu li ul a{
 text-decoration: none;
 line-height: 125%;
 display: block;
 width:93%;
 font-weight: 500;
}

.mobile-menu .dropdown{
  position: relative;
  padding-right:14px;
  z-index: 100;
}

.mobile-menu .dropdown:hover{
  background:#201d1e;
}


.mobile-menu .nav-item:hover:not(.active){
  background: #201d1e !important;
}


.mobile-menu .nav-item:hover:not(.active) > a, .mobile-menu .dropdown:hover:not(.active) > a{
  color: #fff !important;
}

.mobile-menu .nav-item:hover:not(.active) > a, .mobile-menu .dropdown:hover:not(.active) > a{
  color: #fff !important;
}

.mobile-menu .dropdown:hover > a, .mobile-menu .dropdown:hover::after{
  color: #fff !important;
}

.mobile-menu ul li ul li:hover > a{
  color: #312f31 !important;
}

.mobile-menu .dropdown::after {
    color: #fff;
    position:absolute;
    right:7px;
    top:10px;
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.mobile-menu .dropdown-submenu::after {
    color: #252525;
    position:absolute;
    right:7px;
    top:17px;
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}
.mobile-menu .dropdown-submenu:hover::after {
  color: #312f31;
}



.mobile-menu ul li ul {
    background: #fff;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    transition: all 0.3s ease;
    left: 0;
    display: none;
    min-width:220px;
    border-top:3px solid #312f31;
    border-bottom:1px solid #312f31;
}


.mobile-menu ul li:hover > ul,
.mobile-menu ul li:focus-within > ul,
.mobile-menu ul li ul:hover,
.mobile-menu ul li ul:focus {
   visibility: visible;
   opacity: 1;
   display: block;
}

.mobile-menu ul li ul{
  top:25px;
}

.mobile-menu ul li ul li {
    clear: both;
  width: 100%;
  display: inline-block;
  padding:10px;
  border-bottom: 1px solid #e3e2e3;
}
.mobile-menu ul li ul li:last-child {
  border-bottom: 1px solid transparent;
}

.mobile-menu ul li ul li ul{
  top:0;
  left:100%;
}

.slicknav_menu .slicknav_item{
  width:93%;
  position: relative;
  line-height: 1.2;
}
.slicknav_menu .slicknav_nav .slicknav_arrow{
  position: absolute;
  right: 5px;
  top: 7px;
}



/*Scroll Button to Top*/
.footer-back-to-top {
    position: absolute;
    left: 88%;
    margin-right: -15px;
    display: none;
}

.footer-back-to-top .back-to-top {
    width: 100%;
}

.footer-back-to-top .back-to-top {
    width: 100%;
}

.footer-back-to-top .fa {
    /* margin-left: -50px; */
    width: 40px;
    height: 40px;
    display: inline-block;
    position: fixed;
    z-index: 10000;
    bottom: 80px;
    font-size:24px;
    text-align: center;
    border-radius:50%;
    border:2px solid #EA5F40;
    line-height: 32px;
    background: rgba(234,95,64, 0.20);
}



/* Main Banner Image */ 
.masthead {
    height: auto;
    min-height: 600px;
    background-color: #666;
    background-blend-mode: multiply;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-top: 200px;
    padding-bottom: 2rem;
}
.masthead .masthead-panel {
    width: 250px;
    align-self: end;
}
.masthead .masthead-heading {
  color: #fff;
  font-weight: 700;
  font-size: 2.5rem; 
  text-transform: none;
}
.masthead .masthead-subheading {
    font-size: 1rem;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
}
.masthead .btn-primary 
{
    background: #312f31;
    border-color: #312f31;
    border-radius: 32px;
}

.masthead .color-separator
{
  margin-top: 40px;
}

.sub-banner 
{
  min-height:250px;
  height: 20vw;
  width: 100%;
  background-color: rgba(0,0,0,0.6);
  background-size: cover;
  background-blend-mode: multiply;
  background-position: center;
}


/* Contact Box at bottom of page */

.contact-box {
  margin-top:30px;
  margin-bottom: 30px;
}

.contact-box
{
  background: #000000;
}

.contact-box h3 
{
  color: #fff;
}

.contact-box .btn-primary 
{
  background: #2f2d2e;
  border-color: #2f2d2e;
  font-size: 14px;
}


/* Breadcrumb */
.breadcrumb {
  background: #fff;
  padding:0;
}

/* Footer */
.footer {
    padding-top: 40px;
    padding-bottom: 2rem;
    background-color: #201d1e;
    color: #fff;
}
.footer h5 {
  color: #201d1d;
  text-transform: uppercase;
  font-size: 18px;
}
.footer .nav-socials 
{
    display: block;
}
.footer .nav-contacts
{
    display: block;
    text-align:left;
    text-transform:none;
    float: none;
}
.footer .nav-contact-link 
{
  display: block;
  margin-bottom: 10px;
  margin-right: 0;
}
.footer .nav-footer-links
{
    display:none;
}
.footer .nav-footer-links a
{
    color: #fff;
    font-weight: normal;
    margin-right: 15px;
    display: block;
}
.footer .nav-footer-links a:hover
{
    color: #312f31;
}

.bottom-bar 
{
  background: #2f2d2e;
  color: white;
  min-height: 80px;
  padding: 30px;
}
.bottom-bar #copyright 
{
    text-align: center;
    font-size: 12px;
}
.bottom-bar  #terms
{
    text-align:center;
    font-size:12px;
}
.bottom-bar  #terms a 
{
    font-size:12px;
    margin-right:15px;
}




.scroll-to-top {
    z-index: 1042;
    right: 1rem;
    bottom: 1rem;
    display: none;
}
.scroll-to-top a {
    width: 3.5rem;
    height: 3.5rem;
    background-color: rgba(33, 37, 41, 0.5);
    line-height: 3.1rem;
}
  
/* Custom Typography */
.pre-title 
{
    color: #201d1e;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.2rem;
}
.post-title 
{
    color: #000000;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.2rem;
}

.emphasis
{
    font-weight:bold;
}

/* Content Common */
.content img { width: 100%; }

.page-section {
  padding: 3rem 0;
}

.color-separator { height:10px; }
.color-separator div { width: 20%; height:10px; display: inline-block; margin:0; padding:0; }
.color-separator .segment-1 { background: #2f2d2e; width: 20%; height:10px; }
.color-separator .segment-2 { background: #2f2d2e; width: 20%; height:10px; }
.color-separator .segment-3 { background: #2f2d2e; width: 20%; height:10px; }
.color-separator .segment-4 { background: #2f2d2e; width: 20%; height:10px; }
.color-separator .segment-5 { background: #2f2d2e; width: 20%; height:10px; }


/* Home Page */
#home-page .page-section h2 
{
    text-align: center;
    margin-bottom: 10px;
}

/* Home Page - About/Welcome */
#home-page #intro-section .post-title
{
    text-align: center;
}
#home-page #intro-section #intro-text
{
  column-count: 1;
}

/* Home Page - Services */

#home-page #services-section
{
    padding: 40px 0 40px 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #666;
    background-blend-mode: multiply;
    min-height:400px;
    text-align: center;
}
#home-page #services-section h2
{
    color:white;
    margin-bottom:40px;
}

#home-page #services-section .services
{
  display: flex;
  justify-content: center;
}

.circle-wrapper {
  width: 200px;
  height: 200px;
  position: relative;
  float:left;
  margin-right:20px;
  margin-top:20px;
}

.circle-wrapper:last-child{
  margin-right:0;
}

.circle-wrapper .text {
  width: 100%;
  height: 100%;
  background: radial-gradient(
    ellipse at center,
    #312f31 0%,
    #312f31 70%,
    rgba(255, 255, 255, 0) 70.3%
  );
  margin: 0;
  color: white;

  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.circle-wrapper .text a {
  height: 200px;
  width:200px;
  display: none;
}

.circle-wrapper:hover
{
  filter: brightness(150%);
  cursor: pointer;
}


.circle-wrapper .text::before {
  content: attr(data-text);
  width: 50%;
  height: 100%;
  float: left;
  shape-outside: polygon(
    0 0,
    98% 0,
    50% 6%,
    23.4% 17.3%,
    6% 32.6%,
    0 50%,
    6% 65.6%,
    23.4% 82.7%,
    50% 94%,
    98% 100%,
    0 100%
  );
  shape-margin: 7%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  margin-left: 10%;
  color: #fff;
  font-size:1rem;
  justify-content: center;  
  text-transform: uppercase;
  font-family: 'Fredoka One';

}

.circle-wrapper .text a::before {
  content: "";
  width: 50%;
  height: 100%;
  float: right;
  shape-outside: polygon(
    2% 0%,
    100% 0%,
    100% 100%,
    2% 100%,
    50% 94%,
    76.6% 82.7%,
    94% 65.6%,
    100% 50%,
    94% 32.6%,
    76.6% 17.3%,
    50% 6%
  );
  shape-margin: 7%;
}



/* Home - Team */

#home-page #team-section
{
    background: #fff;
}
#home-page #team-section h2 
{
  margin-bottom: 30px;
}
#home-page #team-section .team-photo 
{
    width: 100%;
    height:300px;
    background-size:cover;
    background-repeat: no-repeat;
    border-radius: 10px;
}

/* Team Members */

.team-member {
  margin-bottom: 3rem;
}
.team-member .team-image-photo 
{ 
  height:250px; 
  background-size: cover; 
  background-repeat: no-repeat; 
}
.team-member h2.team-member-name {
  margin-top: 15px;
}
.team-member h2.team-member-name a {
  font-size: 20px;
  text-transform: none;
  color: inherit;
}
.team-member .team-member-position {
  font-weight:bold;
  margin-bottom:5px;
}
.team-member .team-member-more {
  margin-top:10px;
  display:block;
}

/* Home - Appointment */

.appointment-section
{
   background-repeat: no-repeat;
   background-size: cover;
}
.appointment-section h2
{
   margin-bottom: 30px;
}
.appointment-section .form-control
{
  background: #EAE6E4;
}
.appointment-section textarea
{
  height:95%;
}

/* Home - Partners */

 .badges { 
    display: flex; 
    justify-content: center;
    flex-wrap: wrap;
    margin-top:50px;
    margin-bottom:60px;
 }
 .badges .badge 
 {
    padding:20px 0;
    margin-right:60px;
 }

 .badges .badge:last-child 
 {
   margin-right: 0;
 }
 .badges .badge img 
 {
   height: 50px;
 }

/* Services */
.service {
  margin-bottom: 3rem;
}
.service .service-image img { max-height:300px; }
.service h2.service-name {
  margin-top: 15px;
  line-height: .7;
}
.service h2.service-name a {
  font-size: 20px;
  text-transform: none;
  color: inherit;
}
.service .service-more {
  margin-top:10px;
  display:block;
}


/* Service Page */

.service-page h2 { font-size: 24px; }
.service-page h3 { font-size: 20px; }

/* Contact Form Common */
.contact-form .form-control
{
  margin-bottom:0px;
}
.contact-form .form-control::placeholder, .contact-form select
{
  font-size:12px;
  text-transform: none;
  color: #2f2d2e;
}

.contact-form .col-md-12{
  padding-bottom:10px;
}
.contact-form .col-md-4 .form-control, .contact-form .col-md-8{
  margin-top:10px;
}

.contact-form  label.error{
 color: #e3342f !important;
 font-size:70%;
 font-weight: 400;
 margin-bottom:0;
}
.contact-form  .form-control.error{
  border: 1px solid #FB7064;
    color: #E74438;
}

/* Contact Page */

#contact-page 
{
  margin-bottom:60px;
}
.contact-form-wrapper 
{
  background: #EAE6E4;
  padding: 20px;
  border-radius:10px;
}
.contact-form-wrapper .contact-form .form-control::placeholder, .contact-form-wrapper .contact-form select
{
  text-transform: uppercase;
}
#contact-page .contact-details-wrapper
{
  padding-right: 40px;
  margin-bottom: 30px;
}
#contact-page .contact-details-wrapper h2 
{
  color: #312f31;
  font-size: 24px;
}
#contact-page .contact-details span
{
  display: block;
  margin-bottom: 15px;
  font-size: 20px;
}
#contact-page .contact-details a
{
  color: inherit;
}
#contact-page .social-icons a
{
  font-size: 24px;
  margin-right: 10px;
  color: #2f2d2e;
}
#contact-page .contact-location
{
  padding-top:30px;
  padding-bottom:30px;
}
#contact-page .contact-location .map {
    margin-bottom:20px;
}
#contact-page .contact-location .detail span {
    display:block;
    margin-bottom: 5px;
}
#contact-page .contact-location .detail a
{
  color: inherit;
}






/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) 
{

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    #mainNav {
      padding-top: 0.5rem;
      padding-bottom: 1.5rem;
      transition: padding-top 0.3s, padding-bottom 0.3s;
    }
    #mainNav .navbar-logo {
        max-height: 120px;
        max-width: 400px;
        transition: height 0.3s;
    }

    #mainNav .nav-socials-contacts 
    {
        display: inline-block;
        margin-bottom:10px;
    }

    #mainNav .navbar-nav {
      margin-top: 0;
    } 
    #mainNav.navbar-shrink {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
    }
    #mainNav.navbar-shrink .navbar-logo {
        height:80px;
        transition: height 0.3s;
    }
    .masthead {
        height: auto;
        padding-top: 200px;
        padding-bottom: 4rem;
    }
    .masthead .masthead-panel {
        width: 500px;
    }
    .masthead .masthead-heading {
        font-size: 4rem; 
    }
    .masthead .masthead-subheading {
        font-size: 1.5rem;
    }
    .masthead .color-separator
    {
      margin-top: 140px;
    }
    .footer {
        padding-top: 40px;
    }
    .footer .nav-socials 
    {
        display: inline;
    }
    .footer .nav-contacts
    {
        display: inline;
    }
    .footer .nav-footer-links
    {
        display: block;
    }
    .page-section {
      padding: 3rem 0;
    }
    #home-page .page-section {
        padding: 4rem 0;
    }   
    #home-page #intro-section #intro-text
    {
      column-count: 1;
    }
    #home-page #services-section
    {
        padding: 40px 0 40px 0;
    }

    .footer-back-to-top{
      display: none;
    }
    
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) 
{ 

}
@media only screen and (max-width: 991px) {
  #mobile-menu-wrap{
    display: block;
    z-index: 1000;
  }

  .nav-contacts{
    margin-top: 10px;
    position: relative;
    z-index: 1001;
  }

 .masthead .masthead-panel {
    width:100%;
    margin: 0 auto;
    text-align: center;
  }

  #home-page #services-section {
    height:auto;
  }
  #home-page #team-section {
      clear: both;
  }

  #home-page #services-section .services {
    display: inline-block;
    justify-content: initial;
    flex-wrap: wrap;
  }


  .footer-back-to-top{
      display: block;
  }

  .footer .col-md-6{
    margin-bottom:15px;
  }

  .mobile-menu{
    display: none;
  }

  .slicknav_menu{
    display: block;
  }


}

/* Tablet Device: 768px */
@media only screen and (min-width: 768px) and (max-width: 991px) {
 
}

/* Large Mobile: 480px */
@media only screen and (max-width: 767px) {
  .nav-contacts a .text-link{
    display: none;
  }
  .nav-contacts a i{
    font-size: 24px;
  }

  .badges {
    display: block;
    justify-content: initial;
  }
  .badges .badge {
   width:100%;
   margin:0 auto;
   padding: 15px 0;
  }
  .badges .badge:first-child{
   padding-top:0;
  }
  .badges .badge:last-child{
     padding-bottom:0;
  }

  #contact-box-form .col-md-4{
    text-align: left !important;
  }
  
  
}

@media only screen and (max-width: 570px) {
  .nav-contacts {
    margin-right:40px;
  }

  #mobile-menu-wrap {
    right: 5px;
  }

}
@media only screen and (max-width: 479px) {

   .btn{
    display: block;
    width:100%;
    font-size: 4vw;
  }

  .top-bar{
    max-width:574px;
  }
  .nav-socials, .top-bar .logo{
    float:none !important;
    width:100%;
    display: block;
    text-align:center;
  }

  .nav-contacts{
    float:none !important;
    width:60%;
    display: block;
    text-align:center;
    margin:0 auto;
    margin-top: 10px;
  }
  .footer .nav-contacts, .footer .nav-socials{
    width:100%;
    text-align: left;
  }

  .nav-contact{
    float:right !important;
  }
  #mobile-menu-wrap{
    top:37px;
  }

  .logo{
    display: block;
    width:100%;
  }
  .logo .navbar-logo-text{
    font-size:30px;
    font-size: 6vw;
  }

  .circle-wrapper{
    float:none;
  }

}


/* Editor */
.pc-widget-label { display:none; }

/* Reviews Widget */
.pc-reviews-widget a
{
	color: #312f31 !important;
}
.pc-reviews-widget .reviews-stream .reviews-list .review .review-link a
{
	color: #312f31 !important;
}