body {
    font-family:Lato,sans-serif !important;
}

body .map-wrapper h3, .map-wrapper .h3 {
    font-size: 22px !important;
    font-size: 1.375rem !important;
    line-height: 28px !important;
    line-height: 1.75rem !important;
}

@media only screen and (min-width: 768px) {
    body .map-wrapper h3, body .map-wrapper .h3 {
        font-size: 26px !important;
        font-size: 1.625rem !important;
        line-height: 30px !important;
        line-height: 1.875rem !important;
    }
}

@media only screen and (min-width: 992px) {
    body .map-wrapper h3, body .map-wrapper .h3 {
        font-size: 28px !important;
        font-size: 1.75rem !important;
        line-height: 34px !important;
        line-height: 2.125rem !important;
    }
}

.map-wrapper p {
    font-size: 16px !important;
    font-weight: normal !important;
    line-height: normal !important;
    margin-bottom: 0.5rem !important;
}

.map-wrapper form label {
    margin-bottom: 0 !important;
}

.map-wrapper .font-bold {
    font-weight: bold !important;
}

.map-wrapper .gap-2 {
    gap: 0.5rem !important;
}

.map-wrapper .gap-3 {
    gap: 1rem !important;
}

.gap-4 {
    gap: 1.5rem !important;
}

@media only screen and (min-width: 992px) {
    .map-wrapper .gap-lg-4 {
        gap: 1.5rem !important;
    }
}

.map-wrapper .bottom-0 {
    bottom: 0 !important;
}

.map-wrapper .offcanvas-bottom .offcanvas-header h5,
.map-wrapper .offcanvas-bottom .offcanvas-header button {
    font-size: 18px !important;
}

.map-wrapper .text-center {
    text-align: center !important;
}

.map-wrapper a {
    cursor: pointer !important;
}

.map-wrapper .text-decoration-underline {
    text-decoration: underline !important;
}

.btn.btn-primary {
    color: white!important;
    background: #108388 !important;
    border: 2px solid #108388!important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 30px !important;
    font-weight: bold;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus{
    color: #108388 !important;
    background: transparent !important;
    border:2px solid #108388!important;
    font-weight: bold !important;
}

.btn-secondary{
    color: #108388 !important;
    background: transparent !important;
    border:2px solid #108388!important;
    border-radius: 30px !important;
    font-weight: bold !important;
}

.btn.btn-secondary:hover,
.btn.btn-secondary:focus{
    color: white!important;
    background: #108388 !important;
    border: 2px solid #108388!important;
    outline: 0 !important;
    box-shadow: none !important;
}


ul::-webkit-scrollbar {
    background: #DDE0E0;
    border-radius: 10px;
    height: 8px;
    width: 8px;
}
ul::-webkit-scrollbar-thumb {
    background: #ABB9BE;
    border-radius: 10px;
}
ul::-webkit-scrollbar-thumb:hover {
    background: #858B8C;
}

/* Form */
:focus-visible {
    outline: none !important;
}

input,
select {
    height: 40px !important;
    padding: 0 16px;
}

textarea {
    padding: 16px !important;
}

input,
textarea,
select {
    line-height: 18px !important;
    font-weight: 400 !important;
    color: #212529 !important;
    border: 1px solid #C6C6C6 !important;
    border-radius: 0px !important;
    resize: none !important;
    margin: 0 !important;
    cursor: pointer !important;
}

input::placeholder,
textarea::placeholder,
select,
label {
    font-size: 12px !important;
}


small {
    font-size: 12px !important;
}

footer nav.tablesFooter {
    font-size: 10px !important;
}

footer .footer-reclamacoes {
    font-size: 8px !important;
}

@media (min-width: 992px) {
    input::placeholder,
    textarea::placeholder,
    select,
    label {
        font-size: 14px !important;
    }
}

option {
    cursor: pointer !important;
}

option:disabled {
    color: #10838850 !important;
}

input:hover,
input:focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus{
    border: 1px solid #108388 !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #212529 !important;
}

input[type="text"], 
input[type="tel"], 
input[type="email"],
input[type="textarea"],
textarea {
    cursor:auto !important;
}

input[type="checkbox"] {
    all: unset !important;
    width: 22px !important;
    height: 22px !important;
    position: relative !important;
    cursor: pointer !important;
}

input[type="checkbox"]:before {
    display: block !important;
    content: "" !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid #C6C6C6 !important;
    border-radius: 0px !important;
}

input[type="checkbox"]:hover:before,
input[type="checkbox"]:focus:before,
input[type="checkbox"]:checked:before {
    border: 1px solid #C6C6C6 !important;
}

input[type="checkbox"]:after {
    content: "✓" !important;
    left: 50% !important;
    top: 0 !important;
    font-size: 16px !important;
    transform: translateX(-50%) !important;
    position: absolute !important;
    opacity: 0 !important;
}

input[type="checkbox"]:checked:after {
    opacity: 1 !important;
}

iframe {
    border: 0 !important;
}

ul {
    list-style-type: none !important;
}

ul#consultationPointAccordionsMobile .accordion-collapse > a {
    text-decoration: none !important;
}

