@view-transition {
  navigation: auto;
}

h1 {
   font-family: 'Open Sans', sans-serif;
   width: 100%;
   display: inline-block;
   /*font-size: 17px; */
   line-height: 50px;
   font-weight: bold;
   margin-bottom: 20px;
}

a {
   font-family: 'Open Sans', sans-serif;
}

.mobile-navigation {
   padding-top:20px;
   padding-bottom:20px;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   background-color: white; 
   color: white;
   z-index: 1000; 
   height: 70px; 
   border-bottom: 1px solid  #d8d9db;
}

.navigation {
   display:none;
}

.navigation-title {
   max-width: 160px;
   margin: 0 auto;
}


.nav-container {
   float:left;width:80%;margin-left:10%;
}

.logo {
   /* margin: 0 auto; */
   /* text-align: center; */
   width: 180px;
   float: left;
}

.mobile-logo {
   margin: 0 auto;
   text-align: left;
}

.mobile-logo img {
   max-width: 130px;
   margin-top: 4px;
   width: 100%;
}

.nav {
   float:right;
   /* margin-top: -30px; */
}

.mobile-menu-icon {
   cursor: pointer;
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   width: 30px;
   height: 21px;
}

.menu-icon {
   cursor: pointer;
   display: none;
   flex-direction: column;
   justify-content: space-around;
   width: 30px;
   height: 21px;
}
.menu-icon span {
   background: black;
   height: 3px;
   width: 100%;
   transition: transform 0.3s ease, opacity 0.3s ease;
}
.menu-icon-close {
   cursor: pointer;
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   width: 30px;
   height: 21px;
   float: right;
   margin-top: -46px;
   margin-right: 20px;
}
.menu-icon-close span {
   background: white;
   height: 3px;
   width: 100%;
   transition: transform 0.3s ease, opacity 0.3s ease;
}
.menu {
   display: none;
   background-color: black;
   color: white;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   text-align: center;
   padding-top: 5px;
}
.menu a {
   display: block;
   color: white;
   padding: 15px;
   text-decoration: none;
   font-size: 18px;
}

.fp-search {
   background-color: black;
   color:white;
   padding:60px 20px;
   margin-top: 70px;
}

.fp-search h1 {
   font-weight: 800 !important;
}


.fp-search .search,
.fp-search .location {
   font-family: 'Karla', sans-serif;
   margin-top: 20px;
   border-radius: 0px;
   border-top: 0px;
   border-left: 0px;
   border-right: 0px;
   color: white;
   font-size: 22px;
   font-weight: 100;
}

.fp-search .search:focus
.fp-search .location:focus {
   border-radius: 0px;
   border-top: 0px;
   border-left: 0px;
   border-right: 0px;
   font-size: 21px;
   border-bottom: 1px solid white;
   padding-left: 30px;
}

.search::placeholder,
.location::placeholder {
    color: white;
    font-size: 21px;
    font-weight:bold;
    opacity: 1;
}

.error-message {
   width: 100%;
   color: red;
   margin-top: 10px;
   margin-bottom: 10px;
   display: block;
}


.input-group {
    position: relative;
    width: 100%;
    max-width: 300px; /* Adjust based on your design */
}

.input-group .fa-search,
.input-group .fa-location-arrow {
    position: absolute;
    top: 29px !important; 
    left: 0px !important; 
    z-index: 10;
    color: white; 
    opacity: 1;
}

.search,
.location {
    width: 100%;
    padding: 10px 10px 10px 40px; /* Left padding to make space for the icon */
    border: 1px solid #ccc;
    border-radius: 5px;
    padding-left: 30px !important
}

.search:focus,
.location:focus {
    border-color: #0066cc;
    outline: none;
}

.location-name, .provider-name {
   font-family: 'Open Sans', sans-serif;
   width: 100%;
   display: inline-block;
   font-size: 17px;
   line-height:21px;
   font-weight: bold;
   color: #000;
   margin-bottom: 30px;
}

.search-listing {
   width: 100%;
   float: left;
   display: inline-block;
   padding-bottom: 20px; 
   margin-bottom: 20px;
   border-bottom: 1px solid #d8d9db;
}

.search-listing-left {
   display: inline-block;
   float: left;
}

.search-listing-right {
   display: inline-block;
   float: right;
   width: 80%;
}

.search-listing-right .location-name {
   font-family: 'Karla', sans-serif;
   /* width: 100%; */
   width: 75%;
   display: inline-block;
   font-size: 17px;
   line-height: 21px; 
   font-weight: bold;
   color: #333;
   margin-bottom: 0px;
}

.search-listing .keywords,
.search-listing .distance {
   font-family: 'Karla', sans-serif;
   font-size: 14px;
   width: 75%;
   display: inline-block;
   color: #333;
}

