@import url('https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600,700');

body {
    color: #18212f;
    font-size: 16px;
    line-height: 1.8;
    font-family: 'Raleway', sans-serif;
}

html {
    scroll-behavior: smooth;
}

img {
    vertical-align: baseline;
}

/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/
a {
    color: #1d1710;
}

a:visited {
    color: #7a7060;
}

a:hover, a:focus, a:active {
    color: #1d1710;
}

a:focus {
    outline: thin dotted;
}

a:hover, a:active {
    outline: 0;
    list-style: none;
}

/*--------------------------------------------------------------
# Site Header
--------------------------------------------------------------*/
.site-header {
    position: relative;
}

.nav-bar {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    padding: 20px 0;
}

/*
# Site Branding
--------------------------------*/
.site-branding {
    width: calc(100% - 24px);
    padding: 20px 0;
}

.site-branding a {
    margin-top: 6px;
}

.brand-link,
.brand-link:hover,
.foot-about a,
.foot-about a:hover {
    text-decoration: none;
}

.brand-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 190px;
    max-height: 70px;
    object-fit: contain;
}

.footer-logo {
    max-width: 220px;
    max-height: 72px;
}

@media screen and (min-width: 992px){
    .site-branding {
        width: auto;
    }
}

/*
  Hamburger Menu
----------------------------------------*/
.hamburger-menu {
    position: relative;
    z-index: 10001;
    width: 24px;
    height: 22px;
    margin: 0 auto;
    transition: .5s ease-in-out;
    cursor: pointer;
}

.hamburger-menu span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #1d1710;
    border-radius: 10px;
    opacity: 1;
    left: 0;
    transition: .25s ease-in-out;
}

.hamburger-menu span:nth-child(1) {
    top: 2px;
}

.hamburger-menu span:nth-child(2),
.hamburger-menu span:nth-child(3) {
    top: 10px;
}

.hamburger-menu span:nth-child(4) {
    top: 18px;
}

.hamburger-menu.open span:nth-child(1) {
    top: 18px;
    width: 0;
    left: 50%;
}

.hamburger-menu.open span:nth-child(2) {
    transform: rotate(45deg);
}

.hamburger-menu.open span:nth-child(3) {
    transform: rotate(-45deg);
}

.hamburger-menu.open span:nth-child(4) {
    top: 18px;
    width: 0;
    left: 50%;
}

/*
# Main Menu
--------------------------------*/
.site-navigation ul {
    position: fixed;
    top: 0;
    left: -320px;
    z-index: 9999;
    width: 320px;
    max-width: calc(100% - 120px);
    height: 100%;
    padding: 30px 15px;
    margin: 0;
    background: #fff;
    list-style: none;
    overflow-x: hidden;
    overflow-y: auto;
    transition: all 0.35s;
}

.site-navigation.show ul {
    left: 0;
}

.site-navigation ul li {
    margin: 0 18px;
}

.site-navigation ul li a {
    display: block;
    padding: 16px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #18212f;
    text-decoration: none;
    transition: color .35s;
}

.site-navigation ul li a:focus-visible,
.hamburger-menu:focus-visible {
    outline: 2px solid #0f766e;
    outline-offset: 4px;
}

/*
# Call Button
--------------------------------*/
.call-btn {
    min-width: 210px;
    padding: 8px 12px 6px !important;
    margin-left: 24px;
    margin-right: 0 !important;
}

.call-btn img {
    display: inline-block;
    margin-right: 12px;
}

.call-btn a {
    padding: 0 !important;
    font-size: 16px;
    font-weight: 600;
    color: #fff !important;
}

@media screen and (min-width: 992px) {
    .site-navigation ul {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        max-width: 100%;
        height: auto;
        padding: 0;
        overflow: auto;
        background: transparent;
    }

    .site-navigation ul li a {
        padding: 30px 0;
    }
}

.site-navigation ul li:not(.call-btn) a:hover,
.site-navigation ul li.current-menu-item:not(.call-btn) a {
    color: #0f766e;
}

@media screen and (max-width: 991px) {
    .site-navigation ul {
        padding: 92px 22px 28px;
        box-shadow: 12px 0 30px rgba(0,0,0,.12);
        align-items: flex-start !important;
    }

    .site-navigation ul li {
        width: 100%;
        margin: 0;
    }

    .site-navigation ul li a {
        padding: 14px 0;
        line-height: 1.25;
    }

    .site-navigation .call-btn {
        width: 100%;
        min-width: 0;
        margin-top: 18px !important;
        margin-left: 0;
    }

    .site-navigation .call-btn a {
        justify-content: flex-start !important;
    }
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero-slider {
    max-height: 600px;
}

.hero-content-wrap {
    min-height: 700px;
    position: relative;
    color: #fff;

    background-size: cover;
    background-position: center;
}

.hero-content-overlay {
    top: 0;
    left: 0;
    background: rgba(0,0,0,0);
}

.hero-content-overlay h1 {
    margin: 0;
    font-size: 60px;
    font-weight: 600;
    line-height: 1.2;
    color: #18212f;
}

.hero-content-overlay p {
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    color: #2d251b;
}

.hero-slider .pagination-wrap {
    top: 50%;
    left: 0;
    z-index: 99;
    width: 120px;
    margin-top: -60px;
}

.hero-slider .swiper-pagination-bullet {
    width: 120px;
    height: 28px;
    margin-bottom: 12px;
    border-radius: 0;
    border-bottom: 2px solid transparent;
    font-size: 16px;
    font-weight: 600;
    color: #b7aa98;
    background: transparent;
    opacity: 1;
    text-align: right;
}

.hero-slider .swiper-pagination-bullet-active {
    color: #0f766e;
    border-color: #0f766e;
}

@media screen and (max-width: 1400px) {
    .hero-slider .swiper-pagination-bullet {
        width: 60px;
    }
}

@media screen and (max-width: 576px) {
    .nav-bar {
        padding: 10px 0;
    }

    .site-branding {
        padding: 8px 0;
    }

    .site-branding a {
        margin-top: 0;
    }

    .site-branding .brand-logo {
        max-width: 150px;
        max-height: 54px;
    }

    .hero-slider {
        max-height: none;
    }

    .hero-content-wrap {
        min-height: 642px;
        background-position: 62% center;
    }

    .hero-content-overlay {
        background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.83) 55%, rgba(15,118,110,.26) 100%);
    }

    .hero-content-overlay .container {
        padding-right: 24px;
        padding-left: 24px;
    }

    .hero-content-wrap .col-12.col-lg-6 {
        min-height: 642px;
        padding-top: 118px;
        padding-bottom: 42px;
        justify-content: flex-start !important;
    }

    .hero-content-overlay h1 {
        max-width: 315px;
        font-size: 40px;
        line-height: 1.12;
        color: #2f3742;
    }

    .hero-content-overlay h1 br {
        display: none;
    }

    .hero-content-overlay .entry-content {
        max-width: 322px;
        margin-top: 18px !important;
    }

    .hero-content-overlay p {
        margin-bottom: 0;
        font-size: 15px;
        line-height: 1.62;
        color: #30343a;
    }

    .hero-content-overlay p span {
        display: block;
    }

    .hero-content-overlay p span + span {
        margin-top: 6px;
    }

    .hero-content-overlay .entry-footer {
        margin-top: 20px !important;
    }

    .hero-content-overlay .button {
        padding: 12px 24px 10px;
        margin-right: 0;
        font-size: 15px;
        line-height: 1.35;
    }

    .hero-slider .pagination-wrap {
        display: none;
    }

    .hero-slider .swiper-pagination-bullet {
        width: 30px;
        margin-left: 15px;
    }
}

/*--------------------------------------------------------------
# Elements Page
--------------------------------------------------------------*/
.elements-wrap {
    margin-top: 80px;
}

.elements-page .elements-heading .entry-title {
    font-size: 24px;
    font-weight: 600;
    color: #1d1710;
}

.elements-page .elements-container {
    margin-top: 54px;
}

.elements-page .btn {
    margin-right: 20px;
}

