* {
    font-family: "owners-text", sans-serif;
}

/* BUTTONS */
.btn-theme_a {
    background: var(--color-green);
    color: var(--white);
    display: inline-block;
    padding: 15px 25px;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 5px;
    font-weight: var(--weight-strong);
}

.btn-theme_a:hover {
    background: var(--color-green-d);
}

.btn-theme_b {
    background: #58bc9c;
    color: var(--white);
    display: inline-block;
    padding: 15px 25px;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 5px;
    font-weight: var(--weight-strong);
}

.btn-theme_b:hover {
    background: #00916b;
}

.btn-theme_c {
    background: var(--color-green-d);
    color: var(--white);
    display: inline-block;
    padding: 15px 25px;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 5px;
    font-weight: var(--weight-strong);
}

.btn-theme_c:hover {
    background: #24505EFF;
}

.btn_icon {
    margin-left: 5px;
}

/* IMG FILTERS */
.inverter_white {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(156deg) brightness(104%) contrast(102%);
}

/* FAQ PATTERN */
.faq-container {
    max-width: 700px;
    width: 100%;
}

.faq-item {
    background: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
    overflow: hidden;
}

.faq-item:last-child {
    margin-bottom: 0;
}

.faq-question {
    background: var(--color-green-d);
    color: var(--white);
    padding: 15px;
    font-size: 1.1em;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all var(--hover-duration);
}

.faq-question:hover {
    background: var(--color-green);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 15px;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
    background: #fff;
    font-size: 1em;
    color: #333;
}

.faq-item.active .faq-answer {
    max-height: 200px;
    padding: 15px;
}

.icon {
    font-size: 0.8em;
    transition: transform 0.3s ease-in-out;
}

.faq-item.active .icon {
    transform: rotate(180deg);
}

/* VALIDATOR CLASSES */
.valid {
    border: 1px solid var(--green) !important;
}

.invalid {
    border: 1px solid var(--red) !important;
    color: var(--red) !important;
}

/* HEADER */
header.main_header {
    background: var(--default-bg);
    position: absolute;
    z-index: 1;
    width: 100%;
    top: 0;
    right: 0;
    left: 0;
}

header.main_header.about_header {
    background: transparent;
}

header.main_header.sticky {
    position: fixed;
    background: var(--color-green);
    color: var(--white) !important;
    animation: slideDown 0.35s ease-out;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

header.main_header .menu_container {
    padding: 15px 0;
    justify-content: space-between;
    align-items: center;
}

header.main_header.sticky .menu_container {
    padding: 10px 0;
}

header.main_header .menu_container .logo_container {
    flex-basis: 50px;
}

header.main_header.sticky .menu_container .logo_container {
    flex-basis: 40px;
}

header.main_header .menu_container .logo_container img {
    width: 100%;
}

header.main_header.about_header .menu_container .logo_container img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(156deg) brightness(104%) contrast(102%);
}

header.main_header.sticky .menu_container .logo_container img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(156deg) brightness(104%) contrast(102%);
}

header.main_header .menu_container .main_menu {
    flex-basis: calc(100% - 70px);
    justify-content: flex-end;
}

header.main_header .menu_container .main_menu .mobile_open {
    display: none;
    padding: 5px 10px;
    color: var(--color-green-d);
    border: 2px solid var(--color-green-d);
    border-radius: 5px;
    background: none;
    font-size: 16px;
    cursor: pointer;
}

header.main_header.sticky .menu_container .main_menu .mobile_open {
    color: var(--white);
    border: 2px solid var(--white);
}

header.main_header.about_header .menu_container .main_menu .mobile_open {
    color: var(--white);
    border: 2px solid var(--white);
}

header.main_header .menu_container .main_menu .mobile_open:hover {
    background: var(--color-green-d);
    color: var(--default-bg);
}

header.main_header.about_header .menu_container .main_menu .mobile_open:hover {
    background: var(--white);
    color: var(--color-green-d);
}

header.main_header.sticky .menu_container .main_menu .mobile_open:hover {
    background: var(--white);
    color: var(--color-green);
}

header.main_header .menu_container .main_menu a {
    padding: 10px 15px;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-green-d);
    font-weight: var(--weight-strong);
    position: relative;
    margin-right: 5px;
}

header.main_header.about_header .menu_container .main_menu a {
    color: var(--white);
}

header.main_header.sticky .menu_container .main_menu a {
    color: var(--white);
    font-size: 0.9em;
}

header.main_header .menu_container .main_menu a:last-child {
    margin-right: 0;
    border: 2px solid var(--color-green-d);
    border-radius: 15px;
}

header.main_header.about_header .menu_container .main_menu a:last-child {
    border-color: var(--white);
}

header.main_header.sticky .menu_container .main_menu a:last-child {
    border-color: var(--white);
    border-width: 1px;
}

header.main_header .menu_container .main_menu a:last-child:hover {
    background: var(--color-green-d);
    color: var(--default-bg);
}

header.main_header.about_header .menu_container .main_menu a:last-child:hover {
    background: var(--white);
    color: var(--color-green-d);
}

header.main_header.sticky .menu_container .main_menu a:last-child:hover {
    background: var(--white);
    color: var(--color-green);
}

header.main_header.sticky .menu_container .main_menu a.active:last-child {
    background: var(--white);
    color: var(--color-green);
}

header.main_header .menu_container .main_menu a:last-child:after {
    display: none !important;
}

header.main_header .menu_container .main_menu a:after {
    content: "";
    height: 4px;
    width: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--color-green-d);
    border-radius: 4px;
    transition-duration: 0.3s;
}

header.main_header.about_header .menu_container .main_menu a:after {
    background: var(--white);
}

header.main_header.sticky .menu_container .main_menu a:after {
    background: var(--white);
    height: 2px;
    border-radius: 2px;
}

header.main_header .menu_container .main_menu a:hover:after,
header.main_header .menu_container .main_menu a.active:after {
    width: 100%;
}

header.main_header .menu_container .main_menu a.active:last-child {
    background: var(--color-green-d);
    color: var(--white);
}

header.main_header .mobile_menu_container {
    display: none;
    background: var(--color-green-d);
    position: absolute;
    z-index: 120;
    top: 0;
    right: 0;
    width: 60%;
    height: 100vh;
    padding: 20px;
}

header.main_header .mobile_menu_container.show {
    display: block;
    animation: slideLeft 0.35s ease-out;
}