.search-listing .distance i {
   margin-top:16px;
}

.search-listing .location-image {
   width: 50px;
   height: 50px;
   /* background-image: url('/image.jpg'); */
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   border-radius: 8px;
}

.search-listing .promoted {
   float: right;
   background-color: #d8d9db;
   color: #333;
   font-size: 12px;
   padding: 4px;
}

.location-detail-top {
   width: 100%;
   display: inline-block;
}

.location-detail-top .location-name,
.provider-detail-top .provider-name {
   font-size: 25px;
   line-height: 30px;
}

.location-profile, .provider-profile {
   width: 120px;
   height: 120px;
   background-size: cover; 
   background-position: center;
   background-repeat: no-repeat;
   border-radius: 17px;
}

.location-listing-left, .provider-listing-left {
   display: inline-block;
   width: 30%;
   margin-right: 10px;
   min-width: 130px;
   float: left;
}

.location-listing-right, .provider-listing-right {
   width: 60%;
   display: inline-block;
   float: left;
}

.location-head, .provider-head {
   font-family: 'Karla', sans-serif;
   font-size: 20px;
   line-height: 28px;
   color: #000;
}

.location-subhead, .provider-sub-head { 
   font-family: 'Karla', sans-serif;
   font-size: 14px;
   line-height: 21px;
   color: #8F9C9F;
}

.location-nav, .provider-nav {
    display: flex;
    margin-bottom: 30px;
    /* justify-content: flex-start; */
    justify-content: center; 
    border-top: 1px dotted #606c76;
    border-bottom: 1px dotted #606c76;
    padding-top: 10px;
    padding-bottom: 10px;
}

.location-nav a, .provider-nav a {
   font-family: 'Open Sans', sans-serif;
    text-decoration: none;
    font-weight: 600;
    color: #000;
}

.location-nav a.active, .provider-nav a.active {
    color: #0365AC;;
    /* border-bottom: 2px solid #0365AC; */
    padding-bottom: 2px;
    text-decoration: none;
}

.location-nav a, .provider-nav a {
    margin-right: 50px; 
}

.location-nav a:last-child, .provider-nav a:last-child {
    margin-right: 0;
}

.experience {
    font-size: 2em;
    font-weight: bold;
}
.tab-content {
    display: none;
}
.tab-content.active {
    display: block;
}

#about h4,
#about h5,
#services h4,
#services h5,
#providers h4,
#providers h5,
#location h4,
#location h5 {
   font-family: 'Karla', sans-serif;
   font-weight: 600;
   font-size: 14px;
   line-height: 21px;
   color: #000;
   text-transform: uppercase;
   letter-spacing: .8px;
}

#about p {
   font-family: 'Karla', sans-serif;
   font-size: 14px;
   line-height: 24px;
}

#about p.location-address {
   font-family: 'Karla', sans-serif;
   font-size: 14px;
   line-height: 21px;
}

.location-link {
   color: #000;
}

.button, button, input[type='button'], input[type='reset'], input[type='submit'] {
   background-color: #0365AC !important;
   border-radius: 20px !important;
   border: 1px solid #0365AC;
   margin-top: 20px !important;
   text-transform: none;
   font-weight: 600 !important;
}

.pink-pill-button, .pink-circle-button  {
    border-radius: 20px !important;
    background-color: #0365AC !important;
    border: 1px solid #0365AC;
    margin-top: 20px !important;
    color: white;
    text-transform: none;
    font-weight: 400 !important;
    font-family: karla, sans-serif;
    font-size: 14px;
    line-height: 21px;
    border-radius:.4rem;
    cursor:pointer;
    display:inline-block;
    font-weight:700;
    height:3.8rem;
    letter-spacing:.1rem;
    line-height:3.8rem;
    padding:0 3.0rem;
    text-align:center;
    text-decoration:none;
    text-transform:none;
    white-space:nowrap
}

.pink-circle-button{
    padding: 0px 12px;
}

.pink-pill-button:hover,
.pink-circle-button:hover {
   color:white;
   font-weight:bold;
}

#submit {
   font-size: 17px;
   line-height: 22px;
}

a {
   color: #0365AC;
}

.location-nav a.active {
   color: #0365AC;
   border-bottom: 2px solid #0365AC;
}

.location-nav a:hover {
   color: #0365AC;
   border-bottom: 2px solid #0365AC;
}

.signup-screen {
   background-color: #EEF7FA;
   width: 100%;
   padding-left: 14px;
   padding-right: 14px;
   display: flex;
   flex-direction: column;
   height: 100vh;
   padding-top: 80px;
}

.signup-copy {
   width: 100%;
   padding-top: 18px;
}