ul#consultationPointAccordionsMobile .accordion-collapse > a span {
    text-decoration: underline !important;
    text-decoration-color: #231f20 !important;
    text-decoration-thickness: 2px !important;
}

ul#consultationPointAccordions {
    margin-left: 0rem !important;
}

ul#consultationPointAccordions li {
    margin: 0 !important;
    margin-right: 0.5rem !important;
}

#consultation-request-body h6 {
    font-size: 18px !important;
}

#consultation-request-body div > a {
    font-size: 14px !important;
}

/* Form Wizard */

form.request-form > div.actions > ul {
    display: flex !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

form.request-form > div.actions > ul > li {
    flex: 0 !important;
}

form.request-form > div.steps > ul {
    position: relative !important;
    display: flex !important;
    justify-content: space-evenly !important;
}

form.request-form > div.steps > ul:before {
    content: " " !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 100% !important;
    height: 2px !important;
    background: #108388 !important;
    z-index: 0 !important;
}

form.request-form > div.steps > ul > li {
    position: relative !important;
    background: #FFFFFF !important;
    font-size: 20px;
    height: 30px !important;
    width: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 100% !important;
    border: 2px solid #108388 !important;
}

form.request-form > div.steps > ul > li > a{
    text-decoration: none !important;
}

form.request-form > div.steps > ul > li.disabled {
    background: #E5E8EA !important;
    border-color:#E5E8EA !important;
}

form.request-form > div.steps > ul > li.done {
    background: #108388 !important;
    border-color:#108388 !important;
}

form.request-form > div.steps > ul > li.done:after {
    content: "✓" !important;
    color: #FFFFFF !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%,-50%) !important;
}

form.request-form > div.steps > ul > li .current-info,
form.request-form > div.steps > ul > li .number {
    display: none !important;
}

/* Card */
.consultation-request-card {
    width: 300px !important;
    transition: all 0.5s ease !important;
}

.consultation-request-card a {
    font-size: 14px !important;
}

.consultation-request-card:hover,
.consultation-request-card:has(.collapse.show) {
    background-color: #00ADBB15 !important;
}

.consultation-request-card .hide-icon {
    display: none !important;
}

.consultation-request-card:has(.collapse.show) .show-icon {
    display: none !important;
}

.consultation-request-card:has(.collapse.show) .hide-icon {
    display: block !important;
}


.offcanvas.offcanvas-bottom {
    height: auto !important;
}


/* The above css was ported from DES, the below css is specific to fix issues in D3P */
.map-wrapper button {
    max-width: unset !important;
}

.map-wrapper a:not([data-bs-toggle]),
.request-form a:not([data-bs-toggle]) {
    color: #108388 !important;
    font-weight: bold !important;
}

.map-wrapper a:not([data-bs-toggle]):hover,
.request-form a:not([data-bs-toggle]):hover {
    opacity: 0.8 !important;
}

.map-wrapper .consultation-request-card a[data-bs-toggle]:hover,
.map-wrapper a#iframe-points-header {
    color: initial !important;
}

.map-wrapper input,
.request-form input,
.map-wrapper textarea,
.request-form textarea,
.map-wrapper select,
.request-form select,
input[type="checkbox"]:before {
    border-radius: 5px !important;
    border-width: 2px !important;
    border-color: #E5E8EA !important;
}

input[type="checkbox"]:hover:before,
input[type="checkbox"]:focus:before,
input[type="checkbox"]:checked:before {
    border-radius: 5px !important;
    border-width: 2px !important;
    border-color: #E5E8EA !important;
}

.map-wrapper #btn-presencial {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.map-wrapper #btn-remote {
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

.map-wrapper div#map button {
    border-radius: initial !important;
}

.consultation-request-card {
    border-radius: 10px !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: #E5E8EA !important;
}

@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css");
@import url("https://use.fontawesome.com/releases/v5.13.0/css/all.css");
.spinner {
  border: 8px solid rgba(0, 0, 0, 0.1);
  border-left-color: #108388;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.offcanvas.offcanvas-bottom {
    width: 100% !important;
}