body {
    margin: 0;
    padding: 0;
}

.home header.entry-header,
.entry-header {
    display: none;
}

.wpcf7-form label.error {
    font-size: 14px !important;
}

/* 404 Page */
.page-404-wrap {
    padding-top: calc(100px + (120 - 40) * (100vw - 320px) / (1920 - 320));
    padding-bottom: calc(100px + (120 - 40) * (100vw - 320px) / (1920 - 320));
    background: #f2f2f2;
    position: relative;
}

.page-404-wrap .container {
    max-width: 1170px;
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.page-404-wrap__inner {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.page-404-wrap__inner img {
    width: 130px;
    margin-bottom: 2rem;
}

.page-404-wrap__inner h1 {
    font-size: calc(26px + (36 - 26) * (100vw - 320px) / (1920 - 320));
    color: #36A1A1;
    margin-bottom: 30px;
    display: block !important;
}

.page-404-wrap__inner h1 span {
    display: block;
    text-shadow: 5px 5px 1px rgba(0, 0, 0, .1);
    font-size: calc(50px + (100 - 50) * (100vw - 320px) / (1920 - 320));
    line-height: .8;
    font-weight: 700;
    color: #000;
}

.page-404-wrap__inner .intro-text p {
    line-height: 30px !important;
    font-size: 20px;
    margin-bottom: 0;
}

.page-404-wrap__inner .home-btn {
    margin-top: 30px;
}

.page-404-wrap__inner .home-btn a {
    display: inline-block;
    background: #36A1A1;
    padding: 12px 25px;
    color: #fff;
    border-radius: 50px;
    font-size: 18px;
    text-decoration: none;
}

.page-404-wrap__inner .home-btn a:hover {
    color: #fff;
    background-color: var(--e-global-color-accent);
}

/* Contact Page Locations */
[id^="location-"] {
    display: none;
}

[id^="location-"].active {
    display: block;
}

[id^="location-"] iframe {
    width: 100% !important;
}

.location-tabs ul {
    list-style: none;
    padding: 0;
}

.location-tabs ul li {
    margin-bottom: 1px;
}

.location-tabs ul a {
    display: block;
    padding: 10px 10px 10px 10px;
    border-top: 1px solid rgba(0, 0, 0, .1);
    color: #000;
    font-weight: 500;
    position: relative;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.location-tabs ul a:hover,
.location-tabs ul a.active {
    background: var(--e-global-color-secondary);
    color: #fff;
    padding: 10px 10px 10px 35px;
}

.location-tabs ul a:before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-size: 100%;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.location-tabs ul a.active:before,
.location-tabs ul a:hover:before {
    background-image: url('../images/logo-icon.png');
}

/* Location Card */
.location-card:hover .elementor-icon-box-title a {
    color: var(--e-global-color-secondary);
}

/* Equal Height Column */
.equal-height .equal-height-col > .elementor-widget-wrap > .elementor-element,
.equal-height .equal-height-col > .elementor-widget-wrap > .elementor-element > .elementor-widget-container,
.equal-height .equal-height-col > .elementor-widget-wrap > .elementor-element > .elementor-widget-container > .ekit-wid-con,
.equal-height .equal-height-col > .elementor-widget-wrap > .elementor-element > .elementor-widget-container > .ekit-wid-con > .elementskit-infobox {
    height: 100%;
}

/* Opening Hours */
.opening-hours {
    border-collapse: collapse;
}

.opening-hours td {
    border: 1px solid rgba(0, 0, 0, .1);
    padding: 5px 10px;
    text-align: center;
}

/* Invisalign Form */
.invisalign-form .invisalign-form-row {
    position: relative;
    counter-increment: list-inc;
    padding-left: 50px;
    margin-bottom: 40px;
}

.invisalign-form .invisalign-form-row:before {
    content: counter(list-inc);
    position: absolute;
    width: 32px;
    height: 32px;
    min-width: 32px;
    background: var(--e-global-color-accent);
    color: #fff;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
    left: 0;
    top: -5px;
}

.invisalign-form .invisalign-form-row h3 {
    font-weight: 500;
    font-size: 16px;
    color: rgba(0, 0, 0, .8);
}

.invisalign-form .invisalign-form-row .number .wpcf7-list-item label span,
.invisalign-form .invisalign-form-row .number-3 select {
    border: 1px solid rgba(0, 0, 0, .2);
    display: inline-block;
    width: 100%;
    padding: 10px 10px;
    text-align: center;
    cursor: pointer;
}

.invisalign-form .invisalign-form-row .number .wpcf7-list-item label span:hover,
.invisalign-form .invisalign-form-row .number .wpcf7-list-item label input:checked + span {
    background: var(--e-global-color-secondary);
    color: #fff;
    border-color: var(--e-global-color-secondary);
}

.invisalign-form .invisalign-form-row .number .wpcf7-form-control {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: -16px;
}

.invisalign-form .invisalign-form-row .number .wpcf7-form-control > * {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 calc(100% / 3);
    flex: 0 1 calc(100% / 3);
    max-width: calc(100% / 3);
    margin: 0;
    padding: 0 16px 16px;
}

.invisalign-form .invisalign-form-row .number .wpcf7-list-item label input {
    left: 0;
    opacity: 0;
    position: absolute;
}

.invisalign-form .invisalign-form-row .number-3 select {
    text-align: left;
    font-size: 16px;
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label span:hover,
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label input:checked + span {
    background: transparent !important;
    color: var(--e-global-color-secondary) !important;
    border-color: transparent !important;
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label span {
    border: none;
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label {
    border: 1px solid rgba(0, 0, 0, .2);
    display: inline-block;
    width: 100%;
    text-align: center;
    cursor: pointer;
    height: 160px;
    position: relative;
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: center 20px;
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label:hover span {
    color: var(--e-global-color-secondary) !important;
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label span.wpcf7-list-item-label {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label:hover:before {
    content: "Teeth crowding occurs when there is simply a lack of room within your jaw for all of your teeth to fit normally.";
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    background: #000;
    opacity: .8;
    color: #fff;
    padding: 5px;
    font-size: 14px;    
    bottom: calc(100% + 10px);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;    
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label:hover:after {
    content: "";
    position: absolute;
    border: 5px solid transparent;
    border-top-color: #000;
    bottom: calc(100%);
    opacity: .8;
}


/*
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label:after {
    content: "";
    position: absolute;    
    left: 0;
    right: 0;
    top: -88px;
}
*/

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(1) label {
    background-image: url('../images/apac_straighter_teeth-1.svg');
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(1) label:hover:before {
    content: "I just want generally straighter teeth";
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(2) label {
    background-image: url('../images/apac_Overbite-2.svg');
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(2) label:hover:before {
    content: "Deep bite occurs when the upper teeth bite over the lower teeth.";
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(3) label {
    background-image: url('../images/apac_underbite-3.svg');
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(3) label:hover:before {
    content: "Underbite can occur when the lower teeth protrude past the front teeth.";
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(4) label {
    background-image: url('../images/apac_crossbite-4.svg');
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(4) label:hover:before {
    content: "Crossbite can occur when the upper and lower jaws are both misaligned.";
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(5) label {
    background-image: url('../images/apac_gapteeth-5.svg');
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(5) label:hover:before {
    content: "Gaps between teeth can occur with abnormal continued growth of the jawbone. Missing teeth can also cause the surrounding teeth to shift due to the extra space, creating gaps in your teeth.";
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(6) label {
    background-image: url('../images/apac_openbite-6.svg');
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(6) label:hover:before {
    content: "Open bite often occurs when some teeth are unable to make physical contact with the opposing teeth for a proper bite.";
}

.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(7) label {
    background-image: url('../images/apac_crowdedteeth-7.svg');
}
.invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item:nth-child(7) label:hover:before {
    content: "Teeth crowding occurs when there is simply a lack of room within your jaw for all of your teeth to fit normally.";
}


.get-assessment-inner {
    background: var(--e-global-color-secondary);
    padding: 20px;
}

.get-assessment-inner .row {
    margin-left: -15px;
    margin-right: -15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.get-assessment-inner .row .col-md-6{
    padding: 0 15px 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}
.get-assessment-inner .row [class^="col-"]{
    padding: 0 15px 15px;
}

.get-assessment-inner input:not([type="radio"][type="checkbox"][type="submit"][type="button"]),
.get-assessment-inner select {
    border-radius: 0;
    border: none;
    height: 46px;
}

.get-assessment-inner .selectbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.get-assessment-inner .selectbox .form-group + .form-group {
    margin-left: 30px;
}
.get-assessment-inner .selectbox .form-group:last-child {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.get-assessment-inner select {
    padding-left: 10px;
    padding-right: 10px;
}
.get-assessment-inner .wpcf7-checkbox .wpcf7-list-item {
    margin-left: 0;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 20px;
}
.get-assessment-inner p{
    color: #fff;
}
.get-assessment-inner .wpcf7-checkbox .wpcf7-list-item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.get-assessment-inner .wpcf7-checkbox .wpcf7-list-item label input[type="checkbox"] {
    line-height: 0 !important;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20px;
    flex: 0 0 20px;
    max-width: 20px;
    height: 20px !important;
    margin-right: 10px;
}

.get-assessment-inner input[type="submit"]{
    padding: 10px 24px;
    background: #000;
    color: #fff;
    outline: none;
    border: none;
    border-radius: 50px !important;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    display: inline-block;
    width: 100%;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0, .5);
    box-shadow: 0 0 10px rgba(0,0,0, .5);
}
.get-assessment-inner input[type="submit"]:hover{
    background: var(--e-global-color-accent);
}

/* Media Query */
@media screen and (min-width: 768px) {
    .location-tabs ul a:after {
        content: "";
        position: absolute;
        border: 23px solid transparent;
        right: -46px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-transition: .3s ease-in-out;
        transition: .3s ease-in-out;
    }

    .location-tabs ul a.active:after,
    .location-tabs ul a:hover:after {
        border-left-color: var(--e-global-color-secondary);
    }
}

@media screen and (max-width: 1024px) {
    div.elementskit-menu-offcanvas-elements {
        left: calc(-100vw + -50px);
    }
}

@media screen and (max-width: 767px) {
    .get-assessment-inner .row [class^="col-"],
    .invisalign-form .invisalign-form-row .number .wpcf7-form-control > *{                
        -webkit-box-flex: 0;                
        -ms-flex: 0 0 100%;                
        flex: 0 0 100%;
        max-width: 100%;
    }
    .invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label {        
        background-size: 22%;
    }
    .get-assessment-inner .selectbox .form-group + .form-group {
        margin-left: 5px;
    }
}

@media screen and (max-width: 480px) {
    .invisalign-form .invisalign-form-row .number-4 .wpcf7-list-item label {
        background-size: 50%;
    }
    .invisalign-form .invisalign-form-row {        
        padding-left: 40px;
    }
}