.signup-copy p {
   text-align:center;
   font-family: 'Karla', sans-serif;
   font-size: 14px;
   line-height: 24px;
   color: #000;
}

.signup-screen .input-group {
   margin: 0 auto;
}

.signup-screen #email,
.signup-screen #password {
   background-color: white;
   color: #000;
   text-transform: none;
}

.signup-screen #email:placeholder,
.signup-screen #password:placeholder  {
    color: #B8B9BE;
}

.signup-screen #submit {
   margin-top: 0px !important;
   font-family: 'Open Sans', sans-serif;
   font-weight: 600 !important;
}

.signup-screen .divider {
   display: flex;
   align-items: center;
   text-align: center;
   width: 100%;
   color: #000;
   font-family: 'Karla', sans-serif;
   font-size: 16px;
   line-height: 24px;
   margin-bottom: 26px;
}

.signup-screen .divider::before,
.signup-screen .divider::after {
   content: '';
   flex: 1;
   border-bottom: 1px solid #8CD5E8; 
}

.signup-screen .divider:not(:empty)::before {
   margin-right: .5em;
}

.signup-screen .divider:not(:empty)::after {
   margin-left: .5em;
}

.signup-screen .social-login-button {
   display: flex;
   align-items: center;
   justify-content: left;
   width: 300px;
   padding: 10px;
   /* margin: 10px; */
   border-radius: 25px;
   background-color: #fff;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   text-decoration: none;
   color: #000;
   font-size: 16px;
   transition: background-color 0.3s;
   font-family: 'Open Sans', sans-serif;
   font-weight: 600;
   margin: 20px auto;
}

.signup-screen .social-login-button img {
   width: 24px;
   height: 24px;
   margin-right: 20px;
   margin-left:20px;
}

.signup-screen .social-login-button:hover {
   background-color: #e9e9e9;
}

.business-container {
   /* background-color: #F5F6F5; */
   background-color: white; 
   width:100%; 
   padding-left: 14px;
   padding-right:14px;
   display:flex;
   flex-direction: column;
   height:100vh;
   overflow: auto;
}

.location-detail-top-desktop,
.provider-detail-top-desktop {
   display: none;
}

.footer {
   background-color:white;
   padding-top:30px;
   padding-bottom:60px;
   float:left;
   display:block;
   position:relative;
   width:100%;
   color: #606c76;
}

.footer-container {
   padding-left: 14px;
   padding-right: 14px;
}

.footer-container a {
   color: inherit;
   font-family: 'Open Sans', sans-serif;
   font-weight: 400;
   font-size: 14px;
}

.footer-container a:hover {
   text-decoration: underline;
}

.footer-container .pipe {
   margin-right: 10px;
   margin-left: 10px;
   font-size: 14px;
}

.copyright {
   padding-top: 20px;
   padding-bottom: 20px;
   font-family: 'Karla', sans-serif;
   font-size: 12px;
   line-height: 18px;
}

#outer-post {
   padding-top: 70px;
   padding-bottom: 30px;
   display: flex; 
   flex-direction: column;
}




@media only screen and (min-width: 768px) {
   .location-name, .provider-name {
      line-height: 40px;
      font-size:35px;
   }
   
   .location-detail-top-desktop,
   .provider-detail-top-desktop {
      display: inline-block;
   }
   
   .location-nav, .provider-nav {
       display: flex;
       justify-content: flex-start; 
       margin-bottom: 30px;
       /* border: 0px; */
       /* padding: 0px; */
       padding-left: 10px;
   }

   .location-nav a {
       margin-right: 50px; 
   }

   .location-nav a:last-child {
       margin-right: 0;
   }
   
   .footer-container {
      width: 80%;
      margin-left: 10%;
      padding-left: 0px;
      padding-right: 0px;
   }
   
   .navigation {
      padding-top:20px;
      padding-bottom:20px;
      display: flex;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      background-color: white; /* Dark background for visibility */
      color: white;
      z-index: 1000; /* Ensures navbar stays on top of other content */
      height: 70px; /* Adjust based on your actual navbar height */
      border-bottom: 1px solid  #d8d9db;
   }
   
   .menu-icon {
      cursor: pointer;
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      width: 30px;
      height: 21px;
   }
   
   .mobile-menu-icon {
      display:none;
   }
   
   #outer-post {
      padding-top: 100px;
      padding-bottom: 30px;
      display: flex; 
      flex-direction: column;
   }
   
   .mobile-navigation { display:none; } 
   

}

@media only screen and (min-width: 992px) {
   .business-container {
      padding-left: 0px;
      padding-right: 0px;
   }
}

@media only screen and (min-width: 1200px) {
   #fp-container {
      position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);
   }  
}