@keyframes slideLeft {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

header.main_header .mobile_menu_container .mobile_main_menu {
    width: 100%;
}

header.main_header .mobile_menu_container .mobile_main_menu a {
    text-transform: uppercase;
    text-decoration: none;
    color: var(--white);
    font-weight: var(--weight-strong);
    width: 100%;
    border-bottom: 1px solid var(--color-green-m);
    padding: 10px 0;
}

header.main_header .mobile_menu_container .mobile_main_menu a:hover,
header.main_header .mobile_menu_container .mobile_main_menu a.active {
    padding: 10px 0 10px 10px;
}

/* ERROR PAGE */
.error_title span.error_code {
    width: 100%;
    display: inline-block;
    font-size: 5em;
    color: var(--color-green-d);
    text-align: center;
    margin-bottom: 20px;
}

.error_title .error_cta {
    width: 100%;
    text-align: center;
}

/* PAGE HEADER */
.page_header {
    padding: 200px 0 120px;
    background: var(--default-bg);
}

.page_header.signin_title {
    padding: 200px 0 0px;
    background: var(--default-bg);
}

.page_header h1 {
    font-size: 4em;
    color: var(--color-green-d);
    width: 100%;
    text-align: center;
    font-weight: var(--weight-normal);
    margin-bottom: 20px;
}

.page_header h2 {
    font-size: 2em;
    color: var(--color-green-d);
    width: 100%;
    text-align: center;
    font-weight: var(--weight-normal);
    margin-bottom: 40px;
}

.page_header p {
    width: 100%;
    text-align: center;
    font-size: 1.2em;
    color: var(--color-green-d);
}

.page_header p a {
    text-decoration: none;
    color: var(--color-green);
    font-weight: var(--weight-strong);
    transition: all var(--hover-duration);
}

.page_header p a:hover {
    color: var(--color-green-d);
}

/* FOOTER */
footer .main_footer {
    padding: 40px 0;
    background: var(--color-green);
}

footer .main_footer .footer_logo {
    padding: 0 10px;
}

footer .main_footer .footer_logo img {
    width: 100%;
    margin-bottom: 20px;
}

footer .main_footer .footer_logo .uai_info_legal {
    width: 100%;
}

footer .main_footer .footer_logo .uai_info_legal span {
    color: var(--white);
    font-size: 1em;
    display: block;
    width: 100%;
}

footer .main_footer .footer_logo .uai_info_legal span.legal_name {
    font-weight: var(--weight-strong);
    margin-bottom: 5px;
}

footer .main_footer .footer_logo .uai_info_legal span.legal_number {
    margin-bottom: 15px;
}

footer .main_footer .footer_menu {
    padding: 0 10px;
}

footer .main_footer .footer_menu h2 {
    text-transform: uppercase;
    font-size: 2em;
    color: var(--white);
}

footer .main_footer .footer_menu .footer_menu_nav {
    margin-top: 15px;
    width: 100%;
}

footer .main_footer .footer_menu .footer_menu_nav ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer .main_footer .footer_menu .footer_menu_nav ul li {
    flex-basis: calc(50% - 10px);
    margin: 5px 0;
}

footer .main_footer .footer_menu .footer_menu_nav ul li a {
    text-decoration: none;
    color: var(--white);
}

footer .main_footer .footer_menu .footer_menu_nav ul li a:hover {
    color: var(--color-green-d);
}


footer .copyright_footer {
    background: var(--color-green-d);
    padding: 20px 0;
}

footer .copyright_footer .container {
    justify-content: space-between;
}

footer .copyright_footer .container article {
    color: var(--white);
}

footer .copyright_footer .container a {
    text-decoration: none;
    color: white;
}

footer .copyright_footer .container a:hover {
    color: var(--color-green);
}

footer .main_footer .footer_partners h2 {
    text-transform: uppercase;
    font-size: 2em;
    color: var(--white);
}

footer .main_footer .footer_partners .partners_logos {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

footer .main_footer .footer_partners .partners_logos img {
    width: calc(50% - 20px);
    height: auto;
    margin: 20px 0;
}


/* HOME PAGE */
/* Welcome */
.home_welcome {
    background: var(--default-bg);
    padding: 80px 0 40px;
}

.home_welcome .container {
    align-items: center;
}

.home_welcome .welcome_text {
    width: 100%;
}

.home_welcome .welcome_text h1 {
    font-size: 5em;
    color: var(--color-green-d);
}

.home_welcome .welcome_text .welcome_logo {
    width: 100%;
    margin: 10px 0;
}

.home_welcome .welcome_text .welcome_logo img {
    width: 100%;
}

.home_welcome .welcome_text .welcome_description {
    margin: 20px 0;
    width: 100%;
    color: var(--color-green-d) !important;
}

.home_welcome .welcome_text .welcome_description p {
    text-align: justify;
    margin: 5px 0;
}

/* Feature */
.home_features {
    background: var(--color-green-ll);
    padding: 40px 0;
}

.home_features .home_feature_item {
    padding: 30px;
    background: var(--color-green-l);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.home_features .home_feature_item .feature_item_icon_box {
    width: 120px;
    height: 120px;
    padding: 35px;
    border-radius: 50%;
    background: var(--color-green-ll);
    margin-bottom: 15px;
}

.home_features .home_feature_item .feature_item_icon_box img {
    width: 100%;
    height: 100%;
    opacity: 0.7;
}

.home_features .home_feature_item h2 {
    flex-basis: 100%;
    font-size: 1.75em;
    text-transform: uppercase;
    text-align: center;
    color: var(--color-green-d);
    margin-bottom: 10px;
}

.home_features .home_feature_item p {
    flex-basis: 100%;
    font-size: var(--font-normal);
    text-align: center;
    color: var(--color-green-d);
}

.home_features .home_features_cta {
    text-align: center;
    margin-top: 20px;
}

/* Statistics */
.home_statistics {
    padding: 40px 0;
    background: url("../images/bg.webp") no-repeat center center fixed;
    background-size: cover;
}

.home_statistics .container {
    align-items: center;
}

.home_statistics .statistic_image_box img {
    width: 100%;
}

.home_statistics .statistic_numbers .statistic_info {
    margin: 20px 0;
}

.home_statistics .statistic_numbers .statistic_info h1 {
    font-size: 3.1em;
    color: var(--white);
    text-transform: uppercase;
}

/* Enroll */
.home_enroll {
    padding: 40px 0;
    background: var(--color-green-l);
}

.home_enroll h1 {
    font-size: 3em;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    color: var(--color-green-d);
    margin-bottom: 10px;
}

.home_enroll .enroll_steps_box {
    margin: 30px 0;
}

.home_enroll .enroll_steps_box .enroll_step {
    padding: 40px;
    background: var(--color-green-ll);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.home_enroll .enroll_steps_box .enroll_step .step_number {
    display: block;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    font-size: 3.5em;
    border-radius: 50%;
    color: var(--color-green-d);
    border: 2px solid var(--color-green-d);
}

.home_enroll .enroll_steps_box .enroll_step h2 {
    flex-basis: 100%;
    text-align: center;
    color: var(--color-green-d);
    text-transform: uppercase;
    font-size: 1.2em;
    margin: 10px 0;
}

.home_enroll .enroll_steps_box .enroll_step p {
    width: 100%;
    flex-basis: 100%;
    text-align: center;
    color: var(--color-green-d);
}

.home_enroll .home_enroll_cta {
    width: 100%;
    text-align: center;
}

/* Medicana Science */
.home_medicana_science .section_half_content {
    padding: 40px 7%;
    background: url("../images/bg_science.webp") no-repeat center;
    background-size: cover;
    flex-basis: 60%;
}

.home_medicana_science .section_half_content article header {
    padding: 20px;
    border-bottom: 1px solid var(--white);
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}

.home_medicana_science .section_half_content article header img {
    width: calc(50% - 60px);
}

.home_medicana_science .section_half_content article header span {
    color: var(--white);
    font-size: 1.5em;
}

.home_medicana_science .section_half_content article h1 {
    font-size: 3em;
    color: var(--white);
    text-transform: uppercase;
    text-align: center;
    width: 100%;
    margin: 20px 0;
}

.home_medicana_science .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: center;
    color: var(--white);
    margin: 10px 0;
}

.home_medicana_science .section_half_content article .home_science_cta {
    width: 100%;
    text-align: center;
    margin-top: 40px;
}

.home_medicana_science .section_half_pic {
    flex-basis: 40%;
    background: url("../images/doctors.jpg") no-repeat center;
    background-size: cover;
}

/* Testimonials */
.home_testimonials {
    padding: 40px 0;
    background: var(--default-bg);
    width: 100%;
    position: relative;
}

.home_testimonials h1 {
    font-size: 3em;
    color: var(--color-green-d);
    width: 100%;
    text-align: center;
    text-transform: uppercase;
}

.home_testimonials .testimonials_slider {
    width: 100%;
    margin: 30px 0;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    gap: 30px;
}

.home_testimonials .testimonials_slider:before {
    content: "";
    width: 130px;
    height: 130px;
    display: block;
    position: absolute;
    background: url("../images/marker.svg") no-repeat center;
    background-size: 100%;
    top: 13%;
    left: 10%;
}

.home_testimonials .testimonials_slider::-webkit-scrollbar {
    display: none;
}

.home_testimonials .testimonials_slider .test_item {
    min-width: 500px;
    background: #f2f2f2;
    padding: 60px;
    border-radius: 15px;
}

.home_testimonials .testimonials_slider .test_item:first-child {
    margin-left: 7%;
}

.home_testimonials .testimonials_slider .test_item p {
    width: 100%;
    font-size: var(--font-normal);
    color: var(--color-green-d);
    text-align: center;
    font-style: italic;
}

.home_testimonials .testimonials_slider .test_item .author_box {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 20px;
}

.home_testimonials .testimonials_slider .test_item .author_box img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    margin-right: 10px;
}

.home_testimonials .testimonials_slider .test_item .author_box span {
    flex-basis: calc(100% - 70px);
    display: block;
    font-weight: var(--weight-strong);
    color: var(--color-green-d);
}

.home_testimonials .testimonials_slider .test_item .author_box span.author_role {
    font-weight: var(--weight-normal);
    text-transform: uppercase;
    font-size: var(--font-small);
}

/* Gallery */
.home_gallery {
    padding: 40px 0;
    background: var(--color-green-d);
}

.home_gallery h1 {
    font-size: 3em;
    color: var(--white);
    text-transform: uppercase;
    text-align: center;
    width: 100%;
    margin: 20px 0;
}

.home_gallery .gallery {
    margin: 10px 0;
}

.home_gallery .gallery article {
    border-radius: 15px;
    background: var(--color-green-m);
    cursor: pointer;
}

.home_gallery .gallery article a {
    text-decoration: none;
    display: inline-block;
}

.home_gallery .gallery article:hover {
    background: var(--white);
}

.home_gallery .gallery article img {
    width: 100%;
    border-radius: 15px 15px 0 0;
}

.home_gallery .gallery article h2 {
    padding: 10px 10px 0;
    font-size: 1.2em;
    text-align: center;
    color: var(--white);
}

.home_gallery .gallery article:hover h2 {
    color: var(--color-green-d) !important;
}

.home_gallery .gallery article p {
    padding: 10px 10px 20px;
    text-align: center;
    color: var(--white);
}

.home_gallery .gallery article:hover p {
    color: var(--color-green-d) !important;
}

.home_gallery .home_gallery_cta {
    margin-top: 20px;
    text-align: center;
}

/* Blog Latest */
.home_blog {
    padding: 40px 0;
    background: var(--default-bg);
}

.home_blog h1 {
    width: 100%;
    margin: 20px 0;
    font-size: 3em;
    color: var(--color-green-d);
    text-transform: uppercase;
    text-align: center;
}

.home_blog .home_blog_posts article {
    padding: 20px;
    border-radius: 15px;
    background: #f2f2f2;
}

.home_blog .home_blog_posts article header {
    margin-bottom: 20px;
}

.home_blog .home_blog_posts article header img {
    width: 100%;
    border-radius: 15px;
    margin-bottom: 10px;
}

.home_blog .home_blog_posts article header h2 {
    font-size: 1.2em;
    text-align: center;
    margin-bottom: 5px;
    color: var(--color-green-d);
    width: 100%;
}

.home_blog .home_blog_posts article header .post_author {
    font-size: 0.8em;
    width: 100%;
    text-align: center;
    display: block;
    text-transform: uppercase;
    color: var(--color-green-d);
}

.home_blog .home_blog_posts article p {
    width: 100%;
    text-align: justify;
    margin-bottom: 10px;
}

.home_blog .home_blog_posts article .home_post_link {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-green);
    font-weight: var(--weight-strong);
    display: block;
    margin-top: 20px;
    font-size: 1.2em;
}

.home_blog .home_blog_posts article .home_post_link:hover {
    color: var(--color-green-d);
}

.home_blog .home_blog_cta {
    width: 100%;
    margin-top: 20px;
    text-align: center;
}

/* Newsletter */
.home_newsletter {
    padding: 120px 0;
    background: linear-gradient(0deg, rgba(4, 34, 7, 0.8), rgba(4, 34, 7, 0.8)), url("../images/newsletter_bg.jpg") no-repeat center center fixed;
    background-size: cover;
}

.home_newsletter .container {
    justify-content: flex-end;
}

.home_newsletter .home_newsletter_box {
    flex-basis: 50%;
    padding: 30px;
    border-radius: 15px;
}

.home_newsletter .home_newsletter_box h1 {
    font-size: 2em;
    text-transform: uppercase;
    text-align: center;
    width: 100%;
    color: var(--white);
    margin-bottom: 10px;
}

.home_newsletter .home_newsletter_box h2 {
    font-size: 1em;
    text-align: center;
    width: 100%;
    color: var(--white);
    font-weight: var(--weight-normal);
}

.home_newsletter .home_newsletter_box .newsletter_form {
    width: 100%;
    margin-top: 20px;
}

.home_newsletter .home_newsletter_box .newsletter_form form {
    justify-content: space-between;
}

.home_newsletter .home_newsletter_box .newsletter_form form label {
    flex-basis: calc(50% - 10px);
    margin-bottom: 10px;
}

.home_newsletter .home_newsletter_box .newsletter_form form label input {
    padding: 15px;
    border: none;
    width: 100%;
    border-radius: 5px;
}

.home_newsletter .home_newsletter_box .newsletter_form form button {
    border: none;
    cursor: pointer;
}

.newsletter_loader {
    display: none;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    font-size: 14px;
    color: #fff;
}

.newsletter_loader .spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top: 2px solid #fff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

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

.newsletter_feedback {
    display: none;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 14px;
}

.newsletter_feedback.success {
    background: #e9f9f0;
    color: #1e7e34;
}

.newsletter_feedback.error {
    background: #fdeaea;
    color: #b02a37;
}

/* ABOUT US */
/* Cover */
.about_cover {
    width: 100%;
    height: 80vh;
    background: url("../images/founder.webp") no-repeat center bottom -30px;
    background-size: cover;
    display: block;
    min-height: 600px;
}

/* Founder */
.about_founder {
    padding: 80px 0;
    background: var(--default-bg);
}

.about_founder h1 {
    font-weight: var(--weight-normal);
    font-size: 4em;
    color: var(--color-green-d);
    width: 100%;
    text-align: center;
}

.about_founder article {
    margin-top: 30px;
    width: 100%;
}

.about_founder article p {
    font-size: 1em;
    color: var(--color-green-d);
    text-align: justify;
    margin: 20px 0;
}

/* Country */
.about_country {
    padding: 20px 0;
    background: var(--color-green-l);
}

.about_country .container {
    align-items: center;
}

.about_country .country_txt h1 {
    font-size: 3.5em;
    font-weight: var(--weight-normal);
    color: var(--color-green-d);
    margin-bottom: 30px;
}

.about_country .country_txt p {
    color: var(--color-green-d);
    margin-bottom: 40px;
}

/* DNA */
.about_dna .section_half_content {
    padding: 40px 7%;
    background: var(--color-green);
    flex-basis: 60%;
}

.about_dna .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    font-weight: var(--weight-normal);
    text-align: right;
    width: 100%;
    margin-bottom: 30px;
}

