/* ================================================= carregadnod.css ============================================ */
/* Fundo de carregamento */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgb(189, 163, 163), #FFFFFF);; /* degrade */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 1;
    transition: opacity 1s ease; /* efeito de fade */
}

#preloader img {
    width: 100%;
    max-width: 400px;
    height: auto;
}

#conteudo {
    opacity: 0;
    transition: opacity 0.2s ease;
}

#conteudo.show {
    opacity: 1;
}

/* ============================================= fim do carregadnod.css ============================================ */

/* =========================================== template kind heart .css ============================================ */
@font-face {
    font-family: 'Metropolis';
    src: url('../fonts/Metropolis/Metropolis-Regular.woff2') format('woff2'),
    url('../fonts/Metropolis/Metropolis-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Metropolis';
    src: url('../fonts/Metropolis/Metropolis-Light.woff2') format('woff2'),
    url('../fonts/Metropolis/Metropolis-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Metropolis';
    src: url('../fonts/Metropolis/Metropolis-SemiBold.woff2') format('woff2'),
    url('../fonts/Metropolis/Metropolis-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Metropolis';
    src: url('../fonts/Metropolis/Metropolis-Bold.woff2') format('woff2'),
    url('../fonts/Metropolis/Metropolis-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/*---------------------------------------
  CUSTOM PROPERTIES ( VARIABLES )
-----------------------------------------*/
:root {
    --white-color: #ffffff;
    --primary-color: #5bc1ac;
    --secondary-color: #5a6f80;
    --section-bg-color: #f0f8ff;
    --site-footer-bg-color: #44525d;
    --custom-btn-bg-color: #597081;
    --custom-btn-bg-hover-color: #5bc1ac;
    --dark-color: #000000;
    --p-color: #717275;
    --border-color: #e9eaeb;

    --body-font-family: 'Metropolis', sans-serif;

    --h1-font-size: 52px;
    --h2-font-size: 46px;
    --h3-font-size: 32px;
    --h4-font-size: 28px;
    --h5-font-size: 24px;
    --h6-font-size: 22px;
    --p-font-size: 16px;
    --btn-font-size: 18px;
    --copyright-font-size: 14px;

    --border-radius-large: 100px;
    --border-radius-medium: 20px;
    --border-radius-small: 10px;

    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
}

body {
    background-color: var(--white-color);
    font-family: var(--body-font-family);
}


/*---------------------------------------
  TYPOGRAPHY
-----------------------------------------*/

h2,
h3,
h4,
h5,
h6 {
    color: var(--dark-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--font-weight-semibold);
    letter-spacing: -1px;
}

h1 {
    font-size: 50px;
    font-weight: var(--font-weight-bold);
    letter-spacing: -2px;
}

h2 {
    color: var(--secondary-color);
    font-size: var(--h2-font-size);
    letter-spacing: -2px;
}

h3 {
    font-size: var(--h3-font-size);
}

h4 {
    font-size: var(--h4-font-size);
}

h5 {
    color: var(--primary-color);
    font-size: var(--h5-font-size);
}

h6 {
    font-size: var(--h6-font-size);
}

/*p {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-light);
}*/

ul li {
    color: var(--p-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-normal);
}

a,
button {
    touch-action: manipulation;
    transition: all 0.3s;
}

a {
    color: var(--p-color);
    text-decoration: none;
}

a:hover {
    color: var(--primary-color);
}

b,
strong {
    font-weight: var(--font-weight-bold);
}


/*---------------------------------------
  SECTION
-----------------------------------------*/
.section-padding {
    padding-top: 100px;
    padding-bottom: 100px;
}

.section-bg {
    background-color: var(--section-bg-color);
}

.section-overlay {
    background: rgba(0, 0, 0, 0.35);
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
}

.section-overlay + .container {
    position: relative;
}


/*---------------------------------------
  CUSTOM BLOCK
-----------------------------------------*/
.custom-block-wrap {
    background: var(--white-color);
    border-radius: var(--border-radius-medium);
    position: relative;
    overflow: hidden;
    transition: all 0.5s;
}

.custom-block-wrap:hover {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
}

.custom-block-body {
    padding: 30px;
}

.custom-block-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.custom-block .custom-btn {
    border-radius: 0;
    display: block;
}


/*---------------------------------------
  PROGRESS BAR
-----------------------------------------*/
.progress {
    background: var(--border-color);
    height: 5px;
}

.progress-bar {
    background: var(--secondary-color);
}


/*---------------------------------------
  CUSTOM ICON COLOR
-----------------------------------------*/
.custom-icon {
    color: var(--secondary-color);
}


/*---------------------------------------
  CUSTOM LIST
-----------------------------------------*/
.custom-list {
    margin-bottom: 0;
    padding-left: 0;
}

.custom-list-item {
    list-style: none;
    margin-top: 10px;
    margin-bottom: 10px;
}


/*---------------------------------------
  CUSTOM TEXT BOX
-----------------------------------------*/
.custom-text-box {
    background: var(--white-color);
    border-radius: var(--border-radius-medium);
    margin-bottom: 24px;
    padding: 40px;
}

.custom-text-box-image {
    border-radius: var(--border-radius-medium);
    /*width: 100%;*/
    height: 100%;
    object-fit: cover;
}

.custom-text-box-icon {
    background: var(--section-bg-color);
    border-radius: var(--border-radius-large);
    color: var(--secondary-color);
    font-size: var(--h6-font-size);
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    width: 25px;
    height: 25px;
    line-height: 30px;
}


/*---------------------------------------
  AVATAR IMAGE - TESTIMONIAL, AUTHOR
-----------------------------------------*/
.avatar-image {
    border-radius: var(--border-radius-large);
    width: 65px;
    height: 65px;
    object-fit: cover;
}


/*---------------------------------------
  CUSTOM BUTTON
-----------------------------------------*/
.custom-btn {
    background: var(--secondary-color);
    border: 2px solid transparent;
    border-radius: var(--border-radius-large);
    color: var(--white-color);
    font-size: var(--btn-font-size);
    font-weight: var(--font-weight-normal);
    line-height: normal;
    padding: 15px 25px;
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn {
    color: var(--custom-btn-bg-color);
    margin-top: 8px;
    padding: 12px 25px;
}

.custom-btn:hover {
    background: var(--primary-color);
    color: var(--white-color);
}

.custom-border-btn {
    background: transparent;
    border: 2px solid var(--custom-btn-bg-color);
    color: var(--primary-color);
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn:hover,
.custom-border-btn:hover {
    background: var(--custom-btn-bg-hover-color);
    border-color: transparent;
    color: var(--white-color);
}


/*---------------------------------------
  NAVIGATION
-----------------------------------------*/
.navbar {
    background: var(--white-color);
    z-index: 9;
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-brand {
    color: var(--primary-color);
    font-size: var(--h6-font-size);
    font-weight: var(--font-weight-bold);
}

.navbar-brand span {
    display: inline-block;
    vertical-align: middle;
}

.navbar-brand small {
    color: var(--secondary-color);
    display: block;
    font-size: 10px;
    line-height: normal;
    text-transform: uppercase;
}

.logo {
    width: 80px;
    height: auto;
}

.navbar-expand-lg .navbar-nav .nav-link {
    margin-right: 0;
    margin-left: 0;
    padding: 20px;
}

.navbar-nav .nav-link {
    display: inline-block;
    color: var(--p-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-medium);
    position: relative;
    padding-top: 15px;
    padding-bottom: 15px;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover {
    background: transparent;
    color: var(--primary-color);
}

.dropdown-menu {
    background: var(--white-color);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
    border: 0;
    max-width: 50px;
    padding: 0;
    margin-top: 20px;
}

.dropdown-item {
    display: inline-block;
    color: var(--p-bg-color);
    font-size: var(--menu-font-size);
    font-weight: var(--font-weight-medium);
    position: relative;
    padding-top: 10px;
    padding-bottom: 10px;
}

.dropdown-menu li:last-child .dropdown-item {
    padding-top: 0;
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item:focus,
.dropdown-item:hover {
    background: transparent;
    color: var(--primary-color);
}

.dropdown-toggle::after {
    content: "\f282";
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-size: var(--copyright-font-size);
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    left: 2px;
    border: 0;
}

@media screen and (min-width: 992px) {
    .dropdown:hover .dropdown-menu {
        display: block;
        margin-top: 0;
    }
}

.navbar-toggler {
    border: 0;
    padding: 0;
    cursor: pointer;
    margin: 0;
    width: 30px;
    height: 35px;
    outline: none;
}

.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
    background: transparent;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before,
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
    transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
    top: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
    transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
    transform: rotate(-45deg);
}

.navbar-toggler .navbar-toggler-icon {
    background: var(--dark-color);
    transition: background 10ms 300ms ease;
    display: block;
    width: 30px;
    height: 2px;
    position: relative;
}

.navbar-toggler .navbar-toggler-icon:before,
.navbar-toggler .navbar-toggler-icon:after {
    transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
    transition: top 300ms 350ms ease, transform 300ms 50ms ease;
    transition: top 300ms 350ms ease, transform 300ms 50ms ease, -webkit-transform 300ms 50ms ease;
    position: absolute;
    right: 0;
    left: 0;
    background: var(--dark-color);
    width: 30px;
    height: 2px;
    content: '';
}

.navbar-toggler .navbar-toggler-icon::before {
    top: -8px;
}

.navbar-toggler .navbar-toggler-icon::after {
    top: 8px;
}


/*---------------------------------------
  SITE HEADER
-----------------------------------------*/
.site-header {
    background: var(--primary-color);
    padding-top: 15px;
    padding-bottom: 10px;
}

.site-header p,
.site-header p a,
.site-header .social-icon-link {
    color: var(--white-color);
    font-size: var(--copyright-font-size);
}

.site-header .social-icon {
    text-align: right;
}

.site-header .social-icon-link {
    background: transparent;
    width: inherit;
    height: inherit;
    line-height: inherit;
    margin-right: 15px;
}


/*---------------------------------------
  HERO & HERO SLIDE
-----------------------------------------*/
.hero-section-full-height {
    /*height: 740px;
    min-height: 680px;
    position: relative;*/
}

.carousel:hover .carousel-control-next-icon,
.carousel:hover .carousel-control-prev-icon {
    opacity: 1;
}

#hero-slide .carousel-item {
    height: auto;
    min-height: auto;
}


/*
#hero-slide .carousel-caption {
  background: var(--white-color);
  clip-path: polygon(100% 100%, 100% 150px, 0 100%);
  color: var(--secondary-color);
  top: 1px;
  bottom: -1px;
  right: 0;
  left: auto;
  text-align: right;
  min-width: 680px;
  min-height: 680px;
  padding: 100px 100px 50px 100px;
}*/

.carousel-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    min-height: 300px; /* opcional */
}

#hero-slide .carousel-indicators-wrap {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
}

#hero-slide .carousel-indicators {
    margin-right: 0;
    margin-left: 22px;
    justify-content: inherit;
}

.carousel-control-next,
.carousel-control-prev {
    opacity: 1;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    background-color: var(--secondary-color);
    border-radius: var(--border-radius-large);
    background-size: 60% 60%;
    width: 80px;
    height: 80px;
    opacity: 0;
    transition: all 0.5s;
}

.carousel-control-next-icon:hover,
.carousel-control-prev-icon:hover {
    background-color: var(--primary-color);
}


/*---------------------------------------
  FEATURE BLOCK
-----------------------------------------*/
.featured-block {
    text-align: center;
    transition: all 0.5s ease;
    min-height: 256px;
    padding: 15px;
}

.featured-block:hover {
    background: var(--white-color);
    border-radius: var(--border-radius-medium);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
}

.featured-block:hover .featured-block-image {
    transform: scale(0.75);
}

.featured-block-image {
    display: block;
    margin: auto;
    transition: all 0.5s;
}

.featured-block:hover .featured-block-text {
    margin-top: 0;
}

.featured-block-text {
    color: var(--primary-color);
    font-size: var(--h5-font-size);
    margin-top: 20px;
    transition: all 0.5s;
}


/*---------------------------------------
  ABOUT
-----------------------------------------*/
.about-section {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.about-image {
    border-radius: var(--border-radius-medium);
    display: block;
    width: 350px;
    height: 400px;
    object-fit: cover;
}

.custom-text-block {
    padding: 60px 40px;
}


/*---------------------------------------
  COUNTER NUMBERS
-----------------------------------------*/
.counter-thumb {
    margin: 20px;
    margin-bottom: 0;
}

.counter-number,
.counter-text {
    color: var(--secondary-color);
    display: block;
}

.counter-number,
.counter-number-text {
    color: var(--primary-color);
    font-size: var(--h1-font-size);
    font-weight: var(--font-weight-bold);
    line-height: normal;
}


/*---------------------------------------
  VOLUNTEER
-----------------------------------------*/
.volunteer-section {
    background: var(--secondary-color);
    position: relative;
    overflow: hidden;
}

.volunteer-section::after {
    content: "";
    background: var(--primary-color);
    border-radius: 50%;
    position: absolute;
    bottom: -110px;
    right: -80px;
    width: 350px;
    height: 350px;
}

.volunteer-form {
    background: var(--white-color);
    border-radius: var(--border-radius-medium);
    padding: 50px;
}

.volunteer-image {
    border-radius: 100%;
    display: block;
    margin: auto;
    width: 300px;
    height: 300px;
    object-fit: cover;
}

.volunteer-section .custom-block-body {
    max-width: 440px;
    margin: 0 auto;
}

.volunteer-section .custom-block-body p {
    line-height: 1.7;
}


/*---------------------------------------
  DONATE
-----------------------------------------*/
.donate-section {
    background-image: url('../images/different-people-doing-volunteer-work.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    padding-top: 150px;
    padding-bottom: 150px;
}

.donate-form {
    background: var(--white-color);
    border-radius: var(--border-radius-medium);
    position: relative;
    overflow: hidden;
    padding: 50px;
}


/*---------------------------------------
  NEWS
-----------------------------------------*/
.news-detail-header-section {
    background-image: url('../images/news/close-up-volunteer-oganizing-stuff-donation.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    padding-top: 150px;
    padding-bottom: 150px;
}

.news-block-top {
    border-radius: var(--border-radius-medium);
    position: relative;
    overflow: hidden;
}

.news-block-two-col-image-wrap {
    border-radius: var(--border-radius-small);
    position: relative;
    overflow: hidden;
    width: 150px;
    margin-right: 20px;
}

.news-category-block {
    background: var(--secondary-color);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 10px 20px;
}

.news-category-block .category-block-link {
    color: var(--white-color);
    margin-right: 10px;
}

.news-block-info {
    padding-top: 10px;
    padding-bottom: 10px;
}

.news-block-title-link {
    color: var(--dark-color);
}

.news-detail-image {
    display: block;
    border-radius: var(--border-radius-medium);
}

blockquote {
    background: var(--section-bg-color);
    border-radius: var(--border-radius-small);
    font-size: var(--h5-font-size);
    font-weight: var(--font-weight-semibold);
    color: var(--site-footer-bg-color);
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 90px 50px 50px 50px;
    text-align: center;
}

blockquote::before {
    content: "“";
    color: var(--custom-btn-bg-color);
    font-size: 100px;
    line-height: 1rem;
    display: block;
}

.author-comment-link {
    font-size: var(--copyright-font-size);
    font-weight: var(--font-weight-semibold);
}

.search-form {
    margin-top: 20px;
}

.category-block,
.subscribe-form {
    margin-top: 40px;
    margin-bottom: 40px;
}

.category-block-link {
    font-size: var(--copyright-font-size);
    margin-top: 5px;
    margin-bottom: 5px;
}

.category-block-link:hover {
    color: var(--primary-color);
}

.badge {
    background: var(--secondary-color);
    border-radius: var(--border-radius-medium);
    font-weight: var(--font-weight-normal);
    line-height: normal;
    padding-bottom: 2px;
}

.tags-block-link {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-medium);
    display: inline-block;
    font-size: var(--copyright-font-size);
    line-height: normal;
    margin-right: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 8px 15px;
}

.tags-block-link:hover {
    border-color: var(--dark-color);
    color: var(--dark-color);
}

.cta-section {
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: "";
    background-color: var(--primary-color);
    border-radius: 50%;
    position: absolute;
    top: -100px;
    left: -30px;
    margin: auto;
    width: 200px;
    height: 200px;
}

.cta-section::after {
    content: "";
    border: 20px solid var(--custom-btn-bg-color);
    border-radius: 50%;
    position: absolute;
    bottom: -100px;
    right: 0;
    left: 0;
    margin: auto;
    width: 150px;
    height: 150px;
}


/*---------------------------------------
  TESTIMONIAL CAROUSEL
-----------------------------------------*/
.testimonial-section {
    position: relative;
    overflow: hidden;
    text-align: center;
}

.testimonial-section::before {
    content: "";
    background-color: var(--primary-color);
    border-radius: 50%;
    position: absolute;
    top: -100px;
    left: -30px;
    margin: auto;
    width: 250px;
    height: 250px;
}

.testimonial-section::after {
    content: "";
    background: var(--custom-btn-bg-color);
    border-radius: 50%;
    position: absolute;
    bottom: -110px;
    right: -80px;
    width: 350px;
    height: 350px;
}

#testimonial-carousel .carousel-caption {
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
}

#testimonial-carousel .carousel-title {
    background: var(--section-bg-color);
    line-height: normal;
    margin-bottom: 30px;
}

#testimonial-carousel .carousel-title::before {
    content: open-quote;
    color: var(--p-color);
    font-size: var(--h1-font-size);
    position: relative;
    top: 10px;
    right: 10px;
}

#testimonial-carousel .carousel-title::after {
    content: close-quote;
    color: var(--p-color);
    font-size: var(--h1-font-size);
    position: relative;
    top: 10px;
    left: 10px;
}

#testimonial-carousel .carousel-title {
    quotes: "“" "”" "‘" "’";
}

#testimonial-carousel .carousel-name {
    background: var(--primary-color);
    border-radius: var(--border-radius-medium);
    position: relative;
    overflow: hidden;
    padding: 10px 20px;
}

#testimonial-carousel .carousel-name::before {
    content: "";
    position: absolute;
    top: -10px;
    right: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid var(--primary-color);
}

