.schedule-service-container{
    overflow-x: hidden;
}

#schedule-service-btn:hover {
    cursor: pointer;
}

.schedule-content {
    display: inline-block;
}

.schedule-map-header{
    text-align: center;
    margin-bottom: 16px;
    margin-left: 24px;
    margin-right: 24px;
    margin-top: 32px;
}

.schedule-map-section{
    margin-top: 22px;
}

.service-location-container{
    max-height: 550px;
    overflow-y: auto;
    padding-right: 12px;
}

.service-location-container::-webkit-scrollbar {
    width: 6px;
	background-color: #F5F5F5;
}
 
.service-location-container::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	border-radius: 10px;
	background-color: rgba(0, 0, 0, 0.05);
}
.service-location-container::-webkit-scrollbar-thumb {
    border-radius: 10px;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
    box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background-color: #111;
}

.service-location-container .service-location{
    -webkit-box-shadow:inset 0px 0px 0px 1px var(--pahoehoe);
    -moz-box-shadow:inset 0px 0px 0px 1px var(--pahoehoe);
    box-shadow:inset 0px 0px 0px 1px var(--pahoehoe);
    padding-right: 24px;
    padding-left: 24px;
    padding-top: 12px;
    padding-bottom: 12px;
    cursor: pointer;
}

.service-location-container .service-location a{
    white-space: nowrap;
    color: black;
}

.service-location-container .service-location .col-2, .service-location-container .service-location .col-3{
    text-align: right;
}

.service-location-container .service-location.selected{
    -webkit-box-shadow:inset 0px 0px 0px 2px black;
    -moz-box-shadow:inset 0px 0px 0px 2px black;
    box-shadow:inset 0px 0px 0px 2px black;
    position: relative;
}


.service-location-container .service-location.active{
    -webkit-box-shadow:inset 0px 0px 0px 2px var(--primary-1);
    -moz-box-shadow:inset 0px 0px 0px 2px var(--primary-1);
    box-shadow:inset 0px 0px 0px 2px var(--primary-1);
    position: relative;
    padding-top: 36px;
}

.service-location-container .service-location.active::before{
    content: "Your Service Center";
    color: white;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 12px;
    padding-right: 12px; 
    background-color: var(--primary-1);
    position: absolute;
    font-family: var(--tertiary-font);
    font-size: 12px;
    line-height: 1.5;
    top: 0;
    left: 0;
}

.service-location-container .service-location:not(:last-child){
    margin-bottom: 8px;
}

.service-location-container .service-location:hover{
    -webkit-box-shadow:inset 0px 0px 0px 2px black;
    -moz-box-shadow:inset 0px 0px 0px 2px black;
    box-shadow:inset 0px 0px 0px 2px black;
}

.service-location-container .service-location.selected:hover{
    -webkit-box-shadow:inset 0px 0px 0px 2px black;
    -moz-box-shadow:inset 0px 0px 0px 2px black;
    box-shadow:inset 0px 0px 0px 2px black;
}

.service-location-container .service-location.active:hover{
    -webkit-box-shadow:inset 0px 0px 0px 2px var(--primary-1);
    -moz-box-shadow:inset 0px 0px 0px 2px var(--primary-1);
    box-shadow:inset 0px 0px 0px 2px var(--primary-1);
}

.info-button{
    border: none;
    background-color: transparent;
    margin-right: -10px;
}

.info-circle::before{
    content: "i";
    width: 24px;
    height: 24px;
    background-color: black;
    border-radius: 50%;
    font: 16px Arial;
    text-align: center;
    color: white;
    display: block;
    float: right;
    padding: 4px;
    padding-right: 5px;
    text-transform: initial;
}

.service-location-container .distance-col p{
    margin-bottom: 0;
}

.map-height {
    max-height: calc(100dvh - 125px);
    padding-top: 12px;
}

.service-location-container{
    max-height: calc(100dvh - 125px);
    padding-bottom: 12px;
}


@media only screen and (max-width: 1199.98px) and (max-height: 1199.98px) {
    .schedule-service-container {
        margin: 0 auto;
        width: auto;
    }

    .service-location-container{
        height: 455px;
    }

    .map-height{
        padding-top: 0;
    }
}

@media only screen and (max-width: 991.98px){
    .schedule-service-left {
        margin-top: 32px;
    }

    .map-height {
        height: calc(50vh - 68px);
        min-height: 40vh;
    }

    .service-location-container{
        height: calc(50vh - 68px);
    }
}