/*
# Button
----------------------------------*/
.button {
    padding: 12px 50px 10px;
    margin-right: 32px;
    border: 0;
    border-bottom: 3px solid #0f766e;
    border-radius: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #18212f;
    outline: none;
    background: #f6f9fa;
    text-decoration: none !important;
}

.button:focus {
    outline: none;
    box-shadow: none;
}

.button.dark {
    border-color: transparent;
    color: #fff;
    background: #0f766e;
}

.button.gradient-bg {
    border-color: transparent;
    background: -moz-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(15,118,110,1)), color-stop(100%, rgba(24,33,47,1))); /* safari4+,chrome */
    background: -webkit-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* opera 11.10+ */
    background: -ms-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ie10+ */
    background: linear-gradient(270deg, rgb(15, 118, 110) 0%, rgb(24, 33, 47) 100%); /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0f766e', endColorstr='#0f766e',GradientType=1 ); /* ie6-9 */
    color: #fff;
}

/*
# Accordion
----------------------------------*/
.accordion-wrap {
    position: relative;
}

.accordion-wrap .entry-content {
    margin: 0;
}

.accordion-wrap .entry-title {
    padding: 12px 38px;
    margin-bottom: 15px;
    background: #f3f3f3;
    font-size: 16px;
    font-weight: 600;
    color: #18212f;
    cursor: pointer;
}

.accordion-wrap .entry-title {
    border: 0;
    background: -moz-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(15,118,110,1)), color-stop(100%, rgba(43,179,163,1))); /* safari4+,chrome */
    background: -webkit-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* opera 11.10+ */
    background: -ms-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ie10+ */
    background: linear-gradient(270deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0f766e', endColorstr='#0f766e',GradientType=1 ); /* ie6-9 */
    color: #fff;
}

.accordion-wrap .entry-title .arrow-r::before,
.accordion-wrap .entry-title .arrow-d::before {
    content: "+";
    font-size: 24px;
    font-weight: 400;
}

.accordion-wrap .entry-title .arrow-d::before {
    content: "-";
}

/*
# Content
----------------------------------*/
.accordion-wrap .entry-content {
    display: none;
}

.accordion-wrap .entry-content p {
    padding: 10px 0;
    font-size: 14px;
    line-height: 2;
    color: #62717c;
}

/*
# Tabs
----------------------------------*/
ul.tabs-nav {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.tabs-nav .tab-nav {
    padding: 12px 24px;
    margin-right: 6px;
    margin-bottom: 10px;
    background: #f4eadb;
    font-size: 16px;
    font-weight: 600;
    color: #18212f;
    cursor: pointer;
    transition: all .35s;
}

ul.tabs-nav .tab-nav.active {
    border: 0;
    background: -moz-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(15,118,110,1)), color-stop(100%, rgba(24,33,47,1))); /* safari4+,chrome */
    background: -webkit-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* opera 11.10+ */
    background: -ms-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ie10+ */
    background: linear-gradient(270deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0f766e', endColorstr='#0f766e',GradientType=1 ); /* ie6-9 */
    color: #fff;
}

.tabs .tab-nav {
    margin-bottom: -1px;
    z-index: 99;
}

.tabs-container {
    padding: 60px 0;
}

.tab-content {
    display: none;
}

.tab-content img {
    float: left;
    margin-right: 32px;
    margin-bottom: 32px;
}

.tab-content h4 {
    margin-bottom: 24px;
    font-size: 18px;
    font-weight: 600;
    color: #18212f;
}

.tab-content p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 2;
    color: #7a7060;
}

/*
# Circular Progress Bar
----------------------------------*/
.circular-progress-bar {
    margin: 20px 0;
    text-align: center;
}

.circular-progress-bar .circle {
    position: relative;
    width: 156px;


    height: 156px;
    margin: 0 auto;
}

.circular-progress-bar .circle strong {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -24px;
    width: 100%;
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
    color: #18212f;
}

.circular-progress-bar .entry-title {
    margin-top: 32px;
    font-size: 20px;
    font-weight: 600;
    color: #18212f;
}

.circular-progress-bar .entry-title span {
    display: block;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 400;
    color: #62717c;
}

/*
# Counter Box
----------------------------------*/
.counter-box {
    margin: 60px 0 20px;
    text-align: center;
}

.counter-box .start-counter {
    margin-top: 10px;
    font-size: 48px;
    font-weight: 400;
    color: #18212f;
}

.counter-box .counter-k {
    font-size: 48px;
}

.counter-box .entry-title {
    margin-top: 10px;
    font-size: 16px;
    color: #62717c;
}

/*
# Icon Box
----------------------------------*/
.icon-box .entry-header img {
    margin-right: 24px;
}

.icon-box .entry-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #18212f;
}

.icon-box .entry-content {
    margin-top: 32px;
}

.icon-box .entry-content p {
    font-size: 14px;
    line-height: 2;
    color: #62717c;
}

.icon-box .entry-footer a {
    display: block;
    margin-top: 24px;
    font-size: 12px;
    font-weight: bold;
    color: #62717c;
    text-transform: uppercase;
}

/*
# Bar Filler
----------------------------------*/
.barfiller {
    position:relative;
    width:100%;
    height:5px;
    border-radius: 3px;
    background:#cddcde;
}

.barfiller .fill {
    display:block;
    position:relative;
    width:0px;
    height:100%;
    border-radius: 3px;
    background:#333;
    z-index:1;
}

.barfiller .tipWrap {
    display:none;
}

.barfiller .tip {
    left: 0;
    position: absolute;
    z-index: 2;
    width: 42px;
    height: 42px;
    padding-top: 14px;
    margin-top: -21px;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    background: #0f766e;
    color: #fff;
}

/*
# Subscribe Banner
--------------------------------*/
.subscribe-banner {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
    background: linear-gradient(270deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%);
    text-align: center;
}

.subscribe-banner::before {
    position: absolute;
    inset: 0;
    background: url("images/contrate-agile.jpg") no-repeat center 44%;
    background-size: cover;
    opacity: .36;
    content: "";
}

.subscribe-banner .container {
    position: relative;
    z-index: 1;
}

.subscribe-banner h2 {
    font-size: 30px;
    font-weight: 600;
    color: #fff;
}

.subscribe-banner input[type="email"] {
    width: 100%;
    padding: 8px 24px;
    border: 0;
    margin-top: 24px;
    font-size: 12px;
    font-style: italic;
    color: #18212f;
    background: #fff;
    text-align: left;
}

.subscribe-banner input[type="submit"] {
    margin-top: 32px;
    margin-right: 0;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

/*--------------------------------------------------------------
# Homepage
--------------------------------------------------------------*/
.homepage-boxes {
    padding: 110px 0;
}

/*
# Opening Hours
--------------------------------*/
.opening-hours,
.emergency-box,
.appointment-box,
.contact-info {
    position: relative;
    padding: 32px;
    border-radius: 20px;
    border: 2px solid #cddcde;
}

.opening-hours {
    border-color: #0f766e;
}

.opening-hours h2,
.emergency-box h2,
.appointment-box h2,
.contact-info h2 {
    position: absolute;
    top: -24px;
    left: -2px;
    height: 48px;
    padding-right: 16px;
    background: #fff;

    font-size: 24px;
    font-weight: 600;
    color: #18212f;
}

.opening-hours ul {
    list-style: none;
}

.opening-hours ul li {
    display: flex;
    margin-top: 10px;
    font-size: 16px;
    font-weight: 500;
    color: #62717c;
}

.opening-hours ul li span {
    display: inline-block;
}

/*
# Emergency
--------------------------------*/
.emergency-box {
    padding: 16px;
}

.emergency-box p {
    margin-top: 16px;
    margin-bottom: 0;
    font-size: 13px;
    font-style: italic;
    color: #62717c;
}

.emergency-box .call-btn {
    max-width: 220px;
    margin: 24px auto !important;
}

/*
# Make an Appointment
--------------------------------*/
.appointment-box {
    padding: 16px 16px 9px 16px;
}

.appointment-box form {
    margin-top: 24px;
}

.appointment-box form select,
.appointment-box form input[type="text"],
.appointment-box form input[type="number"] {
    display: block;
    width: calc(100% - 5px);
    padding: 12px 16px;
    margin-bottom: 10px;
    border: 0;
    font-size: 12px;
    font-style: italic;
    color: #62717c;
    background: #f6f9fa;
    outline: none;
}

.appointment-box form input[type="submit"] {
    margin-top: 16px;
    background: #0f766e;
}

/*
# Our Departments
--------------------------------*/
.our-departments {
    padding: 100px 0;
    background: url("images/como-funciona-agile.jpg") no-repeat center;
    background-size: cover;
}

.our-departments-wrap {
    padding: 60px 80px 80px;
    background: -moz-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(15,118,110,1)), color-stop(100%, rgba(43,179,163,1))); /* safari4+,chrome */
    background: -webkit-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* opera 11.10+ */
    background: -ms-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ie10+ */
    background: linear-gradient(270deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0f766e', endColorstr='#0f766e',GradientType=1 ); /* ie6-9 */
}