.carousel-name-title {
    font-weight: var(--font-weight-semibold);
}

#testimonial-carousel .carousel-indicators {
    position: relative;
    top: 150px;
    bottom: auto;
    margin-top: 50px;
    margin-bottom: 150px;
}

#testimonial-carousel .carousel-indicators li {
    text-indent: inherit;
    background: transparent;
    margin: 0 10px;
}

#testimonial-carousel .carousel-indicators li,
#testimonial-carousel .carousel-indicators li::before {
    width: 45px;
    height: 45px;
}

#testimonial-carousel .carousel-indicators .avatar-image {
    width: 45px;
    height: 45px;
}

#testimonial-carousel .carousel-indicators .active,
#testimonial-carousel .carousel-indicators .active .avatar-image {
    background: transparent;
    width: 50px;
    height: 50px;
}


/*---------------------------------------
  CONTACT
-----------------------------------------*/
.contact-section {
    background: var(--white-color);
}

.contact-form {
    background: var(--section-bg-color);
    border-radius: var(--border-radius-small);
    padding: 40px;
}

.contact-info-wrap {
    padding-top: 40px;
}

.contact-image-wrap {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    margin-top: 20px;
    margin-bottom: 30px;
    padding-bottom: 30px;
    width: 100%;
}


/*---------------------------------------
  CUSTOM FORM
-----------------------------------------*/
.custom-form .form-control,
.input-group-file {
    background-color: var(--section-bg-color);
    box-shadow: none;
    border: 0;
    color: var(--p-color);
    margin-bottom: 24px;
    padding-top: 13px;
    padding-bottom: 13px;
    outline: none;
}