.about_dna .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--color-green-d);
    margin: 10px 0;
}

.about_dna .section_half_content article .about_dna_cta {
    width: 100%;
    text-align: right;
    margin-top: 30px;
}

.about_dna .section_half_pic {
    flex-basis: 40%;
    background: url("../images/dna.webp") no-repeat center;
    background-size: cover;
}

/* Santa Cannabis */
.about_santa .section_half_content {
    padding: 40px 7%;
    background: var(--color-green-d);
    flex-basis: 60%;
}

.about_santa .section_half_content article header {
    padding: 20px;
    border-bottom: 1px solid var(--white);
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}

.about_santa .section_half_content article header img {
    width: calc(50% - 60px);
}

.about_santa .section_half_content article header span {
    color: var(--white);
    font-size: 1.5em;
}

.about_santa .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--white);
    font-weight: var(--weight-normal);
    text-align: left;
    width: 100%;
    margin: 30px 0;
}

.about_santa .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: left;
    color: var(--white);
    margin: 10px 0;
}

.about_santa .section_half_content article .about_santa_cta {
    width: 100%;
    text-align: left;
    margin-top: 30px;
}

.about_santa .section_half_pic {
    flex-basis: 40%;
    background: url("../images/bg_santacannabis.webp") no-repeat center;
    background-size: cover;
}

/* BLOG */
/* Search Box */
.blog_search form {
    width: 100%;
    justify-content: center;
}

.blog_search form label {
    flex-basis: 50%;
    margin-right: 10px;
}

.blog_search form label input {
    border: none;
    border-radius: 15px;
    font-size: 16px;
    padding: 20px;
    width: 100%;
    color: var(--color-green-d);
}

.blog_search form button {
    border-radius: 15px;
    border: none;
    cursor: pointer;
    font-size: 16px;
}

/* Posts list */
.blog_list {
    padding: 40px 0;
}

.blog_list .blog_filters {
    flex-basis: 20%;
    padding-right: 20px;
}