@media screen and (max-width: 768px){
    .subscribe-banner::before {
        background-position: center center;
        opacity: .32;
    }

    .our-departments-wrap {
        padding-right: 30px;
        padding-left: 30px;
    }
}

@media screen and (max-width: 576px){
    .subscribe-banner::before {
        background-position: 52% center;
    }
}

.our-departments-wrap h2 {
    margin-bottom: 80px;
    font-size: 48px;
    font-weight: 600;
    text-align: center;
    color: #fff;
}

.our-departments-cont {
    margin-bottom: 64px;
}

.our-departments-cont .entry-header {
    min-height: 48px;
}

.our-departments-cont .entry-header img {
    margin-right: 16px;
}

.our-departments-cont h3 {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
}

.our-departments-cont .entry-content {
    margin-top: 16px;
}

.our-departments-cont .entry-content p {
    font-size: 14px;
    color: #fff;
}

.our-departments-cont .entry-footer a {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff;
}

/*
# Section: Testimonial
--------------------------------*/
.testimonial-section {
    margin-top: 100px;
    position: relative;
    height: 100%;
    padding: 100px 0;
}

.testimonial-section h2 {
    margin-bottom: 40px !important;
}

.testimonial-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 50%;
    height: 100%;
    background: url("images/faq-agile.jpg") no-repeat right center;
    background-size: cover;
}

.testimonial-slider {
    position: relative;
}

.testimonial-slider-wrap {
    position: relative;
    padding: 72px 100px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 40px 20px 27px rgba(0,0,0,.1);
}

.testimonial-bg-shape {
    position: relative;
}

.testimonial-bg-shape::before {
    content: '';
    position: absolute;
    bottom: -90px;
    left: -130px;
    z-index: -1;
    width: 499px;
    height: 492px;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, rgba(22,82,178,.20) 0%, rgba(9,166,166,.14) 46%, rgba(22,82,178,0) 72%);
}

.testimonial-slider .content-wrap {
    background: #fff;
}

.testimonial-slider .entry-content p {
    position: relative;
    margin-top: 40px;
    font-size: 16px;
    line-height: 2;
    font-style: italic;
    color: #62717c;

}

.testimonial-slider .entry-content p::before {
    content: '';
    position: absolute;
    top: -80px;
    left: 0;
    width: 46px;
    height: 46px;
    background: none;
}

.faq-subtitle {
    max-width: 640px;
    margin-top: -24px;
    margin-bottom: 48px;
    font-size: 16px;
    line-height: 1.7;
    color: #62717c;
}

.testimonial-slider .faq-content p {
    position: static;
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
    font-style: normal;
    color: #62717c;
}

.testimonial-slider .faq-content p::before {
    display: none;
}

.faq-accordion {
    width: 100%;
}

.faq-item {
    border-bottom: 1px solid #cddcde;
}

.faq-item:first-child {
    border-top: 1px solid #cddcde;
}

.faq-question {
    position: relative;
    display: block;
    width: 100%;
    padding: 18px 40px 18px 0;
    border: 0;
    background: transparent;
    color: #18212f;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
    cursor: pointer;
}

.faq-question::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 0;
    color: #0f766e;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%);
}

.faq-question[aria-expanded="true"]::after {
    content: "-";
}

.faq-question:focus {
    outline: thin dotted;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}

.faq-answer p {
    padding: 0 40px 18px 0;
}

.testimonial-slider .testimonial-user {
    display: inline-block;
    margin-top: 24px;
    font-size: 16px;
    font-weight: 500;
    color: #18212f;
}

.testimonial-slider .testimonial-user span {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #62717c;
}

.testimonial-slider .user-avatar {
    width: 78px;
    height: 78px;
    margin-top: 56px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #0f766e;
}

.testimonial-slider .user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-pagination-wrap {
    position: absolute;
    left: 0;
    bottom: 150px;
    z-index: 99;
    width: 100%;
}

@media screen and (max-width: 768px){

    .testimonial-slider-wrap {
        padding: 72px 30px 120px;
    }

    .testimonial-slider-wrap.faq-slider-wrap {
        padding-bottom: 72px;
    }

    .swiper-pagination-wrap {
        bottom: 30px;
    }
}

.testimonial-slider .swiper-pagination-bullet {
    width: 52px;
    height: 52px;
    margin: 0 8px;
    opacity: 1 !important;
}

.testimonial-slider .swiper-pagination-bullet:nth-of-type(1) {
    background: url("images/agile-avatar-1.png");
}

.testimonial-slider .swiper-pagination-bullet:nth-of-type(2) {
    background: url("images/agile-avatar-2.png");
}

.testimonial-slider .swiper-pagination-bullet:nth-of-type(3) {
    background: url("images/agile-avatar-3.png");
}

.testimonial-slider .swiper-pagination-bullet:nth-of-type(4) {
    background: url("images/agile-avatar-4.png");
}

.testimonial-slider .swiper-pagination-bullet-active {
    display: none;
}

/*
# News
--------------------------------*/
.the-news {
    padding: 100px 0 40px;
}

.the-news h2,
.testimonial-section h2 {
    margin-bottom: 80px;
    font-size: 48px;
    font-weight: 600;
    text-align: center;
    color: #18212f;
}

.testimonial-section h2 {
    text-align: left;
}

.the-news-wrap {
    margin-bottom: 60px;
}

.the-news-wrap figure {
    margin: 0;
}

.the-news-wrap figure img {
    width: 100%;
}

.the-news-wrap h3 {
    margin-top: 24px;
    font-size: 20px;
    font-weight: 600;
    color: #18212f;
}

.the-news .post-metas {
    margin-top: 12px;
    font-size: 12px;
    font-weight: 600;
    color: #62717c;
}

.the-news .post-metas > div {
    margin-right: 16px;
}

.the-news .post-metas label {
    margin: 0;
    color: #0f766e;
}

.the-news .post-metas a {
    color: #62717c;
}

.the-news-wrap .entry-content {
    margin-top: 32px;
}

.the-news-wrap .entry-content p {
    font-size: 14px;
    line-height: 2;
    color: #62717c;
}

/*--------------------------------------------------------------
# Single Page
--------------------------------------------------------------*/
.single-page .site-header {
    position: relative;
    padding: 220px 0 140px;
    background-color: #f6f9fa;
}

.single-page .site-header h1 {
    margin-bottom: 0;
    font-size: 60px;
    font-weight: 600;
    color: #18212f;
}

.single-page .site-header .header-img {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 65%;
    height: auto;
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
   font-size: 14px;
    font-weight: 500;
    color: #62717c;
}

.breadcrumbs ul {
    list-style: none;
}

.breadcrumbs li {
    position: relative;
    padding-right: 10px;
    margin-right: 5px;
    color: #0f766e;
}

.breadcrumbs li::after {
    content: "/";
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    color: #62717c;
}

.breadcrumbs li:nth-last-of-type(1)::after {
    display: none;
               }

.breadcrumbs a {
    color: #62717c;
}

/*--------------------------------------------------------------
# About Page
--------------------------------------------------------------*/
.med-history {
    padding: 100px 0;
}