.custom-form .form-control:hover,
.custom-form .form-control:focus {
    border-color: var(--secondary-color);
}

.custom-form label {
    margin-bottom: 10px;
}

.custom-form .form-check-group {
    margin-bottom: 20px;
}

.donate-form .form-check-group-donation-frequency {
    padding-right: 0;
}

.form-check-group-donation-frequency + .form-check-group-donation-frequency {
    padding-right: 12px;
    padding-left: 0;
}

.form-check-group-donation-frequency .form-check-label {
    font-weight: var(--font-weight-semibold);
}

#DonationFrequencyOne {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

#DonationFrequencyMonthly {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.custom-form .form-check-radio {
    position: relative;
    height: 100%;
    padding-left: 0;
}

.custom-form .input-group-text {
    background: var(--secondary-color);
    border: 0;
    color: var(--white-color);
}

.custom-form .form-check-radio .form-check-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.form-check-radio .form-check-input[type=radio] {
    background-color: var(--section-bg-color);
    border-radius: .25rem;
    border: 0;
    box-shadow: none;
    outline: none;
    width: 100%;
    margin-top: 0;
    margin-left: 0;
    padding: 25px 50px;
    transition: all 0.5s;
}

.form-check-radio .form-check-input:checked[type=radio] {
    background-image: none;
}