.blog_list .blog_filters h2 {
    color: var(--color-green-d);
    font-size: 1.3em;
    font-weight: var(--weight-normal);
}

.blog_list .blog_filters .filter_nav {
    margin: 20px 0;
}

.blog_list .blog_filters .filter_nav a {
    display: inline-block;
    text-decoration: none;
    flex-basis: 100%;
    width: 100%;
    padding: 10px;
    margin: 5px 0;
    color: var(--color-green-m);
    border-radius: 15px;
}

.blog_list .blog_filters .filter_nav a.active, .blog_list .blog_filters .filter_nav a:hover {
    background: var(--color-green-d);
    padding: 10px 10px 10px 20px;
    color: var(--white);
}

.blog_list .posts {
    flex-basis: 80%;
}

.posts {
    justify-content: space-between;
}

.posts article {
    border-radius: 15px;
    background: #f2f2f2;
    flex-basis: calc(100% / 3 - 10px);
    margin-bottom: 15px;
}

.posts article header {
    margin-bottom: 20px;
}

.posts article header .post_image_box {
    position: relative;
    width: 100%;
}

.posts article header .post_image_box img {
    width: 100%;
    border-radius: 15px 15px 0 0;
    margin-bottom: 10px;
}

.posts article header .post_image_box .post_meta {
    position: absolute;
    justify-content: space-between;
    width: 100%;
    background: rgba(11, 40, 45, 0.7);
    padding: 10px;
    bottom: 0;
}

.posts article header .post_image_box .post_meta .post_author {
    font-size: 0.7em;
    flex-basis: 50%;
    text-align: left;
    text-transform: uppercase;
    color: var(--white);
}

.posts article header .post_image_box .post_meta .post_date {
    font-size: 0.7em;
    flex-basis: 50%;
    text-align: right;
    text-transform: uppercase;
    color: var(--white);
}

.posts article header h2 {
    font-size: 1.2em;
    text-align: center;
    margin-bottom: 5px;
    color: var(--color-green-d);
    width: 100%;
    padding: 0 10px;
}

.posts article .post_card_content {
    padding: 0 10px;
}

.posts article p {
    width: 100%;
    text-align: justify;
    margin-bottom: 10px;
}

.posts article .blog_post_link {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    background: var(--color-green);
    color: #f2f2f2;
    font-weight: var(--weight-strong);
    display: block;
    margin-top: 20px;
    font-size: 1.2em;
    padding: 20px 10px;
    border-radius: 0 0 15px 15px;
}

.posts article .blog_post_link:hover {
    background: var(--color-green-d);
}

.posts .no_results {
    background: #ffa8a8;
}

.posts .no_results header h2 {
    margin-top: 20px;
    color: #ff0000;
    text-transform: uppercase;
}

.posts .no_results .post_card_content p {
    color: #ff0000;
    text-align: center;
}

.post_header {
    background: #000000;
    position: relative;
}

.post_header img {
    opacity: 0.8;
    height: 95vh;
    width: 100%;
}

.post_header .post_header_content {
    width: 100%;
    background: rgba(11, 40, 45, 0.7);
    position: absolute;
    bottom: 0;
    padding: 30px 0;
}

.post_header .post_header_content h1 {
    font-size: 3.5em;
    color: var(--white);
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
}

.post_header .post_header_content h2 {
    font-size: 2em;
    color: var(--white);
    width: 100%;
    text-align: center;
    font-weight: var(--weight-normal);
}

.post_box {
    padding: 40px 0;
}

.post_box .post_content {
    flex-basis: 100%;
}

.post_box .post_content article {
    font-size: 1.2em;
    color: #505050;
    text-align: justify;
}

.post_box .post_content article h3 {
    color: var(--color-green-d);
    margin-bottom: 20px;
    font-size: 1.4em;
}

.post_box .post_content article p {
    margin-bottom: 20px
}

.post_box .post_content article ul {
    list-style: disc;
    padding-left: 17px;
    margin-bottom: 10px;
    display: inline-block;
}

.post_box .post_content article ul li {
    width: 100%;
}

.post_box .post_content article ul li p {
    margin-bottom: 10px;
}

.post_box .post_content article a {
    transition: all var(--hover-duration);
    color: var(--color-green);
    text-decoration: none;
    font-weight: var(--weight-strong);
}

.post_box .post_content article a:hover {
    color: var(--color-green-d);
}

.post_box aside {
    flex-basis: 35%;
    padding-left: 40px;

}

.post_box .post_content_meta {
    margin-bottom: 20px;
    color: var(--color-green-d);
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
}

.post_box .post_content_meta span {
    display: inline-block;
    width: calc(50% - 10px);
    margin-bottom: 10px;
    padding: 7px 10px;
    text-align: center;
    border-radius: 5px;
    border: 1px solid var(--color-green-d);
}

.post_box .post_content_meta span.comments {
    color: var(--blue);
    border-color: var(--blue);
    width: 100%;
    cursor: pointer;
    transition: all var(--hover-duration);
}

.post_box .post_content_meta span.comments:hover {
    color: var(--white);
    background: var(--blue);
}

.post_box .post_content_meta span.likes {
    border: 1px solid var(--green);
    color: var(--green);
    cursor: pointer;
    transition: all var(--hover-duration);
}

.post_box .post_content_meta span.likes:hover {
    color: var(--white);
    background: var(--green);
}

.post_box .post_content_meta span.hates {
    border: 1px solid var(--red);
    color: var(--red);
    cursor: pointer;
    transition: all var(--hover-duration);
}

.post_box .post_content_meta span.hates:hover {
    color: var(--white);
    background: var(--red);
}

.post_box .related_posts {
    margin: 20px 0;
}

.post_box .related_posts h4 {
    font-size: 2em;
    color: var(--color-green-d);
    margin-bottom: 40px;
}

.post_box .related_posts .posts article {
    flex-basis: calc(100% / 3 - 20px);
}

/* =========================
   PAGINATION (BLOG)
========================= */

.pagination {
    width: 100%;
    display: flex;
    gap: 12px;
    justify-content: center;
    align-items: center;
    margin-top: 24px;
    flex-wrap: wrap;
}

/* Link buttons */
.pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    border: 2px solid var(--color-green);      /* verde do tema */
    background: var(--color-green);
    color: #fff;
    transition: transform 0.15s ease, opacity 0.15s ease, background 0.15s ease;
}

/* Hover */
.pagination a:hover {
    transform: translateY(-1px);
    opacity: 0.8;
}

/* Focus accessibility */
.pagination a:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(47, 158, 68, 0.25);
}

/* Disabled state (se você usar spans no lugar de links) */
.pagination .is-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Page info "Página X de Y" */
.pagination .page-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 999px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: var(--color-green-d);            /* verde bem escuro (combina com o pill do filtro) */
    color: #fff;
    border: 2px solid var(--color-green-d);
}

/* Responsive: stack on small screens */
@media (max-width: 640px) {
    .pagination {
        justify-content: center;
    }

    .pagination a,
    .pagination .page-info {
        width: 100%;
        max-width: 320px;
        text-align: center;
    }
}

/* CONTACT */
.contact_form_box {
    padding: 40px 0;
}

.contact_form_box form {
    width: 100%;
    justify-content: center;
    padding: 0 15px;
}

.contact_form_box form label {
    flex-basis: 100%;
    margin-bottom: 20px;
}

.contact_form_box form label.mid {
    justify-content: space-between;
}

.contact_form_box form label.mid input {
    flex-basis: calc(50% - 10px);
}

.contact_form_box form label input, .contact_form_box form label textarea {
    width: 100%;
    border: none;
    padding: 20px;
    max-width: 100%;
    font-size: 16px;
    border-radius: 5px;
    background: #f2f2f2;
    color: var(--color-green-d);
}

.contact_form_box form button {
    font-size: 16px;
    padding: 20px 60px;
    border: none;
    cursor: pointer;
}

.contact_options {
    padding: 20px 0;
}

.contact_options article {
    background: var(--color-green-ll);
    padding: 20px;
    border-radius: 15px;
}

.contact_options article h2 {
    font-size: 1.3em;
    color: var(--color-green);
    margin-bottom: 15px;
}