.med-history h2,
.medical-team h2,
.quality-services h2 {
    margin-bottom: 48px;
    font-size: 48px;
    font-weight: 600;
    color: #18212f;
}

.med-history p {
    font-size: 14px;
    color: #62717c;
}

.med-history .button {
    margin-top: 24px;
}

.med-history img {
    max-width: 100%;
}

.faq-stuff {
    padding: 100px 0;
    background: url("images/faq-agile.jpg") no-repeat;
    background-size: cover;
}

.faq-stuff h2 {
    margin-bottom: 64px;
    font-size: 48px;
    font-weight: 600;
    color: #fff;
}

.faq-stuff .accordion-wrap .entry-content p {
    color: #fff;
}

.professional-box,
.quality-box {
    position: relative;
    padding: 32px;
    border-radius: 20px;
    border: 2px solid #fff;
    text-align: center;
}

.professional-box h2,
.quality-box h2 {
    position: absolute;
    top: -24px;
    left: -2px;
    height: 48px;
    padding-right: 16px;
    padding-left: 16px;
    font-size: 24px;
    font-weight: 600;
    color: #18212f;
    background: #fff;
}

.professional-box img,
.quality-box img {
    margin: 24px 0;
}

.professional-box p,
.quality-box p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 2;
    font-weight: 500;
    color: #fff;
}

.medical-team {
    padding: 100px 0;
}

.medical-team h2 {
    margin-bottom: 56px;
}

.medical-team-wrap {
    text-align: center;
}

.medical-team-wrap img {
    max-width: 100%;
    border-radius: 20px;
}

.medical-team-wrap h4 {
    margin-top: 32px;
    font-size: 18px;
    font-weight: 600;
    color: #18212f;
}

.medical-team-wrap h5 {
    margin-top: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #62717c;
}


/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.quality-services {
    padding: 100px 0;
}

.quality-services h2 {
    text-align: center;
}

.quality-services p {
    font-size: 14px;
    line-height: 2;
    color: #62717c;
}

.services-tabs {
    margin: 100px 0;
}

/*--------------------------------------------------------------
# News
--------------------------------------------------------------*/
.blog-page .the-news {
    padding-bottom: 20px;
}

.blog-page .the-news-wrap {
    margin-bottom: 80px;
}

/*--------------------------------------------------------------
# Pagination
--------------------------------------------------------------*/
@media screen and (min-width: 992px){
    .pagination {
        margin-bottom: 100px;
    }
}

.pagination a {
    margin-right: 16px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #62717c;
    text-decoration: none;
}

.pagination a:hover,
.pagination .active a {
    color: #0f766e;
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar {
    padding: 100px 0;
}

/*
# Search
--------------------------------*/
.search-widget input[type="search"] {
    width: calc(100% - 90px);
    padding: 8px 30px 8px 20px;
    border: 0;
    border-radius: 30px;
    font-size: 14px;
    outline: none;
    background: #f6f9fa;
    color: #18212f;
}

.search-widget button[type="submit"] {
    padding: 10px 32px 9px;
    border: 0;
    margin-left: -32px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 500;
    font-style: italic;
    color: #fff;
    cursor: pointer;
    outline: none;
    background: -moz-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(15,118,110,1)), color-stop(100%, rgba(24,33,47,1))); /* safari4+,chrome */
    background: -webkit-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* opera 11.10+ */
    background: -ms-linear-gradient(180deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* ie10+ */
    background: linear-gradient(270deg, rgba(15,118,110,1) 0%, rgba(24,33,47,1) 100%); /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0f766e', endColorstr='#0f766e',GradientType=1 ); /* ie6-9 */
}

.widget-title {
    margin-top: 52px;
    margin-bottom: 32px;
    font-size: 24px;
    font-weight: 600;
    color: #18212f;
}

/*
# Categories
--------------------------------*/
.sidebar-cats ul {
    list-style: none;
}

.sidebar-cats li {
    margin-bottom: 15px;
    font-size: 14px;
}

.sidebar-cats li a {
    color: #62717c;
}

/*
# Popular Posts
--------------------------------*/
.popular-posts ul {
    list-style: none;
}

.popular-posts li {
    margin-bottom: 32px;
}

.popular-posts li:nth-last-of-type(1) {
    margin-bottom: 0;
}

.popular-posts figure,
.popular-posts figure a ,
.popular-posts figure img {
    display: block;
    margin: 0;
}

.popular-posts figure {
    width: 58px;
}

.popular-posts .entry-content {
    width: calc(100% - 72px);
}

.popular-posts h3 {
    font-size: 14px;
}

.popular-posts h3 a {
    color: #62717c;
}

.popular-posts .posted-date {
    font-size: 12px;
    font-weight: 500;
    color: #0f766e;
}

/*
#Opening hours
--------------------------------*/
.sidebar .opening-hours,
.sidebar .emergency-box {
    margin-top: 80px;
}

.sidebar .emergency-box .button {
    max-width: 220px;
    padding: 6px 10px 4px;
    margin: 32px auto;
}

/*--------------------------------------------------------------
# Contact Page
--------------------------------------------------------------*/
.contact-page-short-boxes {
    padding: 100px 0;
}

.contact-info ul {
    list-style: none;
    font-size: 14px;
    font-weight: 500;
    color: #62717c;
}

.contact-info ul li {
    margin-top: 20px;
    margin-bottom: 12px;
    font-weight: 500;
}

.contact-info ul li span {
    display: inline-block;
    color: #18212f;
}

.contact-info ul li span {
    width:64px;
}

.contact-page-short-boxes .opening-hours ul li {
    margin-top: 20px;
}

.contact-page-short-boxes .emergency-box {
    padding: 32px;
}

.contact-page-short-boxes .emergency-box .button {
    max-width: 220px;
    padding: 6px 10px 4px;
    margin: 0 auto 24px;
}

.contact-form {
    margin-bottom: 100px;
}

.contact-form h2 {
    margin-bottom: 24px;
    background: #fff;
    font-size: 24px;
    font-weight: 600;
    color: #18212f;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
    width: 100%;
    padding: 15px 20px;
    margin-top: 30px;
    border: 0;
    background: #f6f9fa;
    outline: none;
    font-size: 12px;
    line-height: 1;
    font-style: italic;
    color: #62717c;
}

.contact-form input[type="submit"] {
    font-size: 16px;
    font-weight: 500;
    margin-top: 30px;
    cursor: pointer;
}

.contact-page-map {
    margin-bottom: 100px;
}

.contact-page-map iframe {
    display: block;
    width: 100%;
    height: 560px;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
    position: relative;
    padding: 48px 0;
    background: linear-gradient(180deg, #f8fbff 0%, #edf4fb 100%);
    background-size: cover;
    font-size: 14px;
    color: #62717c;
}

.institutional-notice {
    padding: 10px 0 14px;
    background: #fff;
}

.institutional-notice .container {
    max-width: 1200px;
}

.institutional-notice p {
    margin: 0 auto;
    color: #62717c;
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
    opacity: .72;
}

.footer-widgets h2 {
    display: flex;
    align-items: center;
    min-height: 50px;
    margin-bottom: 24px;
    font-size: 18px;
    font-weight: 600;
    color: #18212f;
}

.foot-about p {
    font-size: 14px;
    line-height: 2;
}

.foot-about p.copyright {
    margin-top: 24px;
    font-size: 12px;
    font-weight: 500;
}

.foot-contact ul {
    list-style: none;
}

.foot-contact ul li {
    margin-bottom: 5px;
    font-weight: 500;
}

.foot-contact ul li span {
    display: inline-block;
    color: #18212f;
}

.foot-contact ul li span {
    width: auto;
    min-width: 64px;
    margin-right: 4px;
}

.foot-links ul {
    list-style: none;
    column-count: 2;
    column-gap: 10px;
}

.foot-links ul li {
    margin-bottom: 5px;
}

.foot-links ul li a {
    color: #62717c;
}

.footer-policy-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 16px !important;
    column-count: auto !important;
}

.footer-policy-links li {
    margin-bottom: 0;
}