.form-check-radio .form-check-input:checked[type=radio] + .form-check-label,
.form-check-radio .form-check-input:hover + .form-check-label,
.form-check-radio .form-check-input:checked + .form-check-label {
    color: var(--white-color);
}

.form-check-radio .form-check-input:hover,
.form-check-radio .form-check-input:checked {
    background-color: var(--secondary-color);
    border-color: var(--white-color);
}

.input-group-file {
    border-radius: .25rem;
    padding: 13px .75rem;
}

.input-group-file input[type=file] {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
    padding: 0;
}

.input-group-file .input-group-text {
    background: transparent;
    color: inherit;
    margin-bottom: 0;
    padding: 0;
}

.custom-form button[type="submit"] {
    background: var(--custom-btn-bg-color);
    border: none;
    border-radius: var(--border-radius-large);
    color: var(--white-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-semibold);
    transition: all 0.3s;
    margin-bottom: 0;
}

.custom-form button[type="submit"]:hover,
.custom-form button[type="submit"]:focus {
    background: var(--custom-btn-bg-hover-color);
    border-color: transparent;
}


/*---------------------------------------
  CONTACT SEARCH & DONATE & SUBCRIBE FORM
-----------------------------------------*/
.contact-form .form-control {
    background: var(--white-color);
}

.search-form {
    position: relative;
}

.search-form .form-control {
    padding-right: 50px;
}

.search-form button[type="submit"] {
    background: transparent;
    position: absolute;
    top: 0;
    right: 0;
    color: var(--p-color);
    width: 50px;
    padding: 12px;
}

.search-form button[type="submit"]:hover {
    background: transparent;
    color: var(--dark-color);
}

.subscribe-form {
    background: var(--section-bg-color);
    border-radius: var(--border-radius-small);
    padding: 30px;
}

.subscribe-form .form-control {
    background: var(--white-color);
}

.donate-form .form-control {
    margin-bottom: 0;
}


/*---------------------------------------
  SITE FOOTER
-----------------------------------------*/
.site-footer {
    background-color: var(--site-footer-bg-color);
    padding-top: 70px;
}

.site-footer-bottom {
    background-color: var(--secondary-color);
    position: relative;
    z-index: 2;
    margin-top: 70px;
    padding-top: 25px;
    padding-bottom: 25px;
}

.site-footer-bottom a {
    color: var(--white-color);
}

.site-footer-bottom a:hover {
    color: #FF6;
}

.site-footer-link {
    color: var(--white-color);
}

.copyright-text {
    color: var(--section-bg-color);
    font-size: var(--copyright-font-size);
    margin-right: 30px;
}

.site-footer .custom-btn {
    font-size: var(--copyright-font-size);
}

.site-footer .custom-btn:hover {
    background: var(--primary-color);
}


/*---------------------------------------
  FOOTER MENU
-----------------------------------------*/
.footer-menu {
    column-count: 2;
    margin: 0;
    padding: 0;
}

.footer-menu-item {
    list-style: none;
    display: block;
}

.footer-menu-link {
    font-size: var(--p-font-size);
    color: var(--white-color);
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    margin-bottom: 5px;
}


/*---------------------------------------
  SOCIAL ICON
-----------------------------------------*/
.social-icon {
    margin: 0;
    padding: 0;
}

.social-icon-item {
    list-style: none;
    display: inline-block;
    vertical-align: top;
}

.social-icon-link {
    background: var(--site-footer-bg-color);
    border-radius: var(--border-radius-large);
    color: var(--white-color);
    font-size: var(--copyright-font-size);
    display: block;
    margin-right: 5px;
    text-align: center;
    width: 35px;
    height: 35px;
    line-height: 38px;
}

.social-icon-link:hover {
    background: var(--primary-color);
    color: var(--white-color);
}


/*---------------------------------------
  RESPONSIVE STYLES
-----------------------------------------*/
@media screen and (min-width: 1600px) {
    .featured-block {
        min-height: inherit;
    }

    .volunteer-section::after {
        width: 450px;
        height: 450px;
    }

    .volunteer-image {
        width: 350px;
        height: 350px;
    }
}

@media screen and (max-width: 1170px) {
    .carousel-image {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
        min-height: 300px; /* opcional */
    }
}

@media screen and (max-width: 991px) {
    h1 {
        font-size: 42px;
    }

    h2 {
        font-size: 36px;
    }

    h3 {
        font-size: 32px;
    }

    h4 {
        font-size: 28px;
    }

    h5 {
        font-size: 20px;
    }

    h6 {
        font-size: 18px;
    }

    .section-padding {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .hero-form {
        padding-bottom: 40px;
    }

    .donate-form {
        padding: 35px;
    }

    .navbar {
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .navbar-expand-lg .navbar-nav {
        padding-bottom: 30px;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding: 8px 20px;
    }

    .site-header .social-icon {
        text-align: left;
        margin-top: 5px;
    }

    .hero-section-full-height {
        height: inherit;
    }

    .carousel:hover .carousel-control-next-icon,
    .carousel:hover .carousel-control-prev-icon {
        opacity: 1;
    }

    #hero-slide .carousel-item {
        height: inherit;
    }

    .carousel-control-prev {
        left: 12px;
    }

    .carousel-control-next {
        right: 12px;
    }

    .carousel-control-next-icon,
    .carousel-control-prev-icon {
        opacity: 1;
        width: 60px;
        height: 60px;
    }

    .news-detail-header-section {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .cta-section::before {
        width: 150px;
        height: 150px;
    }

    .cta-section::after {
        bottom: -60px;
        width: 100px;
        height: 100px;
    }

    .cta-section .row {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .volunteer-section::after {
        width: 300px;
        height: 300px;
    }

    .testimonial-section::before {
        width: 150px;
        height: 150px;
    }

    .testimonial-section::after {
        width: 200px;
        height: 200px;
    }

    #testimonial-carousel .carousel-caption {
        padding-top: 0;
    }

    blockquote {
        padding: 70px 30px 30px 30px;
    }

    .about-image {
        width: inherit;
        height: 450px;
    }

    .volunteer-image {
        width: 250px;
        height: 250px;
        margin: 0;
    }

    .custom-text-block {
        padding: 20px 0 0 0;
    }

    .custom-text-box,
    .volunteer-form {
        padding: 30px;
    }

    .counter-number,
    .counter-number-text {
        font-size: var(--h2-font-size);
    }

    .contact-info-wrap {
        padding-top: 0;
    }

    .site-footer {
        padding-top: 50px;
    }

    .copyright-text-wrap {
        justify-content: center;
    }

    .site-footer-bottom {
        text-align: center;
        margin-top: 50px;
    }

    .site-footer-bottom .footer-menu {
        margin-top: 10px;
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 580px) {
    /* .hero-section-full-height,
     #hero-slide .carousel-item,
     .carousel-image {
       min-height: 520px;
     }*/
    #hero-slide .carousel-caption {
        clip-path: polygon(70% 70%, 70% 70px, 0 70%);
        padding-right: 50px;
        min-width: inherit;
        min-height: inherit;
    }
}

@media screen and (max-width: 480px) {
    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 26px;
    }

    h4 {
        font-size: 22px;
    }

    h5 {
        font-size: 20px;
    }

    #hero-slide .carousel-caption {
        min-width: inherit;
        padding-bottom: 30px;
    }

    .carousel-control-next-icon,
    .carousel-control-prev-icon {
        width: 45px;
        height: 45px;
    }

    .volunteer-image {
        width: 150px;
        height: 150px;
    }

    .volunteer-section::after {
        width: 200px;
        height: 200px;
    }

    .testimonial-section::before {
        top: -50px;
        width: 100px;
        height: 100px;
    }

    .testimonial-section::after {
        bottom: -150px;
        width: 200px;
        height: 200px;
    }

    .social-share .tags-block {
        margin-bottom: 10px;
    }

    .donate-form {
        padding: 25px;
    }
}