.contact_options article span {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px;
    color: var(--color-green-d);
    text-align: justify;
}

.contact_options article span.time_span {
    text-align: center;
    margin-top: 20px;
}

.contact_options article a {
    text-decoration: none;
    color: var(--color-green);
    padding: 7px 15px;
    border: 1px solid var(--color-green);
    display: inline-block;
    border-radius: 5px;
}

.contact_options article a:hover {
    color: var(--color-green-ll);
    background: var(--color-green);
}

/* =========================
   CONTACT FORM FEEDBACK
========================= */

#contactLoader {
    display: none;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    margin-top: 10px;
    margin-left: 10px;
    color: #555;
}

/* Spinner */
#contactLoader .icon-spin {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0,0,0,0.15);
    border-top: 2px solid #2ecc71; /* cor principal */
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

/* Animação */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* =========================
   BUTTON LOADING STATE
========================= */

#contactSubmit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* =========================
   ALERT BOXES
========================= */

#contactFeedback {
    display: none;
    margin-top: 15px;
    margin-left: 10px;
    padding: 14px 18px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.4;
    animation: fadeInUp 0.3s ease;
}

/* Success */
.alert-success {
    background: #e9f9f0;
    border: 1px solid #b8eacb;
    color: #1e7e34;
}

/* Error */
.alert-error {
    background: #fdeaea;
    border: 1px solid #f5c2c2;
    color: #b02a37;
}

/* Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* PRIVACY POLICIES */
.privacy_content {
    padding: 40px 0;
    color: var(--color-green-d);
}

.privacy_content h2 {
    margin: 30px 0;
    text-transform: uppercase;
    width: 100%;
}

.privacy_content h3 {
    margin: 15px 0;
    width: 100%;
}

.privacy_content p {
    width: 100%;
    padding-left: 20px;
    text-align: justify;
    margin: 10px;
}

.privacy_content ul {
    list-style: disc;
    padding-left: 40px;
}

.privacy_content ul li {
    text-align: justify;
    margin: 10px;
}

.privacy_content a {
    text-decoration: none;
    color: var(--color-green);
    transition: all var(--hover-duration);
}

.privacy_content a:hover {
    color: var(--color-green-d);
}

.privacy_content p.updated_at {
    padding: 0;
    text-align: right;
    margin-top: 30px;
}

/* TRANSPARENCY */
.transparency_presentation {
    padding: 40px 0;
}

.transparency_presentation article p {
    font-size: 1.2em;
    margin: 15px 0;
    text-align: justify;
    color: var(--color-green-d);
}

.transparency_specs {
    padding: 40px 0;
    background: var(--color-green-l);
}

.transparency_specs h1 {
    font-size: 3em;
    width: 100%;
    text-align: center;
    color: var(--color-green-d);
}

.transparency_specs .specs_cards {
    margin-top: 20px;
}

.transparency_specs .specs_cards article {
    background: var(--color-green-ll);
    padding: 20px;
    border-radius: 15px;
}

.transparency_specs .specs_cards article h2 {
    font-size: 1.6em;
    color: var(--color-green-d);
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

.transparency_specs .specs_cards article p {
    width: 100%;
    text-align: center;
    color: var(--color-green-d);
}

.transparency_docs .section_half_content {
    padding: 40px 7%;
    background: var(--color-green-d);
    flex-basis: 60%;
}

.transparency_docs .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--white);
    text-align: right;
    width: 100%;
    margin-bottom: 30px;
}

.transparency_docs .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--white);
    margin: 10px 0;
}

.transparency_docs .section_half_content article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--white);
    margin: 10px 0;
}

.transparency_docs .section_half_content article ul li {
    margin: 5px 0;
    font-style: italic;
}

.transparency_docs .section_half_content article .transparency_docs_cta {
    width: 100%;
    text-align: right;
    margin-top: 30px;
}

.transparency_docs .section_half_pic {
    flex-basis: 40%;
    background: url("../images/paperwork_bg.webp") no-repeat center;
    background-size: cover;
}

.transparency_money .section_half_content {
    padding: 40px 7%;
    background: var(--color-green);
    flex-basis: 60%;
}

.transparency_money .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: left;
    width: 100%;
    margin-bottom: 30px;
}

.transparency_money .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: left;
    color: var(--color-green-d);
    margin: 10px 0;
}

.transparency_money .section_half_content article h2 {
    font-size: 1.8em;
    color: var(--color-green-d);
    text-align: left;
    width: 100%;
    margin: 20px 0;
}

.transparency_money .section_half_content article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: left;
    color: var(--color-green-d);
    margin: 10px 0;
}

.transparency_money .section_half_content article ul li {
    margin: 5px 0;
    font-style: italic;
}

.transparency_money .section_half_content article .transparency_money_cta {
    width: 100%;
    text-align: left;
    margin-top: 30px;
}

.transparency_money .section_half_pic {
    flex-basis: 40%;
    background: url("../images/money_bg.webp") no-repeat center;
    background-size: cover;
}

.transparency_partners {
    padding: 40px 0;
    background: var(--default-bg);
}

.transparency_partners article {
    width: 100%;
}

.transparency_partners article h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: center;
    width: 100%;
    margin-bottom: 30px;
}

.transparency_partners article p {
    font-size: 1.2em;
    margin: 15px 0;
    text-align: center;
    color: var(--color-green-d);
}

.transparency_partners article p a {
    color: var(--color-green);
    font-weight: var(--weight-strong);
    text-decoration: none;
    transition: all var(--hover-duration);
}

.transparency_partners article p a:hover {
    color: var(--color-green-d);
}

.transparency_partners article .transparency_partners_cta {
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

/* NOTICES */
.notices_presentation {
    padding: 40px 0;
    background: var(--color-green-l);
}

.notices_presentation article p {
    font-size: 1.2em;
    margin: 15px 0;
    text-align: justify;
    color: var(--color-green-d);
}

.notices_presentation article .notices_cards .notice_card {
    padding: 30px;
    border-radius: 15px;
    background: var(--color-green-ll);
}

.notices_presentation article .notices_cards .notice_card h2 {
    font-size: 2em;
    color: var(--color-green-d);
    text-align: center;
    width: 100%;
}

.notices_presentation article .notices_cards .notice_card p {
    width: 100%;
    text-align: center;
}

.notices_box {
    padding: 40px 0;
}

.notices_box.open_notices {
    padding-bottom: 0;
}

.notices_box.open_notices .container {
    padding-bottom: 40px;
    border-bottom: 2px solid var(--default-bg);
}

.notices_box h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: center;
    width: 100%;
    font-weight: var(--weight-normal);
    margin-bottom: 20px;
}

.notices_box h2 {
    font-size: 2.2em;
    color: var(--color-green-d);
    text-align: center;
    width: 100%;
    font-weight: var(--weight-normal);
    margin-bottom: 40px;
}

.notices_box .notices_table {
    width: 100%;
}

.notices_box .notices_table ul {
    width: 100%;
}

.notices_box .notices_table ul li {
    display: flex;
    padding: 10px 20px;
    color: var(--color-green-d);
    background: var(--default-bg);
    align-items: center;
}

.notices_box .notices_table ul li.title {
    background: var(--color-green-d);
    color: var(--white);
    border-radius: 15px 15px 0 0;
    padding: 20px;
}

.notices_box .notices_table ul li:nth-child(even) {
    background: var(--white);
}

.notices_box .notices_table ul li:last-child {
    border-radius: 0 0 15px 15px;
}

.notices_box .notices_table ul li span {
    display: inline-block;
    text-align: center;
}

.notices_box .notices_table ul li.title span {
    font-weight: var(--weight-strong);
}

.notices_box .notices_table ul li span.code {
    flex-basis: 10%;
}

.notices_box .notices_table ul li span.name {
    flex-basis: 25%;
}

.notices_box .notices_table ul li span.date {
    flex-basis: 18%;
}

.notices_box .notices_table ul li span.actions, .notices_box .notices_table ul li div.actions {
    flex-basis: 29%;
    text-align: center;
}

.notices_box .notices_table ul li a {
    padding: 7px 10px;
    font-size: 14px;
    font-weight: var(--weight-normal);
    margin: 0 5px;
}

.notices_faq {
    padding: 40px 0;
    background: var(--color-green-l);
}