.footer-policy-links a {
    font-size: 12px;
    font-weight: 600;
    color: #0f766e !important;
}

.legal-hero {
    padding: 170px 0 72px;
    background: #f6f9fa;
}

.legal-hero h1 {
    margin: 0;
    color: #18212f;
    font-size: 46px;
    font-weight: 600;
    line-height: 1.2;
}

.legal-hero p {
    max-width: 760px;
    margin: 20px 0 0;
    color: #62717c;
    font-size: 16px;
    line-height: 1.8;
}

.legal-content {
    padding: 70px 0 90px;
}

.legal-content article {
    max-width: 980px;
    margin: 0 auto;
}

.legal-content section {
    margin-bottom: 36px;
}

.legal-content h2 {
    margin-bottom: 12px;
    color: #18212f;
    font-size: 24px;
    font-weight: 600;
}

.legal-content p,
.legal-content li {
    color: #62717c;
    font-size: 15px;
    line-height: 1.9;
}

.legal-content ul {
    padding-left: 20px;
}

.legal-content a {
    color: #0f766e;
    font-weight: 600;
}

.about-content article {
    max-width: 900px;
}

.about-differences ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 28px;
    padding-left: 0;
    margin: 18px 0 0;
    list-style: none;
}

.about-differences li {
    position: relative;
    padding-left: 22px;
}

.about-differences li::before {
    position: absolute;
    top: .75em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0f766e;
    content: "";
}

.about-cta {
    margin-top: 18px;
    padding-top: 8px;
}

.about-cta .button {
    display: inline-block;
    margin-top: 10px;
}

.legal-updated {
    margin-bottom: 32px;
    color: #62717c;
    font-size: 13px;
}

.cookie-consent {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10000;
    padding: 14px 0;
    background: rgba(255,255,255,.96);
    box-shadow: 0 -8px 24px rgba(0,0,0,.08);
}

.cookie-consent.cookie-consent-hidden {
    display: none;
}

.cookie-consent-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
}

.cookie-consent p {
    flex: 1 1 520px;
    margin: 0;
    color: #62717c;
    font-size: 12px;
    line-height: 1.6;
}

.cookie-consent a {
    color: #0f766e;
    font-weight: 600;
}

.cookie-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.cookie-primary,
.cookie-secondary {
    border: 0;
    border-radius: 20px;
    padding: 9px 18px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.cookie-primary {
    color: #fff;
    background: linear-gradient(270deg, rgb(15, 118, 110) 0%, rgb(24, 33, 47) 100%);
}

.cookie-secondary {
    color: #0f766e;
    background: #f6f9fa;
}

.cookie-preferences {
    flex: 1 0 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    padding-top: 8px;
}

.cookie-preferences label {
    margin: 0;
    color: #62717c;
    font-size: 12px;
}

.floating-whatsapp {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    overflow: visible;
    text-decoration: none;
    opacity: 1;
    visibility: visible;
    filter: drop-shadow(0 12px 22px rgba(24,33,47,.24));
    transition: transform .25s ease, filter .25s ease;
}

.floating-whatsapp::after {
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(34,187,67,.34);
    content: "";
    pointer-events: none;
    animation: whatsapp-pulse 2.8s ease-in-out infinite;
}

.floating-whatsapp img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: none;
}

.floating-whatsapp:hover,
.floating-whatsapp:focus {
    transform: translateY(-3px) scale(1.06);
    filter: drop-shadow(0 16px 28px rgba(24,33,47,.30));
}

.floating-whatsapp:focus-visible {
    outline: 3px solid var(--agile-blue);
    outline-offset: 4px;
}

body.has-cookie-consent .floating-whatsapp,
body:has(.cookie-consent:not(.cookie-consent-hidden)) .floating-whatsapp {
    bottom: 118px;
}

@keyframes whatsapp-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(34,187,67,.34);
        opacity: .9;
    }

    70% {
        box-shadow: 0 0 0 16px rgba(34,187,67,0);
        opacity: 0;
    }

    100% {
        box-shadow: 0 0 0 0 rgba(34,187,67,0);
        opacity: 0;
    }
}