@media only screen and (max-width: 767.98px){

    .service-location-container .service-location a.service-address{
        font-size: 12px;
        color: black !important;
        text-decoration: none;
        pointer-events: none;
    }

    .service-location-container{
        height: calc(50vh - 84px);
        margin-right: 6px;
        padding-left: 8px;
        padding-right: 8px;
        padding-bottom: 4px;
    }

    .service-location-container .service-location i{
        font-size: 24px;
    }

    .service-location-container .service-location.active::before{
        display: none;
    }

    .service-location-container .service-location.active {
        padding-top: 12px;
    }

    .schedule-service-left {
        margin-top: 16px;
    }

    .map-height{
        height: calc(50vh - 84px);
    }
}

#contact-us-mobile{
    display: none;
}

#serviceLocationModal{
    top: 0;
    height: 100dvh;
    background-color: rgb(0, 0, 0, 0.5);
}

#serviceLocationModal .modal-dialog{
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
    background-color: white;
    height: auto;
    top: 50%;
    transform: translate(0, -50%);
    border: 1px solid var(--pahoehoe);
    z-index: 1100;
    position: relative;
}

#serviceLocationModal h3{
    margin-bottom: 0;
    padding-right: 30px;
}

#serviceLocationModal .address-section{
    margin-bottom: 24px;
}

#serviceLocationModal .address-section p{
    margin-bottom: 0;
}

#serviceLocationModal .service-location-set{
    margin-top: 5px;
}

#serviceLocationModal .service-number{
    margin-bottom: 8px;
}

#serviceLocationModal.active .modal-dialog::before{
    content: "Your Service Center";
    color: white;
    padding-top: 4px;
    padding-bottom: 6px;
    padding-left: 8px;
    padding-right: 8px; 
    background-color: var(--primary-1);
    position: absolute;
    font-family: var(--tertiary-font);
    font-size: 12px;
    line-height: 1.5;
    top: 0;
    left: 0;
}

#serviceLocationModal.active .modal-dialog .modal-content{
    padding-top: 32px;
}

#serviceLocationModal .modal-dialog a{
    color: black;
}

#serviceLocationModal .modal-dialog a:hover{
    opacity: 1;
}

#serviceLocationModal .modal-dialog .modal-content{
    border: none;
    background-color: transparent;
}

#serviceLocationModal .modal-dialog .btn-close{
    float: right;
    background-color: transparent;
    border: none;
    height: 24px;
    width: 24px;
    position: absolute;
    top: 24px;
    right: 24px;
}

#serviceLocationModal .modal-content{
    padding: 24px;
    padding-top: 18px;
}

#serviceLocationModal input[type=checkbox] {
    display: none;
}

#serviceLocationModal .service-content-hours {
    display: none;
}

#serviceLocationModal input[type=checkbox]:checked ~ .service-content-hours {
    display: block;
    margin-top: -6px;
    margin-bottom: 0px;
    padding-left: 8px;
    padding-bottom: 0px;
}

#serviceLocationModal input[type=checkbox] + label::after {
    content: "";
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    position: absolute;
    left: 60%;
    margin-top: 8px;
}

#serviceLocationModal input[type=checkbox]:checked + label::after {
    content: "";
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    position: absolute;
    left: 60%;
    margin-top: 12px;
}

#service-location-hours-label{
    margin-bottom: 0;
}

#service-location-hours-label.active{
    color:  #4CAA4F;
}

#serviceLocationModal .service-location-schedule-online{
    margin-top: 20px;
}

#serviceLocationModal .service-content-hours .contact-content-weekday-space{
    display: none;
}

#serviceLocationModal .service-content-hours span{
    font-size: 16px;
}

.service-main-hero {
    margin-left: 56px;
    margin-right: 56px;
}
@media only screen and (max-width: 767.98px) {
    .service-main-hero {
        margin-left: 5%;
        margin-right: 5%;
    }
}

.service-main-hero-render {
    margin-bottom: 48px;
    display: flex;
}

.service-main-hero-title {
    padding-top: 48px;
    margin-left: 24px;
    margin-right: 24px;
    margin-bottom: 48px;
}

.service-main-hero-title > h1 {
    width: 100%;
    text-align: center;
}
@media only screen and (max-width: 767.98px) {
    .service-main-hero-title {
        margin-bottom: 24px;
    }
    .service-main-hero-image {
        padding: 0 24px;
    }
    .service-main-hero-body {
        padding: 0 0;
    }
}

.service-main-hero-render ul > li {
    margin-bottom: 1px;
}