.notices_faq h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: center;
    width: 100%;
    font-weight: var(--weight-normal);
    margin-bottom: 20px;
}

.notices_faq .notice_faq_container {
    margin-top: 20px;
    width: 100%;
    display: flex;
    justify-content: center;
}

/* RESEARCHES */
.researches_studies .section_half_content {
    padding: 40px 7%;
    background: var(--color-green-d);
    flex-basis: 60%;
}

.researches_studies .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--white);
    text-align: right;
    width: 100%;
    margin-bottom: 30px;
}

.researches_studies .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--white);
    margin: 10px 0;
}

.researches_studies .section_half_content article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--white);
    margin: 10px 0;
}

.researches_studies .section_half_content article ul li {
    margin: 5px 0;
    font-style: italic;
}

.researches_studies .section_half_content article .researches_studies_cta {
    width: 100%;
    text-align: right;
    margin-top: 30px;
}

.researches_studies .section_half_pic {
    flex-basis: 40%;
    background: url("../images/medicana_science_bg.webp") no-repeat center;
    background-size: cover;
}

.researches_partners .section_half_content {
    padding: 40px 7%;
    background: var(--color-green);
    flex-basis: 60%;
}

.researches_partners .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: left;
    width: 100%;
    margin-bottom: 30px;
}

.researches_partners .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: left;
    color: var(--color-green-d);
    margin: 10px 0;
}

.researches_partners .section_half_content article h2 {
    font-size: 1.8em;
    color: var(--color-green-d);
    text-align: left;
    width: 100%;
    margin: 20px 0;
}

.researches_partners .section_half_content article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: left;
    color: var(--color-green-d);
    margin: 10px 0;
}

.researches_partners .section_half_content article ul li {
    margin: 5px 0;
    font-style: italic;
}

.researches_partners .section_half_content article .transparency_money_cta {
    width: 100%;
    text-align: left;
    margin-top: 30px;
}

.researches_partners .section_half_pic {
    flex-basis: 40%;
    background: url("../images/scientist.webp") no-repeat center;
    background-size: cover;
}

/* FAQ */
.faq_page {
    padding: 40px 0;
}

.faq_page .faq-container {
    width: 100%;
    max-width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}

.faq_page .faq-container .faq-item {
    flex-basis: calc(50% - 10px);
}

.faq_page .faq-container .faq-item:last-child {
    margin-bottom: 10px;
}

/* SERVICES */
.medical_services .section_half_content {
    padding: 40px 7%;
    background: var(--color-green-d);
    flex-basis: 60%;
}

.medical_services .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--white);
    text-align: right;
    width: 100%;
    margin-bottom: 30px;
}

.medical_services .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--white);
    margin: 10px 0;
}

.medical_services .section_half_content article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--white);
    margin: 10px 0;
}

.medical_services .section_half_content article ul li {
    margin: 5px 0;
    font-style: italic;
}

.medical_services .section_half_content article .medical_services_cta {
    width: 100%;
    text-align: right;
    margin-top: 30px;
}

.medical_services .section_half_pic {
    flex-basis: 40%;
    background: url("../images/doctor.webp") no-repeat center;
    background-size: cover;
}

.law_services .section_half_content {
    padding: 40px 7%;
    background: var(--color-green);
    flex-basis: 60%;
}

.law_services .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: left;
    width: 100%;
    margin-bottom: 30px;
}

.law_services .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: left;
    color: var(--color-green-d);
    margin: 10px 0;
}

.law_services .section_half_content article h2 {
    font-size: 1.8em;
    color: var(--color-green-d);
    text-align: left;
    width: 100%;
    margin: 20px 0;
}

.law_services .section_half_content article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: left;
    color: var(--color-green-d);
    margin: 10px 0;
}

.law_services .section_half_content article ul li {
    margin: 5px 0;
    font-style: italic;
}

.law_services .section_half_content article .transparency_money_cta {
    width: 100%;
    text-align: left;
    margin-top: 30px;
}

.law_services .section_half_pic {
    flex-basis: 40%;
    background: url("../images/lawyer.webp") no-repeat center;
    background-size: cover;
}

.social_services .section_half_content {
    padding: 40px 7%;
    background: var(--color-green-l);
    flex-basis: 60%;
}

.social_services .section_half_content article h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: right;
    width: 100%;
    margin-bottom: 30px;
}

.social_services .section_half_content article p {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--color-green-d);
    margin: 10px 0;
}

.social_services .section_half_content article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: right;
    color: var(--color-green-d);
    margin: 10px 0;
}

.social_services .section_half_content article ul li {
    margin: 5px 0;
    font-style: italic;
}

.social_services .section_half_content article .social_services_cta {
    width: 100%;
    text-align: right;
    margin-top: 30px;
}

.social_services .section_half_pic {
    flex-basis: 40%;
    background: url("../images/social_support.webp") no-repeat center;
    background-size: cover;
}

.drugs_services {
    padding: 40px 0;
    background: var(--default-bg);
    width: 100%;
}

.drugs_services article {
    width: 100%;
}

.drugs_services article h1 {
    font-size: 3.5em;
    color: var(--color-green-d);
    text-align: center;
    width: 100%;
    margin-bottom: 30px;
}

.drugs_services article p {
    font-size: 1.2em;
    margin: 15px 0;
    text-align: center;
    color: var(--color-green-d);
}

.drugs_services article ul {
    width: 100%;
    flex-basis: 100%;
    text-align: center;
    color: var(--color-green-d);
    margin: 10px 0;
}

.drugs_services article ul li {
    margin: 5px 0;
    font-style: italic;
}