@media screen and (max-width: 768px) {
    .faq-subtitle {
        margin-top: -16px;
        margin-bottom: 32px;
    }

    .faq-question {
        padding-right: 32px;
        font-size: 15px;
    }

    .faq-answer p {
        padding-right: 0;
    }

    .legal-hero {
        padding: 140px 0 56px;
    }

    .legal-hero h1 {
        font-size: 34px;
    }

    .about-differences ul {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .cookie-actions,
    .cookie-primary,
    .cookie-secondary {
        width: 100%;
    }

    .cookie-actions {
        flex-direction: column;
    }

    .floating-whatsapp {
        right: 16px;
        bottom: 16px;
        width: 62px;
        height: 62px;
    }

    body.has-cookie-consent .floating-whatsapp,
    body:has(.cookie-consent:not(.cookie-consent-hidden)) .floating-whatsapp {
        bottom: 238px;
    }
}

.branco {
	color: #FFF;
}

.nounder:hover {
	text-decoration: none;
}

/*--------------------------------------------------------------
# Agile Visual Identity
--------------------------------------------------------------*/
:root {
    --agile-ink: #102a3a;
    --agile-deep: #0b2735;
    --agile-green: #12857c;
    --agile-green-strong: #0a6965;
    --agile-leaf: #2bbfb0;
    --agile-gold: #c99a2e;
    --agile-gold-soft: #fff3cf;
    --agile-muted: #5b6f7a;
    --agile-surface: #f4f8f8;
    --agile-surface-strong: #e8f2f1;
    --agile-line: #c6d7da;
    --agile-white: #ffffff;
    --agile-navy: var(--agile-deep);
    --agile-blue: #103f55;
    --agile-blue-soft: var(--agile-leaf);
    --agile-teal: var(--agile-leaf);
    --agile-cyan: var(--agile-gold);
}

body {
    color: var(--agile-ink);
    background: var(--agile-surface);
}

a,
a:visited {
    color: var(--agile-ink);
}

a:hover,
a:focus,
a:active,
.site-navigation ul li:not(.call-btn) a:hover,
.site-navigation ul li.current-menu-item:not(.call-btn) a {
    color: var(--agile-green);
}

.nav-bar {
    background: linear-gradient(180deg, rgba(246,249,250,.94) 0%, rgba(229,244,234,.66) 58%, rgba(246,249,250,0) 100%);
    backdrop-filter: saturate(1.08) blur(3px);
}

.brand-logo {
    max-width: 206px;
    max-height: 68px;
}

.footer-logo {
    max-width: 232px;
    max-height: 76px;
}

.site-navigation ul {
    background: var(--agile-white);
    box-shadow: 0 18px 48px rgba(24,33,47,.10);
}

@media screen and (min-width: 992px) {
    .site-navigation ul {
        background: transparent;
        box-shadow: none;
    }

    .hamburger-menu {
        display: none !important;
    }
}

.hamburger-menu span {
    background: var(--agile-ink);
}

.hero-content-wrap {
    background-position: 66% center;
}

.hero-content-overlay {
    background: linear-gradient(90deg, rgba(246,249,250,.97) 0%, rgba(230,240,239,.88) 38%, rgba(15,118,110,.20) 67%, rgba(199,154,52,.06) 100%);
    overflow: hidden;
    z-index: 1;
}

.hero-content-overlay::after {
    position: absolute;
    top: 0;
    right: -12vw;
    z-index: 0;
    width: min(52vw, 620px);
    height: 100%;
    background: linear-gradient(135deg, rgba(15,118,110,.14) 0%, rgba(199,154,52,.12) 100%);
    content: "";
    pointer-events: none;
    transform: skewX(-8deg);
    transform-origin: center;
}

.hero-content-overlay .container {
    position: relative;
    z-index: 1;
}

.hero-content-overlay h1 {
    color: var(--agile-ink);
}

.hero-content-overlay p {
    color: #31443a;
}

.hero-slider .swiper-pagination-bullet-active {
    color: var(--agile-green);
    border-color: var(--agile-green);
}

.button,
.cookie-secondary {
    border-bottom-color: var(--agile-green);
    color: var(--agile-ink);
    background: var(--agile-surface-strong);
}

.button.dark,
.button.gradient-bg,
.cookie-primary,
.appointment-box form input[type="submit"],
.search-widget button[type="submit"],
.accordion-wrap .entry-title,
ul.tabs-nav .tab-nav.active,
.our-departments-wrap,
.subscribe-banner {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, var(--agile-deep) 0%, var(--agile-green) 62%, #b8842f 100%);
    filter: none;
}

.button.gradient-bg:hover,
.cookie-primary:hover,
.appointment-box form input[type="submit"]:hover {
    background: linear-gradient(135deg, #101820 0%, var(--agile-green-strong) 50%, var(--agile-gold) 100%);
    color: #fff;
}

.call-btn img,
.our-departments-cont .entry-header img {
    filter: none;
}

.site-navigation .call-btn {
    min-width: 184px;
    padding: 0 !important;
    border-radius: 16px;
    margin-left: 22px;
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(24,33,47,.16);
}

.site-navigation .call-btn a {
    display: flex !important;
    align-items: center;
    justify-content: center !important;
    gap: 10px;
    min-height: 52px;
    padding: 0 18px !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.site-navigation .call-btn img {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    margin-right: 0;
    object-fit: contain;
}

.opening-hours,
.emergency-box,
.appointment-box,
.contact-info,
.testimonial-slider-wrap {
    border-color: var(--agile-line);
    background: rgba(255,255,255,.96);
    box-shadow: 0 22px 52px rgba(24,33,47,.10);
}

.opening-hours {
    border-color: var(--agile-green);
}

.opening-hours h2,
.emergency-box h2,
.appointment-box h2,
.contact-info h2,
.professional-box h2,
.quality-box h2,
.contact-form h2 {
    background: var(--agile-surface);
    color: var(--agile-ink);
}

.appointment-box form select,
.appointment-box form input[type="text"],
.appointment-box form input[type="email"],
.appointment-box form input[type="number"],
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea,
.search-widget input[type="search"],
ul.tabs-nav .tab-nav {
    background: var(--agile-surface);
    color: var(--agile-muted);
}

.appointment-box form select:focus,
.appointment-box form input[type="text"]:focus,
.appointment-box form input[type="email"]:focus,
.appointment-box form input[type="number"]:focus {
    box-shadow: 0 0 0 2px rgba(15,118,110,.18);
}

.our-departments {
    background-position: center 45%;
}

.our-departments-wrap {
    box-shadow: 0 28px 70px rgba(24,33,47,.22);
}

.testimonial-section::before,
.faq-stuff {
    background-position: center;
}

.testimonial-section::before {
    opacity: .30;
}

.testimonial-bg-shape::before {
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(15,118,110,.16) 0%, rgba(199,154,52,.12) 100%);
}

.testimonial-slider .content-wrap {
    background: transparent;
}

.faq-item {
    border-color: var(--agile-line);
}

.faq-question {
    color: var(--agile-ink);
}

.faq-question::after,
.legal-content a,
.footer-policy-links a,
.cookie-consent a,
.about-differences li::before,
.pagination a:hover,
.pagination .active a,
.breadcrumbs li,
.popular-posts .posted-date,
.the-news .post-metas label {
    color: var(--agile-green) !important;
}

.about-differences li::before {
    background: var(--agile-gold);
}

.subscribe-banner {
    background: linear-gradient(135deg, #101820 0%, var(--agile-green-strong) 56%, #b8842f 100%);
}

.subscribe-banner::before {
    opacity: .26;
    filter: saturate(.88) contrast(1.08);
}

.site-footer {
    background: linear-gradient(180deg, #f9fcf8 0%, var(--agile-surface-strong) 100%);
    color: var(--agile-muted);
}

.footer-widgets h2 {
    color: var(--agile-ink);
}

.institutional-notice {
    background: var(--agile-surface-strong);
}

.legal-hero,
.cookie-secondary {
    background: var(--agile-surface);
}

.cookie-consent {
    background: rgba(249,252,248,.98);
    box-shadow: 0 -10px 30px rgba(24,33,47,.12);
}

.floating-whatsapp:focus-visible {
    outline-color: var(--agile-green);
}

@media screen and (max-width: 576px) {
    .site-branding .brand-logo {
        max-width: 156px;
        max-height: 54px;
    }

    .hero-content-wrap {
        background-position: 61% center;
    }

    .hero-content-overlay {
        background: linear-gradient(90deg, rgba(246,249,250,.98) 0%, rgba(230,240,239,.90) 56%, rgba(15,118,110,.24) 100%);
    }

    .hero-content-overlay::after {
        top: 0;
        right: -55vw;
        width: 105vw;
        height: 100%;
        opacity: .38;
        transform: skewX(-8deg);
    }

    .hero-content-overlay h1 {
        color: var(--agile-ink);
    }

    .hero-content-overlay p {
        color: #31443a;
    }

    .our-departments {
        background-position: 53% center;
    }
}

@media screen and (max-width: 991px) {
    .nav-bar .col-12 {
        position: relative;
    }

    .site-branding {
        width: auto;
        flex: 1 1 auto;
        max-width: calc(100% - 48px);
    }

    .hamburger-menu {
        position: fixed;
        top: 24px;
        right: 24px;
        display: block !important;
        flex: 0 0 38px;
        width: 38px;
        height: 34px;
        margin: 0;
        border: 1px solid rgba(15,118,110,.20);
        border-radius: 8px;
        background: rgba(255,255,255,.78);
        box-shadow: 0 8px 22px rgba(24,33,47,.10);
        transform: none;
        z-index: 10002;
    }

    .hamburger-menu span {
        left: 8px;
        width: 20px;
        height: 3px;
        background: var(--agile-green-strong) !important;
    }

    .hamburger-menu span:nth-child(1) {
        top: 8px;
    }

    .hamburger-menu span:nth-child(2),
    .hamburger-menu span:nth-child(3) {
        top: 15px;
    }

    .hamburger-menu span:nth-child(4) {
        top: 22px;
    }

    .site-navigation .call-btn {
        width: auto;
        min-width: 0;
        max-width: 240px;
        margin-left: 0;
    }

    .site-navigation .call-btn a {
        min-height: 50px;
        padding: 0 18px !important;
        font-size: 14px;
    }

    .site-navigation .call-btn img {
        width: 28px;
        height: 28px;
    }
}

/*--------------------------------------------------------------
# Agile Polish Pass
--------------------------------------------------------------*/
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    letter-spacing: 0;
}

.nav-bar {
    padding: 18px 0;
    background: rgba(244,248,248,.94);
    border-bottom: 1px solid rgba(198,215,218,.52);
    box-shadow: 0 10px 34px rgba(11,39,53,.08);
    backdrop-filter: saturate(1.1) blur(8px);
}

.site-branding {
    padding: 8px 0;
}

.brand-logo {
    max-width: 190px;
    max-height: 58px;
}

.site-navigation ul li {
    margin: 0 15px;
}

.site-navigation ul li a {
    color: var(--agile-ink);
    font-weight: 700;
    letter-spacing: 0;
}

.site-navigation ul li:not(.call-btn) a:hover,
.site-navigation ul li.current-menu-item:not(.call-btn) a {
    color: var(--agile-blue);
}

.hamburger-menu span {
    background: var(--agile-blue);
}

.button,
.cookie-primary,
.cookie-secondary,
.appointment-box form input[type="submit"],
.search-widget button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 48px;
    border-radius: 8px;
    border-bottom-width: 0;
    text-align: center;
    line-height: 1.25;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.button,
.cookie-secondary {
    color: var(--agile-blue);
    background: var(--agile-white);
    border: 1px solid var(--agile-line);
    box-shadow: 0 10px 24px rgba(11,39,53,.08);
}

.button.dark,
.button.gradient-bg,
.cookie-primary,
.appointment-box form input[type="submit"],
.search-widget button[type="submit"],
.accordion-wrap .entry-title,
ul.tabs-nav .tab-nav.active {
    color: var(--agile-white);
    background: var(--agile-blue);
    border-color: transparent;
    box-shadow: 0 14px 26px rgba(11,39,53,.16);
    filter: none;
}

.button.gradient-bg:hover,
.button.dark:hover,
.cookie-primary:hover,
.appointment-box form input[type="submit"]:hover,
.search-widget button[type="submit"]:hover {
    color: var(--agile-white);
    background: var(--agile-green-strong);
    box-shadow: 0 16px 30px rgba(10,105,101,.20);
    transform: translateY(-1px);
}

.site-navigation .call-btn {
    flex: 0 0 auto;
    min-width: 238px;
    max-width: none;
    padding: 0 !important;
    margin-left: 26px;
    border-radius: 8px;
    background: var(--agile-blue) !important;
    box-shadow: 0 16px 32px rgba(11,39,53,.20);
}

.site-navigation .call-btn a {
    width: 100%;
    min-width: 238px;
    min-height: 54px;
    padding: 0 22px !important;
    gap: 12px;
    color: var(--agile-white) !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.site-navigation .call-btn img {
    width: 30px;
    height: 30px;
    min-width: 30px;
    margin-right: 0;
    object-fit: contain;
}

.site-navigation .call-btn:hover {
    background: var(--agile-green-strong) !important;
}

.hero-slider {
    max-height: none;
}

.hero-content-wrap {
    min-height: 690px;
    background-position: 69% center;
}

.hero-content-overlay {
    background: linear-gradient(90deg, rgba(244,248,248,.98) 0%, rgba(232,242,241,.92) 43%, rgba(18,133,124,.12) 69%, rgba(11,39,53,.05) 100%);
}

.hero-content-overlay::after {
    right: -10vw;
    width: min(46vw, 560px);
    background: rgba(18,133,124,.10);
}

.hero-content-overlay h1 {
    max-width: 620px;
    color: var(--agile-deep);
    font-size: 58px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0;
}

.hero-content-overlay p {
    max-width: 560px;
    color: #395260;
    font-size: 15px;
    line-height: 1.85;
}

.hero-content-overlay .button {
    padding-right: 34px;
    padding-left: 34px;
}

.opening-hours,
.emergency-box,
.appointment-box,
.contact-info,
.testimonial-slider-wrap,
.professional-box,
.quality-box {
    border-radius: 8px;
    border-color: var(--agile-line);
    background: rgba(255,255,255,.98);
    box-shadow: 0 22px 46px rgba(11,39,53,.10);
}

.opening-hours {
    border-color: var(--agile-green);
}

.opening-hours h2,
.emergency-box h2,
.appointment-box h2,
.contact-info h2,
.professional-box h2,
.quality-box h2,
.contact-form h2 {
    color: var(--agile-deep);
    background: var(--agile-surface);
}

.homepage-boxes {
    background: var(--agile-surface);
}

.appointment-box form select,
.appointment-box form input[type="text"],
.appointment-box form input[type="email"],
.appointment-box form input[type="number"],
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea,
.search-widget input[type="search"],
ul.tabs-nav .tab-nav {
    width: 100%;
    border: 1px solid rgba(198,215,218,.78);
    border-radius: 8px;
    color: var(--agile-ink);
    background: var(--agile-white);
}

.appointment-box form select:focus,
.appointment-box form input[type="text"]:focus,
.appointment-box form input[type="email"]:focus,
.appointment-box form input[type="number"]:focus,
.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form textarea:focus {
    border-color: var(--agile-green);
    box-shadow: 0 0 0 3px rgba(18,133,124,.16);
}

.appointment-box form input[type="submit"] {
    width: 100%;
    min-height: 52px;
    margin-right: 0;
}

.our-departments {
    position: relative;
    background-position: center;
}

.our-departments::before,
.faq-stuff::before {
    position: absolute;
    inset: 0;
    background: rgba(11,39,53,.58);
    content: "";
    pointer-events: none;
}

.our-departments > .container,
.faq-stuff > .container {
    position: relative;
    z-index: 1;
}

.our-departments-wrap,
.subscribe-banner {
    background: var(--agile-deep);
    box-shadow: 0 28px 58px rgba(11,39,53,.24);
}

.our-departments-cont .entry-header img,
.call-btn img {
    filter: none;
}

.testimonial-bg-shape::before {
    border-radius: 8px;
    background: rgba(18,133,124,.10);
}

.faq-question::after,
.legal-content a,
.footer-policy-links a,
.cookie-consent a,
.pagination a:hover,
.pagination .active a,
.breadcrumbs li,
.popular-posts .posted-date,
.the-news .post-metas label {
    color: var(--agile-green) !important;
}

.about-differences li::before,
.barfiller .tip,
.barfiller .fill {
    background: var(--agile-green);
}

.site-footer {
    background: #edf4f4;
    border-top: 1px solid var(--agile-line);
    color: var(--agile-muted);
}

.institutional-notice {
    background: var(--agile-deep);
}

.institutional-notice p {
    color: rgba(255,255,255,.78);
}

.cookie-consent {
    background: rgba(244,248,248,.98);
    border-top: 1px solid var(--agile-line);
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .brand-logo {
        max-width: 166px;
    }

    .site-navigation ul li {
        margin: 0 10px;
    }

    .site-navigation ul li a {
        font-size: 14px;
    }

    .site-navigation .call-btn {
        min-width: 224px;
        margin-left: 16px;
    }

    .site-navigation .call-btn a {
        min-width: 224px;
        padding-right: 18px !important;
        padding-left: 18px !important;
        font-size: 14px;
    }
}

@media screen and (max-width: 991px) {
    .nav-bar {
        padding: 12px 0;
        background: rgba(244,248,248,.98);
    }

    .site-branding {
        max-width: calc(100% - 58px);
        padding: 6px 0;
    }

    .brand-logo {
        max-width: 160px;
        max-height: 52px;
    }

    .hamburger-menu {
        top: 22px;
        right: 18px;
        width: 42px;
        height: 38px;
        border-color: rgba(16,63,85,.20);
        background: rgba(255,255,255,.92);
    }

    .hamburger-menu span {
        left: 9px;
        width: 22px;
        background: var(--agile-blue) !important;
    }

    .hamburger-menu span:nth-child(1) {
        top: 9px;
    }

    .hamburger-menu span:nth-child(2),
    .hamburger-menu span:nth-child(3) {
        top: 17px;
    }

    .hamburger-menu span:nth-child(4) {
        top: 25px;
    }

    .site-navigation ul {
        position: fixed !important;
        left: -380px;
        top: 0;
        bottom: 0;
        width: min(360px, calc(100vw - 56px));
        max-width: calc(100vw - 56px);
        height: 100vh;
        min-height: 100vh;
        max-height: 100vh;
        padding: 92px 22px 28px;
        background: var(--agile-deep);
        box-shadow: 18px 0 44px rgba(11,39,53,.24);
        align-items: flex-start !important;
        justify-content: flex-start !important;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .site-navigation.show ul {
        left: 0;
    }

    .site-navigation ul li {
        width: 100%;
        margin: 0;
    }

    .site-navigation ul li a {
        width: 100%;
        color: rgba(255,255,255,.92);
        font-size: 15px;
        line-height: 1.2;
    }

    .site-navigation ul li:not(.call-btn) a:hover,
    .site-navigation ul li.current-menu-item:not(.call-btn) a {
        color: var(--agile-gold-soft);
    }

    .site-navigation .call-btn {
        width: 100%;
        min-width: 0;
        max-width: none;
        margin-top: 18px !important;
        margin-left: 0;
        background: var(--agile-green) !important;
        box-shadow: 0 14px 30px rgba(0,0,0,.22);
    }

    .site-navigation .call-btn a {
        min-width: 0;
        min-height: 52px;
        justify-content: center !important;
        padding: 0 18px !important;
        font-size: 14px;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
    }

    .site-navigation .call-btn img {
        width: 27px;
        height: 27px;
        min-width: 27px;
    }

    .hero-content-wrap {
        min-height: 650px;
        background-position: 68% center;
    }

    .hero-content-wrap .col-12.col-lg-6 {
        min-height: 650px;
        padding-top: 128px;
        padding-bottom: 56px;
        justify-content: center !important;
    }

    .hero-content-overlay h1 {
        max-width: 520px;
        font-size: 48px;
        line-height: 1.12;
    }

    .hero-content-overlay p {
        max-width: 500px;
        font-size: 15px;
        line-height: 1.7;
    }

    .homepage-boxes,
    .our-departments,
    .testimonial-section,
    .the-news,
    .medical-team,
    .quality-services,
    .med-history,
    .contact-page-short-boxes {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .our-departments-wrap {
        padding: 46px 28px 42px;
    }

    .our-departments-wrap h2,
    .the-news h2,
    .testimonial-section h2,
    .med-history h2,
    .medical-team h2,
    .quality-services h2,
    .faq-stuff h2 {
        margin-bottom: 38px;
        font-size: 36px;
        line-height: 1.18;
    }
}

@media screen and (max-width: 576px) {
    .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .brand-logo,
    .site-branding .brand-logo {
        max-width: 138px;
        max-height: 46px;
    }

    .hamburger-menu {
        top: 16px;
        right: 16px;
    }

    .hero-content-wrap {
        min-height: 616px;
        background-position: 73% center;
    }

    .hero-content-overlay {
        background: linear-gradient(90deg, rgba(244,248,248,.99) 0%, rgba(244,248,248,.95) 52%, rgba(232,242,241,.68) 100%);
    }

    .hero-content-overlay::after {
        right: -70vw;
        width: 118vw;
        opacity: .24;
    }

    .hero-content-wrap .col-12.col-lg-6 {
        min-height: 616px;
        padding-top: 108px;
        padding-bottom: 42px;
        justify-content: flex-start !important;
    }

    .hero-content-overlay h1 {
        max-width: 300px;
        font-size: 34px;
        line-height: 1.12;
    }

    .hero-content-overlay .entry-content {
        max-width: 318px;
        margin-top: 16px !important;
    }

    .hero-content-overlay p {
        font-size: 14px;
        line-height: 1.62;
    }

    .hero-content-overlay .button {
        width: 100%;
        max-width: 280px;
        padding: 13px 18px;
        margin-right: 0;
        font-size: 14px;
    }

    .opening-hours,
    .appointment-box,
    .emergency-box,
    .contact-info,
    .testimonial-slider-wrap,
    .professional-box,
    .quality-box {
        padding: 26px 20px 22px;
    }

    .opening-hours h2,
    .emergency-box h2,
    .appointment-box h2,
    .contact-info h2,
    .professional-box h2,
    .quality-box h2 {
        height: auto;
        min-height: 44px;
        padding: 10px 14px 8px 0;
        font-size: 20px;
        line-height: 1.2;
    }

    .appointment-box form select,
    .appointment-box form input[type="text"],
    .appointment-box form input[type="email"],
    .appointment-box form input[type="number"] {
        min-height: 46px;
        font-size: 13px;
    }

    .appointment-box form input[type="submit"] {
        min-height: 52px;
        font-size: 15px;
    }

    .site-navigation ul {
        width: min(334px, calc(100vw - 44px));
        max-width: calc(100vw - 44px);
        padding-right: 18px;
        padding-left: 18px;
    }

    .site-navigation .call-btn a {
        gap: 9px;
        padding-right: 14px !important;
        padding-left: 14px !important;
        font-size: 13px;
        flex-wrap: wrap;
    }

    .our-departments-wrap h2,
    .the-news h2,
    .testimonial-section h2,
    .med-history h2,
    .medical-team h2,
    .quality-services h2,
    .faq-stuff h2,
    .legal-hero h1,
    .single-page .site-header h1 {
        font-size: 30px;
        line-height: 1.18;
    }

    .our-departments-cont h3 {
        font-size: 21px;
        line-height: 1.25;
    }

    .testimonial-slider-wrap {
        padding-bottom: 88px;
    }

    .site-footer {
        padding: 40px 0;
    }

    .footer-logo {
        max-width: 172px;
    }

    body.has-cookie-consent .floating-whatsapp,
    body:has(.cookie-consent:not(.cookie-consent-hidden)) .floating-whatsapp {
        bottom: 246px;
    }
}

@media screen and (max-width: 380px) {
    .container {
        padding-right: 16px;
        padding-left: 16px;
    }

    .brand-logo,
    .site-branding .brand-logo {
        max-width: 124px;
        max-height: 42px;
    }

    .hero-content-overlay h1 {
        max-width: 278px;
        font-size: 31px;
    }

    .hero-content-overlay .entry-content {
        max-width: 292px;
    }

    .hero-content-overlay .button {
        max-width: 260px;
    }

    .site-navigation ul {
        width: min(316px, calc(100vw - 34px));
        max-width: calc(100vw - 34px);
    }
}

/*
# Institutional Agile sections
--------------------------------*/
.section-heading {
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

.section-heading h2 {
    margin: 0 0 16px;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.18;
    color: #18212f;
}

.section-heading p {
    margin: 0;
    color: #62717c;
    font-size: 16px;
    line-height: 1.8;
}

.section-kicker {
    display: inline-block;
    margin: 0 0 12px !important;
    color: #0f766e !important;
    font-size: 13px !important;
    font-weight: 700;
    line-height: 1.2 !important;
    text-transform: uppercase;
}

.accounting-needs {
    padding: 96px 0 88px;
    background: #f6f9fa;
}

.accounting-need-grid > [class*="col-"] {
    margin-bottom: 30px;
}

.needs-card,
.editorial-card {
    height: 100%;
    padding: 30px 28px;
    border: 1px solid rgba(15, 118, 110, .14);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(16, 63, 85, .08);
}

.needs-card h3,
.editorial-card h3 {
    margin: 0 0 14px;
    color: #18212f;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.32;
}

.needs-card p,
.editorial-card p {
    margin: 0;
    color: #62717c;
    font-size: 15px;
    line-height: 1.78;
}

.needs-contact {
    margin-top: 10px;
    text-align: center;
}

.independence-notice-section {
    padding: 74px 0;
    background: #fff;
}

.independence-notice-card {
    max-width: 980px;
    margin: 0 auto;
    padding: 34px 38px;
    border-left: 6px solid #0f766e;
    border-radius: 8px;
    background: #f8fbfb;
    box-shadow: 0 18px 42px rgba(16, 63, 85, .08);
}

.independence-notice-card h2 {
    margin: 0 0 16px;
    color: #18212f;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.22;
}

.independence-notice-card p {
    margin: 0;
    color: #4f5f68;
    font-size: 16px;
    line-height: 1.78;
}

.independence-notice-card p + p {
    margin-top: 16px;
}

.independence-statement {
    color: #103f55 !important;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.68 !important;
}

.about-independence {
    max-width: none;
    margin: 36px 0;
}

.institutional-editorial {
    padding: 96px 0 84px;
    background: #fff;
}

.institutional-editorial .editorial-heading {
    margin-bottom: 40px;
}

.institutional-editorial .editorial-heading h2 {
    margin-bottom: 16px;
}

.editorial-grid > [class*="col-"] {
    margin-bottom: 30px;
}

@media screen and (max-width: 991px) {
    .section-heading h2 {
        font-size: 34px;
    }

    .accounting-needs,
    .institutional-editorial {
        padding-top: 72px;
        padding-bottom: 64px;
    }

    .independence-notice-section {
        padding: 58px 0;
    }

    .independence-notice-card {
        padding: 28px 26px;
    }
}

@media screen and (max-width: 576px) {
    .section-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .section-heading h2,
    .independence-notice-card h2 {
        font-size: 28px;
        line-height: 1.22;
    }

    .needs-card,
    .editorial-card {
        padding: 24px 22px;
    }

    .needs-card h3,
    .editorial-card h3 {
        font-size: 20px;
    }

    .independence-notice-card {
        padding: 24px 22px;
    }

    .independence-statement {
        font-size: 16px !important;
    }

    .needs-contact {
        text-align: left;
    }

    .needs-contact .button {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }
}