.service-main-hero-image {
    width: 100%;
}

@media only screen and (max-width: 767.98px) {
    .service-main-hero-image {
        margin-bottom: 24px;
    }

    .service-main-hero-body ul {
        margin-block-start: 0;
    }
}

.service-video {
    width: 100%;
    top: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    z-index: 1;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.service-video iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.service-video::after {
    padding-bottom: 56.25%;
    display: block;
    content: '';
}

.service-main-herocta-block {
    display: block;
    justify-content: center;
    margin-top: 12px;
}

.service-main-herocta {
    margin: 8px 8px;    
}

.service-main-top .accordion {
    display: none;
}

.service-main-serviceblock {
    background-color: #ececec;
    box-shadow: 50vw 0 0 0 #ececec, -50vw 0 0 0 #ececec;
    padding-top: 48px;
    padding-bottom: 48px;
}

@media only screen and (min-width: 767.99px) {
    .service-main-herocta#our-locations {
        display: none;
    }

    #mainservice-accordion{
        padding-bottom: 0;
    }
}

@media only screen and (max-width: 767.98px) {
    .service-main-herocta-block {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .service-main-top .service-hero-asset .service-main-serviceblock {
        display: none;
    }
    
    .service-main-top .accordion, .service-main-top .accordion .collapse.show {
        display: block;
    }

    .service-main-top .service-main-serviceblock-title {
        display: none;
    }

    .schedule-service-container .schedule-map-header .content-asset p {
        display: none;
    }

    .iw-address, .iw-phone, .iw-phone, 
    .iw-schedule, .iw-change {
        display: none;
    }
    
    .service-main-top .accordion, .service-main-top .accordion .card-header, 
    .service-main-top .accordion .card {
        background-color: #ececec;
    }

    .service-main-top .accordion .card {
        padding-top: 24px;
        padding-bottom: 24px !important;
    }

    .service-main-top .accordion span {
        font-family: var(--secondary-font);
        font-size: 24px;
        color: black;
    }
    
    .service-main-top .accordion .col-1 {
        color: black;
    }

    .service-main-top .accordion .service-main-serviceblock {
        padding-top: 0;

    }

    .schedule-map-section {
        margin-top: 0;
    }

}

.service-main-serviceblock-title {
    text-align: center; 
}

.service-main-serviceblock-lists {
    display: flex;
    margin-top: 24px;
}

.service-main-serviceblock ul:first-child {
    max-width: 40%;
    margin-left: auto;
    margin-right: 24px;
}
.service-main-serviceblock ul:last-child {
    max-width: 40%;
    margin-left: 24px;
    margin-right: auto;
}

@media only screen and (max-width: 767.98px) {
    .service-main-serviceblock-lists {
        display: block;
        padding: 0 0;
        justify-content: center;
    }
    .service-main-serviceblock ul {
        width: auto;
    }
    .service-main-serviceblock ul:first-child {
        max-width: 100%;        
        margin-left: 0;
        margin-right: 0;
    }
    .service-main-serviceblock ul:last-child {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }    
}


.service-main-hero-mobile {
    display: none;
}

.service-main-serviceblock li {
    margin-bottom: 4px;
}

#mainservice-accordion {
    padding-top: 72px;
    padding-bottom: 48px;
    background-color: var(--bg-gray);
    box-shadow: 50vw 0 0 0 var(--bg-gray), -50vw 0 0 0 var(--bg-gray);
}

#mainservice-accordion h2 {
    margin-bottom: 24px;
}

#mainservice-accordion .accordion .card-header button{
    padding-top: 48px;
    padding-bottom: 48px;
}

#mainservice-accordion .accordion .card {
    margin-bottom: 0;
}

#mainservice-accordion .accordion .card-body {
    padding-bottom: inherit;
    margin-top: inherit;
}

#mainservice-accordion .accordion .card, #mainservice-accordion .accordion .card-header {
    background-color: inherit;
}

#mainservice-accordion .accordion .card-header button {
    color: inherit !important;
}

#mainservice-accordion h3 > span {
    font-size: inherit;
}

#mainservice-accordion .card-body {
    /* font-family: var(--primary-font); */
}

#mainservice-accordion .card-body a {
    font-size: inherit;
}

@media only screen and (max-width: 767.98px) {
    .service-main-hero-desktop {
        display: none;
    }
    .service-main-hero-mobile {
        display: block;
    }
    #mainservice-accordion .accordion .card-header button{
        padding-top: 48px;
        padding-bottom: 48px;
    }
}