/* =================================== template template kind heart .css ============================================ */
/* ================================================= index .css ===================================================== */
element.style {
    background: linear-gradient(to bottom, #f5f5f5, #dcdcdc);
    background-image: url('images/fundo03.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    background-attachment: scroll;
    color: #333;
    padding: 60px 20px;
}

/* Mantém o fundo fixo só em telas grandes */
@media (min-width: 992px) {
    element.style {
        background-attachment: fixed;
    }
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: #937136;
}

.site-header {
    background: linear-gradient(180deg, rgb(189, 163, 163), #FFFFFF);
    padding-top: 15px;
    padding-bottom: 10px;
}

.site-header p,
.site-header p a,
.site-header .social-icon-link {
    color: #937136;
    font-size: 20px;
}

.carousel-control-next-icon:hover,
.carousel-control-prev-icon:hover {
    background-color: #EACDCF;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    background-color: #CDA09B;
    border-radius: var(--border-radius-large);
    background-size: 60% 60%;
    width: 80px;
    height: 80px;
    opacity: 0;
    transition: all 0.5s;
}

#hero-slide .carousel-caption {
    /*background: linear-gradient(180deg, rgb(189,163,163), #FFFFFF);*/
    clip-path: polygon(100% 100%, 100% 150px, 0 100%);
    color: #937136;
    top: 1px;
    bottom: -1px;
    right: 0;
    left: auto;
    text-align: right;
    min-width: 680px;
    min-height: 680px;
    padding: 100px 20px 60px 100px;
}

p {
    color: #937136;
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-light);
}

h2 {
    color: #937136;
    font-size: 46px;
    letter-spacing: -2px;
}

h5 {
    color: #B77873;
    font-size: 24px;
}

.counter-number, .counter-number-text {
    color: #B77873;
    font-size: 52px;
    font-weight: 700;
    line-height: normal;
}

@media screen and (max-width: 1536px) {
    #hero-slide .carousel-caption {
        /* background: linear-gradient(180deg, rgb(189, 163, 163), #FFFFFF);*/
        clip-path: polygon(100% 100%, 100% 150px, 0 100%);
        color: #937136;
        top: 1px;
        bottom: -1px;
        right: 0;
        left: auto;
        text-align: right;
        min-width: 680px;
        min-height: 680px;
        padding: 88px 14px 97px 100px;
    }
}

.imagem_home {
    max-height: 80px;
}


@media screen and (max-width: 580px) {
    #hero-slide .carousel-caption {
        /* background: linear-gradient(180deg, rgb(189, 163, 163), #FFFFFF);*/
        clip-path: polygon(100% 100%, 100% 150px, 0 100%);
        color: #937136;
        top: 1px;
        bottom: -1px;
        right: 0;
        left: auto;
        text-align: right;
        min-width: 680px;
        min-height: 680px;
        padding: 88px 19px 50px 100px;
    }
}

@media (max-width: 384px) {
    site-header p,
    .site-header p a,
    .site-header .social-icon-link {
        color: #937136;
        font-size: 15px;
    }

    .imagem_home {
        max-height: 70px;
    }
}

@media (max-width: 375px) {
    .site-header p,
    .site-header p a,
    .site-header .social-icon-link {
        color: #937136;
        font-size: 15px;
    }

    .imagem_home {
        max-height: 70px;
    }
}

@media (max-width: 360px) {
    .site-header p,
    .site-header p a,
    .site-header .social-icon-link {
        color: #937136;
        font-size: 14px;
    }

    .imagem_home {
        max-height: 60px;
    }

}