.drugs_services article .drugs_services_cta {
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

/* SIGNUP */
.signup_instructions {
    padding: 40px 0;
    background: var(--color-green-l);
}

.signup_instructions .enroll_steps_box {
    margin: 30px 0;
}

.signup_instructions .enroll_steps_box .enroll_step {
    padding: 40px;
    background: var(--color-green-ll);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.signup_instructions .enroll_steps_box .enroll_step .step_number {
    display: block;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    font-size: 3.5em;
    border-radius: 50%;
    color: var(--color-green-d);
    border: 2px solid var(--color-green-d);
}

.signup_instructions .enroll_steps_box .enroll_step h2 {
    flex-basis: 100%;
    text-align: center;
    color: var(--color-green-d);
    text-transform: uppercase;
    font-size: 1.2em;
    margin: 10px 0;
}

.signup_instructions .enroll_steps_box .enroll_step p {
    width: 100%;
    flex-basis: 100%;
    text-align: center;
    color: var(--color-green-d);
}

.signup_form {
    padding: 40px 0;
}

.signup_form form {
    width: 100%;
    justify-content: center;
    padding: 0 15px;
}

.signup_form form label {
    flex-basis: 100%;
    margin-bottom: 20px;
}

.signup_form form label.mid {
    justify-content: space-between;
}

.signup_form form label.mid input {
    flex-basis: calc(50% - 10px);
}

.signup_form form label input, .signup_form form label textarea {
    width: 100%;
    border: none;
    padding: 20px;
    max-width: 100%;
    font-size: 16px;
    border-radius: 5px;
    background: #f2f2f2;
    color: var(--color-green-d);
}

.signup_form form label select {
    width: 100%;
    border: none;
    padding: 20px;
    max-width: 100%;
    font-size: 16px;
    border-radius: 5px;
    background: #f2f2f2;
    color: var(--color-green-d);
    -webkit-appearance: none;
    line-height: 20px;
}

.signup_form form label .field {
    width: 100%;
    display: inline-block;
    font-size: 16px;
    color: var(--color-green-d);
    margin-bottom: 10px;
}

.signup_form form label.radio_label {
    font-size: 16px;
    color: var(--color-green-d);
}

.signup_form form label.radio_label a {
    text-decoration: none;
    color: var(--color-green);
    transition: all var(--hover-duration);
    font-weight: var(--weight-strong);
}

.signup_form form label.radio_label a:hover {
    color: var(--color-green-d);
}

.signup_form form label.radio_label input {
    width: auto;
}

.signup_form form label.radio_label input:last-child {
    margin-left: 20px;
}

.signup_form form button {
    font-size: 16px;
    padding: 20px 60px;
    border: none;
    cursor: pointer;
}

/* SIGN IN */
.login_form {
    background: var(--default-bg);
    padding: 40px 0 100px;
}

.login_form .signin_form {
    flex-basis: 50%;
    padding: 40px;
    background: var(--white);
    border-radius: 15px 0 0 15px;
    justify-content: center;
    align-items: center;
}

.login_form .signin_form label {
    flex-basis: 100%;
    margin-bottom: 20px;
}

.login_form .signin_form label input {
    width: 100%;
    border: none;
    padding: 20px;
    max-width: 100%;
    font-size: 16px;
    border-radius: 5px;
    background: #f2f2f2;
    color: var(--color-green-d);
}

.login_form .signin_form label .forget_link {
    margin-bottom: 10px;
    text-align: right;
}

.login_form .signin_form label .forget_link a {
    text-decoration: none;
    color: var(--color-green);
    font-weight: var(--weight-strong);
}

.login_form .signin_form label .forget_link a:hover {
    color: var(--color-green-d);
}

.login_form .signin_form button {
    font-size: 16px;
    padding: 20px 60px;
    border: none;
    cursor: pointer;
}

.login_form .signup_cta_box {
    flex-basis: 50%;
    padding: 40px;
    background: var(--color-green-d);
    border-radius: 0 15px 15px 0;
    text-align: center;
}

.login_form .signup_cta_box h1 {
    font-size: 2em;
    color: var(--white);
    width: 100%;
}

.login_form .signup_cta_box p {
    width: 100%;
    color: var(--white);
    font-size: 1em;
    margin: 10px 0;
}

.login_form .signup_cta_box h2 {
    font-size: 1.2em;
    color: var(--white);
    width: 100%;
    margin: 15px 0;
}

.login_form .signup_cta_box ul {
    margin-bottom: 20px;
    color: var(--white);
    font-size: 1em;
}

.login_form .signup_cta_box ul li {
    font-style: italic;
}

/* GALLERY */
.last_events {
    padding: 40px 0;
    background: var(--color-green-l);
}

.last_events .container {
    justify-content: space-between;
}

.last_events h1 {
    font-size: 3em;
    color: var(--color-green-d);
    text-align: center;
    width: 100%;
    margin-bottom: 10px;
}

.last_events h2 {
    font-size: 2em;
    color: var(--color-green-d);
    font-weight: var(--weight-normal);
    text-align: center;
    width: 100%;
    margin-bottom: 60px;
}

.last_events article {
    border-radius: 15px;
    background: var(--color-green-ll);
    flex-basis: calc(100% / 3 - 10px);
    margin-bottom: 15px;
}

.last_events article header {
    margin-bottom: 20px;
}

.last_events article header .event_image_box {
    position: relative;
    width: 100%;
}

.last_events article header .event_image_box img {
    width: 100%;
    border-radius: 15px 15px 0 0;
    margin-bottom: 10px;
}

.last_events article header .event_image_box .post_meta {
    position: absolute;
    justify-content: space-between;
    width: 100%;
    background: rgba(11, 40, 45, 0.7);
    padding: 10px;
    bottom: 0;
}

.last_events article header .event_image_box .post_meta .post_author {
    font-size: 0.7em;
    flex-basis: 50%;
    text-align: left;
    text-transform: uppercase;
    color: var(--white);
}

.last_events article header .event_image_box .post_meta .post_date {
    font-size: 0.7em;
    flex-basis: 50%;
    text-align: right;
    text-transform: uppercase;
    color: var(--white);
}

.last_events article header h2 {
    font-size: 1.2em;
    text-align: center;
    margin-bottom: 5px;
    color: var(--color-green-d);
    font-weight: var(--weight-strong);
    width: 100%;
    padding: 0 10px;
}

.last_events article .event_card_content {
    padding: 0 10px;
}

.last_events article p {
    width: 100%;
    text-align: justify;
    margin-bottom: 10px;
}

.last_events article .event_card_link {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    background: var(--color-green);
    color: #f2f2f2;
    font-weight: var(--weight-strong);
    display: block;
    margin-top: 20px;
    font-size: 1.2em;
    padding: 20px 10px;
    border-radius: 0 0 15px 15px;
}

.last_events article .event_card_link:hover {
    background: var(--color-green-d);
}


.random_gallery {
    padding: 40px 0;
    background: var(--color-green-d);
}

.random_gallery .container {
    justify-content: space-between;
}

.random_gallery h1 {
    font-size: 3em;
    color: var(--white);
    text-align: center;
    width: 100%;
    margin-bottom: 10px;
}

.random_gallery h2 {
    font-size: 2em;
    color: var(--white);
    font-weight: var(--weight-normal);
    text-align: center;
    width: 100%;
    margin-bottom: 60px;
}

.random_gallery article {
    background: var(--color-green-ll);
    flex-basis: calc(100% / 5);
}

.random_gallery article header .event_image_box {
    position: relative;
    width: 100%;
}

.random_gallery article header .event_image_box img {
    width: 100%;
}

.random_gallery article header .event_image_box .post_meta {
    position: absolute;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: rgba(11, 40, 45, 0.6);
    padding: 10px;
    bottom: 0;
    transition: all var(--hover-duration);
    opacity: 0;
}

.random_gallery article header .event_image_box .post_meta:hover {
    opacity: 1.0;
}

.random_gallery article header .event_image_box .post_meta a {
    padding: 7px 15px;
    text-decoration: none;
    background: var(--color-green-d);
    color: var(--white);
    border-radius: 5px;
}

.random_gallery article header .event_image_box .post_meta a:hover {
    background: var(--color-green-m);
}

/* EVENT */
.event_gallery {
    padding: 40px 0;
    background: var(--white);
}

.event_gallery .container {
    justify-content: space-between;
}

.event_gallery article {
    background: var(--color-green-ll);
    flex-basis: calc(100% / 5 - 10px);
    margin-bottom: 10px;
    border-radius: 15px;
}

.event_gallery article header .event_image_box {
    position: relative;
    width: 100%;
    border-radius: 15px;
}

.event_gallery article header .event_image_box img {
    width: 100%;
    border-radius: 15px;
}

.event_gallery article header .event_image_box .post_meta {
    position: absolute;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: rgba(11, 40, 45, 0.6);
    padding: 10px;
    bottom: 0;
    transition: all var(--hover-duration);
    opacity: 0;
    border-radius: 15px;
}

.event_gallery article header .event_image_box .post_meta:hover {
    opacity: 1.0;
}

.event_gallery article header .event_image_box .post_meta a {
    padding: 7px 15px;
    text-decoration: none;
    background: var(--color-green-d);
    color: var(--white);
    border-radius: 5px;
}

.event_gallery article header .event_image_box .post_meta a:hover {
    background: var(--color-green-m);
}

/* RESPONSIVE */
/* 1024px */
@media screen and (max-width: 64em) {
    .home_welcome .welcome_text h1 {
        font-size: 3.8em;
    }

    .about_cover {
        width: 100%;
        height: 50vh;
        background: url("../images/founder.webp") no-repeat center bottom;
    }

    .notices_box .notices_table ul li a {
        margin: 5px 0;
    }
}

/* 915px */
@media screen and (max-width: 57.1875em) {
    .home_welcome .welcome_text h1 {
        font-size: 3.2em;
    }

    .home_features .container {
        justify-content: space-between;
    }

    .home_features .home_feature_item {
        flex-basis: calc(100% / 3 - 10px);
        width: calc(100% / 3 - 10px);
        margin: 10px 0;
    }

    .home_statistics .statistic_numbers .statistic_info h1 {
        font-size: 2.5em;
    }

    .home_enroll .enroll_steps_box {
        justify-content: space-between;
    }

    .home_enroll .enroll_steps_box .enroll_step {
        flex-basis: calc(100% / 2 - 10px);
        margin: 10px 0;
    }

    .transparency_specs .specs_cards {
        justify-content: space-between;
    }

    .transparency_specs article.flex-2 {
        flex-basis: calc(100% / 2 - 10px);
        margin: 10px 0;
    }

    .transparency_specs article.flex-3 {
        flex-basis: calc(100% / 3 - 10px);
        margin: 0;
    }
}

/* 800px */
@media screen and (max-width: 50em) {
    header.main_header .menu_container .main_menu .mobile_open {
        display: inline-block;
    }

    header.main_header .menu_container .main_menu a {
        display: none;
    }

    .home_welcome .welcome_text h1 {
        font-size: 2.8em;
    }

    .home_statistics .statistic_numbers .statistic_info h1 {
        font-size: 2.2em;
    }

    .home_medicana_science .section_half_content {
        flex-basis: 100%;
    }

    .home_medicana_science .section_half_pic {
        display: none;
    }

    .home_testimonials .testimonials_slider:before {
        width: 100px;
        height: 100px;
        top: 16%;
    }

    .medical_services .section_half_content {
        flex-basis: 100%;
    }

    .medical_services .section_half_pic {
        display: none;
    }

    .blog_list .blog_filters {
        display: none;
    }

    .blog_list .posts {
        flex-basis: 100%;
    }

    footer .main_footer .container {
        justify-content: space-between;
    }

    footer .main_footer .footer_logo {
        flex-basis: 100%;
        margin: 20px 0 0;
        order: 3;
    }

    footer .main_footer .footer_logo img {
        width: 60%;
        margin: 20px auto;
    }

    footer .main_footer .footer_menu {
        flex-basis: calc(50% - 10px);
        margin: 0;
    }

    footer .main_footer .footer_partners {
        flex-basis: calc(50% - 10px);
        margin: 0;
    }

    footer .copyright_footer article p {
        font-size: 0.8em;
    }
}

/* 480px */
@media screen and (max-width: 30em) {
    .page_header {
        padding: 120px 0 80px;
    }

    .page_header h1 {
        font-size: 3em;
    }

    .page_header h2 {
        font-size: 1.7em;
    }

    .home_welcome .welcome_text {
        flex-basis: 100%;
        margin: 0;
        order: 2;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .home_welcome .welcome_text h1 {
        font-size: 3.4em;
        width: 100%;
    }

    .home_welcome .welcome_img {
        flex-basis: 100%;
        margin: 0;
    }

    .home_features .home_feature_item {
        flex-basis: 100%;
        width: 100%;
        margin: 10px 0;
    }

    .home_statistics {
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
        background-attachment: initial;
    }

    .home_statistics .statistic_image_box {
        flex-basis: 100%;
        margin: 0;
    }

    .home_statistics .statistic_numbers {
        flex-basis: 100%;
        margin: 0;
    }

    .home_statistics .statistic_numbers h1 {
        text-align: center;
    }

    .home_enroll .enroll_steps_box .enroll_step {
        flex-basis: 100%;
        margin: 10px 0;
    }

    .home_medicana_science .section_half_content article h1 {
        font-size: 2em;
    }

    .home_testimonials .testimonials_slider:before {
        width: 80px;
        height: 80px;
        top: 18%;
    }

    .home_gallery .gallery {
        justify-content: space-between;
    }

    .home_gallery .gallery article {
        flex-basis: calc(100% / 2 - 10px);
        margin: 10px 0;
    }

    .home_blog .home_blog_posts article {
        flex-basis: 100%;
        margin: 10px 0;
    }

    .home_newsletter {
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
        background-attachment: initial;
    }

    .home_newsletter .home_newsletter_box {
        flex-basis: 100%;
    }

    .about_cover {
        height: 80vh;
    }

    .about_country .country_txt,
    .about_country .country_pic {
        flex-basis: 100%;
        margin: 0;
        justify-content: center;
        display: flex;
        flex-wrap: wrap;
    }

    .about_country .country_txt h1,
    .about_country .country_txt p {
        text-align: center;
    }

    .about_dna .section_half_content,
    .about_santa .section_half_content {
        flex-basis: 100%;
    }

    .about_dna .section_half_pic,
    .about_santa .section_half_pic {
        display: none;
    }

    .medical_services .section_half_content article h1,
    .law_services .section_half_content article h1,
    .social_services .section_half_content article h1 {
        font-size: 2.9em;
    }

    .law_services .section_half_content,
    .social_services .section_half_content {
        flex-basis: 100%;
    }

    .law_services .section_half_pic,
    .social_services .section_half_pic {
        display: none;
    }

    .drugs_services article h1 {
        font-size: 3em;
    }

    .contact_form_box form label.mid input {
        flex-basis: 100%;
        margin-bottom: 20px;
    }

    .contact_form_box form label.mid input:last-child {
        margin-bottom: 0;
    }

    .contact_options article {
        flex-basis: 100% !important;
        margin: 10px 0 !important;
    }

    .login_form .signin_form {
        flex-basis: 100%;
        border-radius: 15px 15px 0 0;
    }

    .login_form .signup_cta_box {
        flex-basis: 100%;
        border-radius: 0 0 15px 15px;
    }

    .signup_instructions .enroll_steps_box .enroll_step {
        flex-basis: 100%;
        margin: 10px 0;
    }

    .signup_form form label.mid input {
        flex-basis: 100%;
        margin-bottom: 20px;
    }

    .signup_form form label.mid input:last-child {
        margin-bottom: 0;
    }

    .transparency_specs article {
        flex-basis: 100% !important;
        margin: 10px 0 !important;
    }

    .transparency_docs .section_half_content,
    .transparency_money .section_half_content {
        flex-basis: 100%;
    }

    .transparency_docs .section_half_pic,
    .transparency_money .section_half_pic {
        display: none;
    }

    .transparency_docs .section_half_content h1,
    .transparency_money .section_half_content h1 {
        font-size: 2.8em !important;
    }

    .transparency_partners h1 {
        font-size: 2.8em !important;
    }

    .researches_studies .section_half_content,
    .researches_partners .section_half_content {
        flex-basis: 100%;
    }

    .researches_studies .section_half_content h1,
    .researches_partners .section_half_content h1 {
        font-size: 2.8em !important;
    }

    .researches_studies .section_half_pic,
    .researches_partners .section_half_pic {
        display: none;
    }

    .faq_page .faq-container .faq-item {
        flex-basis: 100%;
    }

    .last_events h2,
    .random_gallery h2 {
        font-size: 1.8em;
    }

    .last_events article {
        flex-basis: 100%;
    }

    .random_gallery article {
        flex-basis: calc(100% / 3);
    }

    .event_gallery article {
        flex-basis: calc(100% / 3 - 10px);
    }

    .posts article {
        flex-basis: 100%;
    }

    .post_header img {
        height: 60vh;
    }

    .post_header .post_header_content h1 {
        font-size: 1.5em;
    }

    .post_header .post_header_content h2 {
        font-size: 1em;
    }

    .post_box .related_posts .posts article {
        flex-basis: 100%;
    }

    .notices_presentation article .notices_cards .notice_card {
        flex-basis: 100% !important;
        margin: 10px 0 !important;
    }

    .notices_box h2 {
        font-size: 1.8em;
    }

    .notices_box .notices_table {
        overflow: scroll;
    }

    .notices_box .notices_table ul {
        min-width: 800px;
    }

    footer .main_footer .footer_menu {
        flex-basis: 100%;
        margin: 0;
        order: 2;
    }

    footer .main_footer .footer_partners {
        flex-basis: 100%;
        margin: 0;
    }

    footer .copyright_footer article {
        width: 100%;
        flex-basis: 100%;
    }

    footer .copyright_footer article p {
        font-size: 0.6em;
        text-align: center;
        width: 100%;
    }
}

/* 394px */
@media screen and (max-width: 24.625em) {
    .home_welcome .welcome_text h1 {
        font-size: 3.1em;
    }

    .home_newsletter .home_newsletter_box .newsletter_form form label {
        flex-basis: 100%;
        margin-bottom: 10px;
    }
}

/* 360px */
@media screen and (max-width: 22.5em) {
    .page_header h1 {
        font-size: 2.9em;
    }

    .home_welcome .welcome_text h1 {
        font-size: 3em;
    }

    .home_testimonials h1 {
        font-size: 2.8em;
    }

    .medical_services .section_half_content article h1,
    .law_services .section_half_content article h1,
    .social_services .section_half_content article h1,
    .drugs_services article h1 {
        font-size: 2.7em;
    }
}

/* iOS */
@supports (-webkit-touch-callout: none) {
    input[type=checkbox] {
        -webkit-transform: scale(0.5, 0.5);
    }
}