/* ============================================== fim index .css ==================================================== */
/* ============================================== fontes .css ==================================================== */
@font-face {
    font-family: 'Cinzel';
    src: url('../fonts/cinzel/Cinzel-Regular.otf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Cinzel';
    src: url('../fonts/cinzel/Cinzel-Bold.otf') forrmat('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'alex-brush';
    src: url('../fonts/alex-brush/AlexBrush-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

.fonte_titulo {
    font-family: 'alex-brush', serif;
    font-weight: 800; /* vai usar o Bold */
    color: #B77873; /* dourado */
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.3s;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

nav ul li a {
    font-family: 'Cinzel', serif;
    font-weight: 700; /* vai usar o Bold */
    color: #DAA520; /* dourado */
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.3s;
}

nav ul li a:hover {
    color: #B8860B; /* dourado mais escuro no hover */
}

/* ============================================= fim  fontes .css =================================================== */
/* ============================================= procedimentos .css ================================================= */
.mt-4 {
    margin-top: 4.5rem !important;
}

.servicos {
    text-align: center;
    padding: 50px 20px;
    background: #f5f0ec;
    cursor: pointer;
    transition: all 0.2s ease;
}

.servico img {
    width: 60px;
    height: 60px;
    margin-bottom: 10px;
}

.servico:active img {
    box-shadow: none; /* sombra some quando clica */
    transform: translate(2px, 2px); /* leve movimento para baixo */
}

.servico p {
    font-size: 1rem;
    color: #937136;;
    font-weight: 500;
}

.grid-servicos {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 colunas */
    grid-template-rows: repeat(5, auto); /* 4 linhas */
    gap: 30px;
    justify-items: center;
}

.servico img {
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.5), /* sombra escura */ -5px -5px 15px rgba(255, 255, 255, 0.3); /* iluminação */
    border-radius: 10px; /* opcional, deixa mais suave */
}

@media (max-width: 768px) {
    .grid-servicos {
        grid-template-columns: repeat(2, 1fr); /* 2 colunas no tablet/celular */
    }
}

@media (max-width: 480px) {
    .grid-servicos {
        grid-template-columns: 1fr; /* 1 coluna em telas muito pequenas */
    }
}

/* =========================================== fim do procedimentos .css ============================================ */
/* =========================================== modal - procedimentos .css =========================================== */
/* Modal: tela de fundo escura */
.modal {
    display: none; /* escondido por padrão */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5); /* fundo semi-transparente */
    justify-content: center;
    align-items: center;
}

/* Conteúdo do modal */
.modal-content {
    position: relative;
    margin: 5% auto;
    padding: 20px;
    width: 90%;
    max-width: 800px;
    background-image: url('/images/fundo03.jpg');
    background-size: cover;
    background-position: center;
    color: white;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
    text-align: center;
    border-radius: 20px;

    max-height: 90vh; /* limite máximo: 90% da altura da tela */
    overflow: hidden; /* evita barra de rolagem interna */
    transform: scale(0.7);
    opacity: 0;
    transition: all 0.3s ease;
}

.img-modal {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain; /* garante que não deforme */
}

/* Em telas a partir de 1024px (notebook pra cima) */
@media (min-width: 1024px) {
    .modal-content {
        width: 800px;
        height: 600px;
    }
}


.modal.show .modal-content {
    transform: scale(1);
    opacity: 1;
}

/* Botão fechar */
.close {
    position: absolute;
    top: 3px;
    right: 29px;
    font-size: 45px;
    font-weight: bold;
    color: #7d2c76;
    cursor: pointer;
    transition: color 0.2s;
    cursor: pointer;
    z-index: 1000;
}

.close:hover {
    color: #bf5cb7; /* dourado */
    transform: scale(1.2);
    transition: transform 0.2s, color 0.2s;
}

.modal-content h2 {
    font-family: 'alex-brush', serif;
    font-weight: 400; /* vai usar o Bold */
    background: linear-gradient(90deg, #B77873, #ff00e9); /* degradê */
    -webkit-background-clip: text; /* aplica o degradê apenas ao texto */
    -webkit-text-fill-color: transparent; /* torna o texto transparente para mostrar o degradê */
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.3s;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.botao_depor {
    margin-top: 0px;
}

.botao_termo {
    margin-top: 0px;
    font-weight: bold;
    cursor: pointer;
}

.modal-content p {
    top: 38px;
    text-align: justify; /* justifica o parágrafo */
    line-height: 2.0; /* melhora a leitura */
    margin: 0 auto; /* centraliza horizontalmente */
    max-width: 90%; /* não deixa colado nas bordas */
    position: relative;
    z-index: 2;
    /*text-shadow: 2px 2px 8px rgba(0,0,0,0.8); /* mantém contraste */
    color: #000000;
}

.imagem_modal_home {
    position: relative; /* necessário para que z-index funcione */
    z-index: 1001; /* maior que 1000 do botão */
}

label, legend {
    font-size: 15px;
    line-height: 20px;
    color: #000000;
    display: block;
    text-align: left;
    margin-top: 11px;
    font-weight: bold;
}

h6 {
    font-size: 15px;
}

.text-light1 {
    color: #937136;
    font-size: 46px;
    letter-spacing: -2px;
}

.text-success1 {
    --bs-text-opacity: 1;
    color: #3b0000;
    font-size: 30px;
}

.text-success2 {
    margin-top: 10px;
    text-align: center;
    color: #3b0000;
    font-size: 22px;
}

.modal-content::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.15); /* camada escura por cima da imagem */
    border-radius: 20px;
    z-index: 1;
}

@media (max-width: 768px) {
    .modal-content {
        width: auto;
        height: auto;
    }

    .modal-content h2 {
        font-size: 31px;
        font-family: 'alex-brush', serif;
        font-weight: 500;
        background: linear-gradient(90deg, #B77873, #ff00e9);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-decoration: none;
        letter-spacing: 1px;
        transition: color 0.3s;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    }

    .modal-content p {
        top: 5px;
        text-align: justify;
        line-height: 1.2;
        margin: 0 auto;
        max-width: 90%;
        position: relative;
        z-index: 2;
        color: #000000;
    }
}

@media (max-width: 480px) {
    .modal-content {
        width: auto;
        height: auto;
    }

    .modal-content h2 {
        font-size: 31px;
        font-family: 'alex-brush', serif;
        font-weight: 500;
        background: linear-gradient(90deg, #B77873, #ff00e9);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-decoration: none;
        letter-spacing: 1px;
        transition: color 0.3s;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    }

    .modal-content p {
        top: 5px;
        text-align: justify;
        line-height: 1.2;
        margin: 0 auto;
        max-width: 90%;
        position: relative;
        z-index: 2;
        color: #000000;
    }
}

/* =========================================== fim modeal - procedimentos .css ====================================== */
/* ================================================== resultador .css =============================================== */
/* Container principal do comparador */
.comparador {
    position: relative;
    width: 368px;
    height: 234px;
    overflow: hidden;
    font-family: sans-serif;
    box-shadow: 0 4px 12px rgba(24, 18, 18, 0.35);
    border-radius: 8px;
}

/* Imagem de ANTES (fundo) */
.comparador .imagem-antes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
    pointer-events: none;
    z-index: 0;
}

/* Divisória que “recorta” a imagem de DEPOIS */
.comparador .divisoria {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%; /* inicia no meio */
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

/* Imagem de DEPOIS (dentro da divisória) */
.comparador .imagem-depois {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
    pointer-events: none;
}

/* Linha central */
.comparador .linha {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    background: #fff;
    transform: translateX(-50%);
    z-index: 2;
    pointer-events: none;
}

/* Botão de controle */
.comparador .controle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    background: #fff;
    border: 2px solid #999;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: ew-resize;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.setas {
    width: 20px;
    height: 20px;
    pointer-events: none;
}

/* Rótulos (Antes / Depois) */
.rotulo {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 6px 12px;
    font-size: 0.9rem;
    font-weight: bold;
    color: #fff;
    background: rgba(0, 0, 0, 0.4);
    text-transform: uppercase;
    pointer-events: none;
    z-index: 4;
    border-radius: 3px;
}

.rotulo {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.rotulo-antes {
    left: 20px;
}

.rotulo-depois {
    right: 20px;
}

/* Estilo do título (mantido) */
.fonte_titulo1 {
    font-family: 'alex-brush', serif;
    font-weight: 800; /* vai usar o Bold */
    color: #937136; /* dourado */
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.3s;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.twentytwenty-container {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
    border-radius: 8px; /* opcional, para cantos suaves */
    overflow: hidden; /* garante que as bordas arredondadas apareçam certinho */
    width: 400px;
    height: 310px;
    margin-left: auto;
}

.fonte_titulo_resultados {
    font-family: 'alex-brush', serif;
    font-weight: 400; /* vai usar o Bold */
    background: linear-gradient(90deg, #937136, #937136); /* degradê */
    -webkit-background-clip: text; /* aplica o degradê apenas ao texto */
    -webkit-text-fill-color: transparent; /* torna o texto transparente para mostrar o degradê */
    font-size: 41px;
}

.ajustes1 {
    font-size: 35px;
}

@media (max-width: 1380px) {
    .twentytwenty-container {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        overflow: hidden;
        width: 361px;
        height: 310px;
        margin-left: auto;
    }

    .comparador {
        position: relative;
        width: 336px;
        aspect-ratio: 3 / 2;
    }


    .comparador .controle {
        width: 32px;
        height: 32px;
    }

    .comparador .setas {
        width: 16px;
        height: 16px;
    }

    .antes,
    .depois {
        width: 336px !important;
        height: 300px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 33px;
    }
}

@media (max-width: 1024px) {
    .twentytwenty-container {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        overflow: hidden;
        width: 305px;
        height: 310px;
        margin-left: auto;
    }

    .comparador {
        position: relative;
        width: 280px;
        aspect-ratio: 3 / 2;
    }

    .comparador .controle {
        width: 32px;
        height: 32px;
    }

    .comparador .setas {
        width: 16px;
        height: 16px;
    }

    .antes,
    .depois {
        width: 280px !important;
        height: 300px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 33px;
    }
}

@media (max-width: 768px) {
    .twentytwenty-container {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        overflow: hidden;
        width: 450px;
        height: 310px;
        margin-left: auto;
        margin-top: 30px;
    }

    .comparador {
        position: relative;
        width: 336px;
        aspect-ratio: 3 / 2;
    }

    .comparador .controle {
        width: 32px;
        height: 32px;
    }

    .comparador .setas {
        width: 16px;
        height: 16px;
    }

    .antes,
    .depois {
        width: 422px !important;
        height: 300px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 42px;
    }
}

@media (max-width: 491px) {
    .twentytwenty-container {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        overflow: hidden;
        width: 450px;
        height: 310px;
        margin-left: auto;
        margin-top: 30px;
    }

    .comparador {
        position: relative;
        width: 424px;
        aspect-ratio: 3 / 2;
    }

    .comparador .controle {
        width: 32px;
        height: 32px;
    }

    .comparador .setas {
        width: 16px;
        height: 16px;
    }

    .antes,
    .depois {
        width: 426px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 38px;
    }

}


@media (max-width: 480px) {
    .twentytwenty-container {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        overflow: hidden;
        width: 450px;
        height: 310px;
        margin-left: auto;
        margin-top: 30px;
    }

    .comparador {
        position: relative;
        width: 413px;
        aspect-ratio: 3 / 2;
    }

    .comparador .controle {
        width: 32px;
        height: 32px;
    }

    .comparador .setas {
        width: 16px;
        height: 16px;
    }

    .antes,
    .depois {
        width: 410px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 38px;
    }

}

@media (max-width: 428px) {
    .comparador {
        position: relative;
        width: 363px;
        aspect-ratio: 3 / 2;
    }

    .antes,
    .depois {
        width: 366px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 34px;
    }
}

@media (max-width: 414px) {
    .comparador {
        position: relative;
        width: 349px;
        aspect-ratio: 3 / 2;
    }

    .antes,
    .depois {
        width: 350px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 34px;
    }
}

@media (max-width: 400px) {
    .comparador {
        position: relative;
        width: 335px;
        aspect-ratio: 3 / 2;
    }

    .antes,
    .depois {
        width: 339px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 38px;
    }
}

@media (max-width: 384px) {
    .twentytwenty-container {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        overflow: hidden;
        width: 450px;
        height: 310px;
        margin-left: auto;
        margin-top: 30px;
    }

    .comparador {
        position: relative;
        width: 319px;
        aspect-ratio: 3 / 2;
    }

    .comparador .controle {
        width: 32px;
        height: 32px;
    }

    .comparador .setas {
        width: 16px;
        height: 16px;
    }

    .antes,
    .depois {
        width: 319px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 36px;
    }
}

@media (max-width: 375px) {
    .comparador {
        position: relative;
        width: 310px;
        aspect-ratio: 3 / 2;
    }

    .antes,
    .depois {
        width: 312px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 34px;
    }
}

@media (max-width: 360px) {
    .twentytwenty-container {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        overflow: hidden;
        width: 450px;
        height: 310px;
        margin-left: auto;
        margin-top: 30px;
    }

    .comparador {
        position: relative;
        width: 297px;
        aspect-ratio: 3 / 2;
    }

    .comparador .controle {
        width: 32px;
        height: 32px;
    }

    .comparador .setas {
        width: 16px;
        height: 16px;
    }

    .antes,
    .depois {
        width: 302px !important;
        height: 232px !important;
        object-fit: cover;
    }

    .fonte_titulo_resultados {
        font-size: 34px;
    }
}

/* ================================================= fim resultados .css ============================================ */
/* ================================================= depoimentos .css =============================================== */
.secao-suporte {
    text-align: center; /* centraliza título e parágrafo */

}

.secao-suporte h4 {
    font-size: 25px; /* ajuste conforme necessário */
    font-weight: 600;
    margin-bottom: 10px;
    margin-top: 20px;
}

.secao-suporte p {
    font-size: 17px;
    color: #1a1717;
    text-align: justify;
    line-height: 1.5;
}

.secao-suporte li {
    text-align: left;
}

.icone_psicologia {
    width: 30px; /* tamanho do ícone */
    height: 30px; /* opcional */
    display: block;
    margin: 0 auto 5px auto; /* centraliza e dá espaço abaixo */
}

.section-header__pretitle {
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #5a5a5a;
    margin-bottom: 10px;
}

.depoimento_item {
    transition: opacity 0.5s ease-in-out;
}

.card-depoimento {
    min-height: 350px;
    margin-bottom: 20px;
}

.card {
    border: none;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
}

.card:hover {
    transform: translateY(-5px);
}

.card-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card h3 {
    background: linear-gradient(90deg, #937136, #937136);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 600;
    margin-bottom: 15px;
}

.card p.lead {
    color: #000000;
    font-style: italic;
    line-height: 1.6;
}

.nav-dots {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.dot {
    width: 12px;
    height: 12px;
    background-color: #bbb;
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dot.active {
    background: linear-gradient(90deg, #937136, #937136);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.controls {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.btn-control {
    background: linear-gradient(90deg, #937136, #937136);
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 10px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-control:hover {
    background-color: #a39916;
}

.timer-bar {
    height: 5px;
    background: linear-gradient(90deg, #937136, #937136);
    width: 100%;
    margin-top: 20px;
    border-radius: 5px;
    animation: timerAnimation 30s linear infinite;
}

@keyframes timerAnimation {
    from {
        width: 100%;
    }
    to {
        width: 0%;
    }
}

.deixe-depoimento {
    background-color: #3498db;
    color: white;
    padding: 15px 30px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-block;
    margin-top: 20px;
    transition: background-color 0.3s ease;
}

.deixe-depoimento:hover {
    background-color: #2980b9;
    color: white;
}

.counter {
    font-size: 1.9rem;
    background: linear-gradient(90deg, #937136, #937136);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 10px;
}

.erro {
    border: 2px solid red;
    background-color: #ffe6e6;
}

/* ============================================= fim depoimentos .css =============================================== */
/* ============================================== botao whatsapp .css =============================================== */
.botao-agendar {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(90deg, #937136, #b28b4d); /* Gradiente dourado mais claro */
    color: #ffffff;
    font-size: 16px;
    padding: 12px 24px;
    border-radius: 40px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25), inset 0 -3px 6px rgba(0, 0, 0, 0.15); /* sombra mais neutra */
    transition: transform 0.2s, box-shadow 0.3s, background 0.3s;
    z-index: 1000;
}

.botao-agendar:hover {
    transform: translateY(-2px);
    background: linear-gradient(90deg, #b28b4d, #937136); /* inverte gradiente no hover */
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3), inset 0 -4px 8px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    color: #fff;
}

.icone-agenda {
    font-size: 18px;
    display: inline-block;
    animation: balancar 1.5s infinite ease-in-out;
}

a:hover {
    color: #ffffff;
}

@keyframes balancar {
    0%, 100% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-10deg);
    }
    75% {
        transform: rotate(10deg);
    }
}

/* ============================================= formulario de agenda .css ========================================= */
.form-popup {
    display: none;
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: 300px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    z-index: 2000;
    animation: aparecer 0.3s ease;
}

.form-conteudo {
    padding: 20px;
    position: relative;
}

.form-conteudo h3 {
    margin-top: 0;
    color: #937136;
    text-align: center;
}

.form-conteudo label {
    display: block;
    margin: 8px 0 4px;
    font-weight: 600;
    font-size: 14px;
}

.form-conteudo input,
.form-conteudo select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
}

.enviar {
    width: 100%;
    margin-top: 12px;
    padding: 10px;
    background: linear-gradient(90deg, #937136, #b28b4d);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.enviar:hover {
    background: linear-gradient(90deg, #b28b4d, #937136);
}

.fechar {
    position: absolute;
    top: 10px;
    right: 14px;
    cursor: pointer;
    font-size: 18px;
    color: #888;
}

@keyframes aparecer {
    from {
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* ============================================= fim botao whatsapp .css ============================================ */
/* ============================================= contato .css ======================================================= */
.footer-section {
    background: linear-gradient(to bottom, #f5f5f5, #e0e0e0);
    background-image: url('images/fundo04.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    background-attachment: fixed;
    color: #333;
    padding: 60px 0;
    font-family: 'Inter', sans-serif;
}

/* Títulos */
.subhead {
    font-size: 1.4rem;
    font-weight: 600;
    color: #2a3133;
    margin-bottom: 15px;
}

/* Mapa */
.map-container iframe {
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    width: 100%;
    display: block;
}

/* Contatos */
.contact-info p {
    margin: 6px 0;
    font-size: 15px;
    display: flex;
    align-items: center;
}

.contact-info i {
    color: #937136;
    margin-right: 8px;
    font-size: 18px;
}

.contact-info a {
    color: #937136;
    text-decoration: none;
    transition: color 0.3s;
}

.contact-info a:hover {
    color: #196e87;
}

/* Formulário */
.contact-form input,
.contact-form textarea {
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 8px;
    width: 100%;
    transition: 0.3s;
    font-size: 14px;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #1DC7EA;
    box-shadow: 0 0 8px rgba(29, 199, 234, 0.4);
    outline: none;
}

.contact-form button {
    background: #196e87;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: bold;
    padding: 10px 30px;
    cursor: pointer;
    transition: 0.3s;
}

.contact-form button:hover {
    background: #145768;
}

/* Feedback mensagens */
.loading, .error-message, .sent-message {
    display: none;
    margin-bottom: 10px;
}

.error-message {
    color: red;
}

.sent-message {
    color: green;
}

/* Redes sociais */
.s-footer__social {
    display: flex;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.s-footer__social a {
    font-size: 20px;
    color: #333;
    transition: 0.3s;
}

.s-footer__social a:hover {
    color: #196e87;
    transform: scale(1.2);
}

/* Parte inferior */
.footer-bottom {
    border-top: 1px solid #ccc;
    padding-top: 20px;
    font-size: 14px;
    color: #555;
}

.footer-bottom a {
    color: #196e87;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-bottom a:hover {
    color: #333;
}

.mt-5 {
    margin-top: 5rem !important;
}

.paragrafo_sobre {
    margin-bottom: 0 !important;
    color: #937136;
    font-size: 18px;
    font-weight: 350;
    text-align: justify;
}

.social-icon-link1 {
    color: #937136;
    font-size: 20px;
}

.sub-contato {
    color: #B77873;
    font-size: 24px;
}

.footer-section .container .row.align-items-start {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(5px);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 30px;
}

.subhead {
    font-size: 1.5rem;
    font-weight: 600;
    color: #9f4e4e; /* puxando o tom rosado do título "Contatos" */
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.map-container iframe {
    height: 100%;
    min-height: 300px;
}

.contact-form button {
    background: #b78a57; /* dourado elegante */
    color: #fff;
    border-radius: 8px;
    font-weight: 600;
    padding: 10px 30px;
    transition: 0.3s;
}

.fonte_titulo {

    color: #937136;
}
.container-fluid,
.carousel,
.carousel-inner,
.carousel-item img {
    max-width: 100%;
    overflow: hidden;
}


.contact-form button:hover {
    background: #a57844;
}

@media (max-width: 768px) {
    .footer-section .row.align-items-start {
        flex-direction: column;
        padding: 20px;
    }

    .contact-form button {
        width: 100%;
    }
}

/* ============================================= fim contato .css =================================================== */

/* === IMAGENS DO CARROSSEL / BANNER === */
.carousel-item img,
.carousel-image {
    width: 100%;
    height: auto;
   /* object-fit: cover; /* mantém proporção sem distorcer */
    display: block;
}

/* === ALTURA RESPONSIVA === */
@media (max-width: 768px) {
    .carousel-item img,
    .carousel-image {
        min-height: 260px; /* reduz altura em telas pequenas */
        object-position: center top; /* centraliza o enquadramento */
    }
}

/* === REMOVE FIXO NO BACKGROUND SE EXISTIR === */
.hero, .banner-topo, .carousel-item {
    background-attachment: scroll !important;
}
@media (max-width: 768px) {
    #hero-slide .carousel-item {
        height: auto !important;
        min-height: 250px !important;
    }
    .carousel-image {
        height: auto !important;
        min-height: 250px !important;
        object-fit: cover;
    }
}
/* ==== CORREÇÃO RESPONSIVA DO BANNER / TOPO ==== */
#hero-slide .carousel,
#hero-slide .carousel-inner,
#hero-slide .carousel-item,
#hero-slide .carousel-item img {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

#hero-slide .carousel-item {
    height: auto !important;
    min-height: auto !important;
}

#hero-slide .carousel-item img,
.carousel-image {
    display: block;
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
    min-height: 300px;
}

/* === MOBILE === */
@media (max-width: 768px) {
    #hero-slide .carousel-item img,
    .carousel-image {
        width: 100%;
        height: 40vh !important;         /* altura menor, mais proporcional */
        min-height: 220px !important;
        object-fit: cover;               /* mantém proporção sem distorcer */
        object-position: 80% center;     /* foca no lado direito (onde está a pessoa) */
    }
}

@media (max-width: 480px) {
    #hero-slide .carousel-item img,
    .carousel-image {
        height: 49vh !important;         /* um pouco mais alto no celular pequeno */
        min-height: 200px !important;
        object-fit: cover;
        object-position: 85% center;     /* foca mais ainda na pessoa */
    }
}


/* === Correção de transição no carrossel === */
#hero-slide .carousel-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    z-index: 0;
}

/* Slide ativo visível */
#hero-slide .carousel-item.active {
    position: relative;
    opacity: 1;
    z-index: 1;
}

/* Evita “piscar” imagem de fundo antes da troca */
#hero-slide .carousel-inner {
    position: relative;
    overflow: hidden;
    height: auto;
}

/* Garante que todas as imagens tenham a mesma altura durante o fade */
#hero-slide .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
