@charset "UTF-8";
/*!
Theme Name: escolacidadania
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: escolacidadania
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

escolacidadania is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*Fontes*/
/*Nav*/
/*Banner*/
/*Grid Masonry*/
:root {
  --container: 1440px;
  --container-padding:24px;
  --main-button-background-color: #FEDF6B;
  --main-button-text-color: #003366;
  --main-button-background-color-hover: #003366;
  --main-button-text-color-hover: #ffffff;
  --secondary-button-background-color: #003366;
  --secondary-button-text-color: #ffffff;
  --secondary-button-background-color-hover: #FEDF6B;
  --secondary-button-text-color-hover: #003366;
  --footer-background-color: #0C0C0C;
  --blue-color-rgb: 0, 51, 102;
  --yellow-color: #FEDF6B;
  --blue-color: #003366;
  --white-color: #ffffff;
  --black-color: #000000;
  --gray-color: #646464;
  --gray-medium-color: #F6F6F6;
  --light-gray-color: #F9f9f9;
  --banner-v1-background:#f8f9fa;
  --main-titles-color: #003366;
  --topbar-background-color: #FEDF6B;
  --main-titles-color: #003366; }

.container-fcl {
  position: relative;
  max-width: calc(var(--container) + (2 * var(--container-padding)));
  margin: 0 auto;
  padding-inline: var(--container-padding);
  width: 100%; }

body a {
  text-decoration: none; }

.otgs-development-site-front-end {
  display: none; }

nav {
  float: none !important; }

.no-bg {
  background-color: transparent !important; }

.no-margin-top {
  margin-top: 0 !important; }

.margin-auto {
  margin: 0 auto; }

.margin-top-100 {
  margin-top: 100px; }
  @media (max-width: 768px) {
    .margin-top-100 {
      margin-top: 40px; } }

/* Section Headers */
.section-header {
  text-align: center;
  margin-bottom: 60px; }
  .section-header .elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
    font-weight: 600; }
    .section-header .elegant-subtitle .line {
      width: 40px;
      height: 2px;
      background: var(--yellow-color); }
    .section-header .elegant-subtitle .text {
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: var(--blue-color); }
  .section-header .section-title {
    font-family: "Playfair Display", serif;
    font-size: 42px;
    color: var(--blue-color);
    line-height: 1.2;
    margin-bottom: 20px;
    font-weight: 700; }
  .section-header .section-description {
    font-size: 18px;
    line-height: 1.8;
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto; }
  .section-header .section-title {
    font-family: "Playfair Display", serif;
    font-size: 42px;
    color: var(--blue-color);
    line-height: 1.2;
    margin-bottom: 20px; }
    @media (max-width: 768px) {
      .section-header .section-title {
        font-size: 28px; } }
  .section-header .section-description {
    font-size: 18px;
    line-height: 1.8;
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .section-header .section-description {
        font-size: 16px; } }

.topbar {
  background-color: var(--topbar-background-color);
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5; }
  .topbar .inner-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: 13px; }
    @media (max-width: 1024px) {
      .topbar .inner-container {
        gap: 50px; } }
    .topbar .inner-container .text {
      color: var(--main-titles-color);
      font-weight: 700;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 1px; }
      @media (max-width: 1024px) {
        .topbar .inner-container .text {
          line-height: 14px;
          max-width: 160px; } }
    .topbar .inner-container .button {
      background-color: var(--secondary-button-background-color);
      border: 1px solid var(--secondary-button-background-color);
      color: var(--secondary-button-text-color);
      padding: 0px  18px;
      text-transform: uppercase;
      font-size: 10px;
      border-radius: 5px;
      transition: all 0.3s ease; }
      .topbar .inner-container .button:hover {
        background-color: var(--secondary-button-background-color-hover);
        color: var(--secondary-button-text-color-hover); }

.header-fcl {
  margin-top: 55px; }
  .header-fcl .logo-container img {
    height: auto; }
    @media (max-width: 1200px) {
      .header-fcl .logo-container img {
        width: 200px; } }
  .header-fcl .main-menu-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: 16px; }

.menu-container {
  display: flex;
  align-items: center;
  gap: 10px; }
  .menu-container img {
    width: 20px;
    height: 20px; }

.mega-menu-horizontal li a {
  margin: 10px !important;
  letter-spacing: 2px; }
  .mega-menu-horizontal li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    bottom: 6px;
    width: 100%;
    height: 2px;
    background: var(--yellow-color);
    display: flex !important;
    opacity: 0;
    transition: all 0.3s ease; }
  .mega-menu-horizontal li a:hover::after {
    opacity: 1; }
.mega-menu-horizontal li.mega-current-menu-item a::after {
  opacity: 1; }

.btn-default {
  display: inline-block;
  width: 203px;
  height: 55px;
  background-color: var(--main-button-background-color);
  color: var(--main-button-text-color);
  text-transform: uppercase;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
  text-decoration: none;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center; }
  .btn-default:hover {
    background-color: var(--main-button-background-color-hover);
    color: var(--main-button-text-color-hover);
    text-decoration: none; }
  .btn-default:focus, .btn-default:active {
    outline: none;
    background-color: var(--main-button-background-color-hover);
    color: var(--main-button-text-color-hover); }

.btn-blue {
  display: inline-block;
  width: 203px;
  height: 55px;
  background-color: var(--secondary-button-background-color);
  color: var(--secondary-button-text-color);
  text-transform: uppercase;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center; }
  .btn-blue:hover {
    background-color: var(--secondary-button-background-color-hover);
    color: var(--secondary-button-text-color-hover);
    text-decoration: none; }
  .btn-blue:focus, .btn-blue:active {
    outline: none;
    background-color: var(--secondary-button-background-color-hover);
    color: var(--secondary-button-text-color-hover); }

.btn-blue-border-hover {
  display: inline-block;
  width: 203px;
  height: 55px;
  background-color: var(--secondary-button-background-color);
  color: var(--secondary-button-text-color);
  text-transform: uppercase;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center; }
  .btn-blue-border-hover:hover {
    background-color: var(--secondary-button-background-color-hover);
    color: var(--secondary-button-text-color-hover);
    text-decoration: none; }
  .btn-blue-border-hover:focus, .btn-blue-border-hover:active {
    outline: none;
    background-color: var(--secondary-button-background-color-hover);
    color: var(--secondary-button-text-color-hover); }
  .btn-blue-border-hover:hover {
    background-color: transparent;
    color: var(--secondary-button-background-color);
    border: 1px solid var(--secondary-button-background-color);
    text-decoration: none; }
  .btn-blue-border-hover:focus, .btn-blue-border-hover:active {
    outline: none;
    background-color: transparent;
    color: var(--secondary-button-background-color);
    border: 1px solid var(--secondary-button-background-color); }

.btn-blue.border-hover:hover {
  background-color: transparent;
  color: var(--secondary-button-background-color);
  border: 1px solid var(--secondary-button-background-color);
  text-decoration: none; }
.btn-blue.border-hover:focus, .btn-blue.border-hover:active {
  outline: none;
  background-color: transparent;
  color: var(--secondary-button-background-color);
  border: 1px solid var(--secondary-button-background-color); }

.footer-fcl {
  background-color: var(--footer-background-color);
  padding: 60px 0 30px;
  height: auto; }
  @media (max-width: 768px) {
    .footer-fcl {
      text-align: center; } }
  .footer-fcl .footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 130px;
    margin-bottom: 40px; }
    @media (max-width: 1200px) {
      .footer-fcl .footer-grid {
        gap: 60px; } }
    @media (max-width: 1024px) {
      .footer-fcl .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px; } }
    @media (max-width: 768px) {
      .footer-fcl .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px; } }
  .footer-fcl .footer-column {
    display: flex;
    flex-direction: column; }
  .footer-fcl .footer-title {
    font-size: 18px;
    font-weight: 400;
    font-family: "Playfair Display", serif;
    color: var(--white-color);
    margin-bottom: 20px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 3px;
    text-transform: uppercase; }
    @media (max-width: 768px) {
      .footer-fcl .footer-title {
        justify-content: center; } }
    .footer-fcl .footer-title .title-line {
      display: block;
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color);
      order: -1; }
  .footer-fcl .footer-about .about-content .about-image {
    margin-bottom: 15px; }
    .footer-fcl .footer-about .about-content .about-image img {
      max-width: 100%;
      height: auto;
      border-radius: 8px; }
  .footer-fcl .footer-about .about-content .about-text {
    font-size: 14px;
    line-height: 26px;
    color: white;
    margin: 0; }
  .footer-fcl .footer-address .address-content .address-text {
    font-size: 14px;
    line-height: 28px;
    color: white;
    margin-bottom: 15px; }
    .footer-fcl .footer-address .address-content .address-text p {
      margin-bottom: 8px;
      margin-top: 0; }
      .footer-fcl .footer-address .address-content .address-text p:last-child {
        margin-bottom: 0; }
  .footer-fcl .footer-address .address-content .contact-button {
    display: inline-block;
    padding: 2px 16px;
    background-color: var(--yellow-color);
    color: var(--blue-color);
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    transition: all 0.3s ease; }
    .footer-fcl .footer-address .address-content .contact-button:hover {
      background-color: var(--blue-color);
      color: var(--yellow-color);
      text-decoration: none; }
  .footer-fcl .footer-menu .menu-content .footer-nav {
    float: none; }
    .footer-fcl .footer-menu .menu-content .footer-nav .footer-menu-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 17px; }
      .footer-fcl .footer-menu .menu-content .footer-nav .footer-menu-list li a {
        color: var(--white-color);
        text-decoration: none;
        font-size: 14px;
        line-height: 1.5;
        transition: color 0.3s ease; }
        .footer-fcl .footer-menu .menu-content .footer-nav .footer-menu-list li a:hover {
          color: var(--yellow-color);
          text-decoration: none; }
  @media (max-width: 768px) {
    .footer-fcl .footer-social {
      align-items: center; } }
  .footer-fcl .footer-social .social-content .social-networks {
    display: flex;
    flex-direction: column;
    gap: 20px; }
    .footer-fcl .footer-social .social-content .social-networks .social-link {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--white-color);
      text-decoration: none;
      font-size: 14px;
      transition: color 0.3s ease; }
      .footer-fcl .footer-social .social-content .social-networks .social-link:hover {
        color: var(--yellow-color);
        text-decoration: none; }
        .footer-fcl .footer-social .social-content .social-networks .social-link:hover i {
          color: var(--yellow-color);
          text-decoration: none; }
        .footer-fcl .footer-social .social-content .social-networks .social-link:hover .social-label {
          color: var(--yellow-color);
          text-decoration: none; }
      .footer-fcl .footer-social .social-content .social-networks .social-link i {
        font-size: 16px;
        width: 20px;
        text-align: center;
        color: var(--white-color);
        transition: color 0.3s ease; }
      .footer-fcl .footer-social .social-content .social-networks .social-link .social-label {
        font-size: 14px;
        color: var(--white-color);
        transition: color 0.3s ease; }
  .footer-fcl .scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: var(--blue-color);
    color: var(--white-color);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: all 0.3s ease; }
    .footer-fcl .scroll-to-top:hover {
      background-color: var(--yellow-color);
      transform: translateY(-2px); }
    .footer-fcl .scroll-to-top.show {
      display: flex; }
    .footer-fcl .scroll-to-top i {
      font-size: 18px; }
    @media (max-width: 768px) {
      .footer-fcl .scroll-to-top {
        width: 45px;
        height: 45px;
        bottom: 20px;
        right: 20px; }
        .footer-fcl .scroll-to-top i {
          font-size: 16px; } }
  .footer-fcl .certifications-container .certifications-content {
    display: flex;
    align-items: center;
    gap: 15px; }
    @media (max-width: 768px) {
      .footer-fcl .certifications-container .certifications-content {
        justify-content: center;
        flex-wrap: wrap; } }
    .footer-fcl .certifications-container .certifications-content .certification-item img {
      max-width: 100%;
      height: auto; }
  .footer-fcl .bottom-footer-container {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 20px;
    margin-top: 20px; }
    .footer-fcl .bottom-footer-container .bottom-footer-content {
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: var(--white-color);
      font-size: 14px;
      line-height: 28px; }
      @media (max-width: 1200px) {
        .footer-fcl .bottom-footer-container .bottom-footer-content {
          flex-direction: column;
          gap: 10px; } }
      .footer-fcl .bottom-footer-container .bottom-footer-content .bottom-footer-text {
        margin: 0; }
      .footer-fcl .bottom-footer-container .bottom-footer-content .institutional-menu .footer-nav ul {
        display: flex;
        gap: 15px;
        list-style: none;
        padding: 0;
        margin: 0; }
        @media (max-width: 1200px) {
          .footer-fcl .bottom-footer-container .bottom-footer-content .institutional-menu .footer-nav ul {
            flex-direction: column; } }
      .footer-fcl .bottom-footer-container .bottom-footer-content .institutional-menu .footer-nav a {
        color: var(--white-color);
        text-decoration: none;
        font-size: 14px;
        line-height: 28px;
        transition: color 0.3s ease; }
        .footer-fcl .bottom-footer-container .bottom-footer-content .institutional-menu .footer-nav a:hover {
          color: var(--yellow-color); }

body {
  font-family: "Montserrat", sans-serif !important;
  margin: 0; }

main {
  width: 100%; }

a {
  cursor: pointer;
  color: #14ac9e; }

body ul {
  margin: 16px 0px;
  padding: 0px; }

body p {
  margin-block: 16px; }

#scrollToTopBtn,
#scrollToTopBtnMobile {
  width: 50px;
  height: 50px;
  border-radius: 50px;
  border: 0;
  background-color: #1c1c1c;
  position: relative;
  right: 26px;
  cursor: pointer;
  outline: none; }
  #scrollToTopBtn i,
  #scrollToTopBtnMobile i {
    color: white;
    font-size: 20px; }
  @media (max-width: 990px) {
    #scrollToTopBtn,
    #scrollToTopBtnMobile {
      position: absolute;
      right: 20px;
      top: 50px; } }

@media (max-width: 990px) {
  .desktop-only {
    display: none !important; } }

@media (max-width: 600px) {
  .semi-desktop-only {
    display: none !important; } }

.semi-mobile-only {
  display: none !important; }
  @media (max-width: 600px) {
    .semi-mobile-only {
      display: block !important; } }

.semi-inline-mobile-only {
  display: none !important; }
  @media (max-width: 600px) {
    .semi-inline-mobile-only {
      display: inline-flex !important; } }

.mobile-only {
  display: none !important; }
  @media (max-width: 990px) {
    .mobile-only {
      display: block !important; } }

@media (min-width: 1200px) {
  body .container {
    max-width: none !important;
    padding: 0 8%; } }

.special-color {
  color: #9b9b9b; }

.sub-menu-off {
  display: none; }

.img-fluid {
  max-width: 100%;
  height: auto; }

.fa-bars {
  display: none; }
  @media (max-width: 990px) {
    .fa-bars {
      display: block; } }

.banner .header-content-container {
  height: 100vh; }
  .banner .header-content-container .header-content {
    position: absolute;
    top: 54%;
    transform: translateY(-54%); }
    .banner .header-content-container .header-content .description {
      color: #508ec8;
      font-family: "Montserrat";
      font-weight: 700;
      padding: 5% 0 0 22%;
      line-height: 140%;
      font-size: 22px; }
      @media (max-width: 990px) {
        .banner .header-content-container .header-content .description {
          padding: 20px 0px 0px;
          font-size: 17px; } }

.dropdown-item:active {
  background-color: transparent; }
.dropdown-item:focus {
  outline: 0; }

button.navbar-toggler,
button.navbar-toggler span,
.navbar-toggler i {
  cursor: pointer; }
  button.navbar-toggler:active,
  button.navbar-toggler span:active,
  .navbar-toggler i:active {
    background-color: transparent; }
  button.navbar-toggler:focus,
  button.navbar-toggler span:focus,
  .navbar-toggler i:focus {
    outline: 0; }

.click-down-container {
  position: absolute;
  left: 50%;
  transform: translate3d(-50%, -90%, 0);
  top: 90%; }
  .click-down-container i {
    background-color: #869492;
    width: 35px;
    height: 35px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    margin: 0 auto;
    cursor: pointer; }

/*Grid Masonry*/
/* clear fix */
.grid:after {
  content: "";
  display: block;
  clear: both; }

/* ---- .grid-item ---- */
.home .grid-sizer,
.home .grid-item,
.page-template-template-front-page-ec .grid-sizer,
.page-template-template-front-page-ec .grid-item {
  width: 32.733%; }
  @media (max-width: 768px) {
    .home .grid-sizer,
    .home .grid-item,
    .page-template-template-front-page-ec .grid-sizer,
    .page-template-template-front-page-ec .grid-item {
      width: 100%; } }

.archive .grid-sizer,
.archive .grid-item,
.page-template-template-ciclos .grid-sizer,
.page-template-template-ciclos .grid-item {
  width: 45.733%; }
  @media (max-width: 768px) {
    .archive .grid-sizer,
    .archive .grid-item,
    .page-template-template-ciclos .grid-sizer,
    .page-template-template-ciclos .grid-item {
      width: 100%; } }
.archive .grid-inner-col,
.page-template-template-ciclos .grid-inner-col {
  padding-right: 28%; }
  @media (max-width: 768px) {
    .archive .grid-inner-col,
    .page-template-template-ciclos .grid-inner-col {
      padding-right: 15px; } }

.grid-item {
  float: left;
  margin-bottom: 10px;
  overflow: hidden; }

.grid-item img {
  display: block;
  max-width: 100%; }

.grid-item--height2 {
  height: 200px; }

.circle-title {
  width: 7px;
  height: 7px;
  border-radius: 7px;
  background-color: #000;
  margin-bottom: 10px; }

textarea:before {
  content: "•"; }

body .main-page-titles {
  color: #505050;
  font-family: "Montserrat";
  font-weight: 400;
  text-transform: uppercase;
  font-size: 24px;
  margin: 101px 0 46px; }
  @media (max-width: 990px) {
    body .main-page-titles {
      margin: 40px 0px;
      text-align: center; } }

.printfriendly {
  display: block !important;
  float: none !important; }

.dropdown-toggle::after {
  display: none !important; }

.wp-block-columns.container-fcl {
  margin-top: 80px; }
  @media (max-width: 1024px) {
    .wp-block-columns.container-fcl {
      margin-top: 40px; } }

.not-found--themed {
  position: relative;
  padding: 120px 0;
  text-align: center;
  background: radial-gradient(1200px 600px at 100% 0, rgba(20, 172, 158, 0.08), rgba(20, 172, 158, 0) 60%), radial-gradient(800px 400px at 0 100%, rgba(20, 172, 158, 0.06), rgba(20, 172, 158, 0) 60%), #f9fbfb; }
  .not-found--themed::before {
    content: "404";
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-family: "Montserrat";
    font-weight: 800;
    font-size: 220px;
    line-height: 1;
    color: rgba(0, 51, 102, 0.25);
    pointer-events: none;
    user-select: none;
    z-index: 0; }
    @media (max-width: 990px) {
      .not-found--themed::before {
        font-size: 160px; } }
    @media (max-width: 600px) {
      .not-found--themed::before {
        font-size: 120px; } }
  .not-found--themed .page-header,
  .not-found--themed .page-content {
    position: relative;
    z-index: 1; }
  .not-found--themed .page-title {
    margin: 0 0 10px;
    letter-spacing: 0.08em; }
  .not-found--themed .page-content {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 24px; }
    .not-found--themed .page-content p {
      color: #505050;
      font-size: 18px;
      line-height: 1.7;
      margin: 0 auto 22px; }
  .not-found--themed .not-found-actions {
    margin: 28px 0 10px; }
    .not-found--themed .not-found-actions .button {
      display: inline-block;
      padding: 12px 24px;
      border-radius: 999px;
      background-color: var(--blue-color);
      color: #fff;
      text-decoration: none;
      font-weight: 600;
      box-shadow: 0 8px 20px rgba(0, 51, 102, 0.25);
      transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease; }
      .not-found--themed .not-found-actions .button:hover {
        transform: translateY(-1px);
        box-shadow: 0 12px 28px rgba(0, 51, 102, 0.32);
        opacity: 0.95; }
      .not-found--themed .not-found-actions .button:focus {
        outline: 2px solid var(--blue-color);
        outline-offset: 2px; }
  .not-found--themed .not-found-search {
    margin-top: 16px; }
    .not-found--themed .not-found-search .search-form {
      display: flex;
      gap: 12px;
      justify-content: center;
      align-items: center;
      max-width: 720px;
      margin: 0 auto; }
      @media (max-width: 600px) {
        .not-found--themed .not-found-search .search-form {
          flex-direction: column;
          gap: 10px; } }
      .not-found--themed .not-found-search .search-form label {
        width: 100%; }
      .not-found--themed .not-found-search .search-form input[type="search"] {
        width: 100%;
        flex: 1 1 auto;
        min-width: 0;
        border: 2px solid var(--gray-color);
        border-radius: 999px;
        padding: 14px 18px;
        font-size: 16px;
        background: #fff;
        transition: box-shadow 0.2s ease, border-color 0.2s ease; }
        .not-found--themed .not-found-search .search-form input[type="search"]:focus {
          border-color: var(--blue-color);
          box-shadow: 0 0 0 4px rgba(0, 51, 102, 0.25);
          outline: none; }
      .not-found--themed .not-found-search .search-form input[type="submit"] {
        padding: 12px 20px;
        border-radius: 23px;
        background-color: var(--blue-color);
        color: #fff;
        border: 0;
        font-weight: 700;
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
        box-shadow: 0 8px 20px rgba(0, 51, 102, 0.25);
        max-width: 170px;
        width: 100%; }
        .not-found--themed .not-found-search .search-form input[type="submit"]:hover {
          transform: translateY(-1px);
          box-shadow: 0 12px 28px rgba(0, 51, 102, 0.32);
          opacity: 0.95; }
        .not-found--themed .not-found-search .search-form input[type="submit"]:focus {
          outline: 2px solid var(--blue-color);
          outline-offset: 2px; }

.gform_wrapper
li.gfield.gfield_error.gfield_contains_required
div.gfield_description {
  font-size: 10px;
  position: absolute;
  margin-top: 100px;
  margin-left: 31px;
  width: 200px; }

.gform_wrapper div.validation_error {
  font-size: 12px !important; }

.gform_wrapper li.gfield.gfield_error,
.gform_wrapper
li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
  border: 0 !important; }

.gform_wrapper div.validation_error {
  margin-top: 40px; }

.form-container ul label {
  display: none; }

.home-link {
  margin-right: 20px;
  color: black;
  font-size: 17px;
  position: relative;
  top: 5px; }

.dropdown-toggle {
  white-space: normal; }
  .dropdown-toggle:after {
    content: '';
    border: none; }

.carret-menu {
  width: 20px;
  height: 20px;
  margin-left: 20px; }
  .carret-menu:after {
    font-family: 'Font Awesome 5 free';
    font-weight: 900;
    content: "\f078";
    border: none; }

.navbar-collapse-button {
  display: none; }
  @media (max-width: 990px) {
    .navbar-collapse-button {
      display: block;
      float: right;
      top: 33px;
      position: relative; } }

nav {
  float: right; }
  @media (max-width: 990px) {
    nav {
      float: none; } }
  nav ul#menu-menu-principal li a {
    text-decoration: none;
    text-transform: uppercase;
    font-size: 13px;
    padding-left: 0px;
    margin-right: 13px;
    color: #656565; }
    @media (max-width: 1200px) {
      nav ul#menu-menu-principal li a {
        font-size: 12px; } }
    nav ul#menu-menu-principal li a .carret-menu {
      z-index: 1000;
      font-size: 12px;
      margin-left: 11px;
      display: inline-flex; }
      @media (max-width: 990px) {
        nav ul#menu-menu-principal li a .carret-menu {
          width: 100px; } }
    nav ul#menu-menu-principal li a:active {
      background-color: transparent; }
  nav ul#menu-menu-principal li ul {
    padding: 10px 0px 10px 20px; }
    nav ul#menu-menu-principal li ul li ul {
      left: 103%;
      margin-top: -53px; }
      @media (max-width: 990px) {
        nav ul#menu-menu-principal li ul li ul {
          left: auto;
          margin-top: initial; } }

.show-dropdown {
  opacity: 1 !important;
  transition: all 0.9s ease !important;
  visibility: visible !important; }

.dropdown-menu {
  min-width: 224px;
  opacity: 0;
  transition: all 0.9s ease;
  visibility: hidden;
  border: 0;
  top: 50px;
  box-shadow: 0 0 32px -5px rgba(163, 163, 163, 0.62);
  /*animation: 1s fadeOutMenu;
  animation-fill-mode: forwards;*/
  display: block !important; }
  @media (max-width: 990px) {
    .dropdown-menu {
      min-width: 0;
      top: 0;
      display: none !important; } }

.dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  top: 60px;
  transition: all 0.9s ease;
  visibility: visible;
  /* animation: 1s fadeInMenu;
   animation-fill-mode: forwards;*/ }
  @media (max-width: 990px) {
    .dropdown-menu.show {
      display: block !important; } }

/* ==========================================================================
   Animações
   ========================================================================== */
	/* Keyframes
       ========================================================================== */
@keyframes fadeInMenu {
  0% {
    opacity: 0; }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeOutMenu {
  0% {
    visibility: visible;
    opacity: 1; }
  /*50% {
      transform: translateY(10%);
      opacity: 0;
  }*/
  100% {
    transform: translateY(25%);
    opacity: 0; } }
@keyframes smoothScroll {
  0% {
    transform: translateY(-40px); }
  100% {
    transform: translateY(0px); } }
@keyframes smoothScrollUp {
  0% {
    transform: translateY(0px); }
  100% {
    transform: translateY(0px); } }
@keyframes scaleFadeIn {
  from {
    opacity: 0;
    transform: scale(1.3); }
  to {
    opacity: 1;
    transform: scale(1); } }
@keyframes scaleFadeOut {
  from {
    opacity: 1;
    transform: scale(1); }
  to {
    opacity: 0;
    transform: scale(1.4); } }
@keyframes scaleOut {
  from {
    transform: scale(1.4); }
  to {
    transform: scale(1); } }
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-35%); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(35%); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-15%); }
  to {
    opacity: 1;
    transform: translateX(0); } }
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(15%); }
  to {
    opacity: 1;
    transform: translateX(0); } }
@keyframes bannerImageScale {
  from  {
    transform: scale(1); }
  50% {
    transform: scale(1.2); }
  to  {
    transform: scale(1); } }
@keyframes bounceUp {
  40% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px); }
  60% {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px); }
  80% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
@keyframes bounceRight {
  40% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px); }
  60% {
    -webkit-transform: translateX(5px);
    -ms-transform: translateX(5px);
    transform: translateX(5px); }
  80% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
/* Classes
   ========================================================================== */
.wow {
  visibility: hidden; }
  .wow.animatedClass {
    animation-duration: 1.5s;
    animation-fill-mode: both; }
  .wow.banner-img-scale {
    animation-name: bannerImageScale; }
  .wow.scale-fade-in {
    animation-name: scaleFadeIn; }
  .wow.scale-fade-out {
    animation-name: scaleFadeOut; }
  .wow.fade-in {
    animation-name: fadeIn; }
  .wow.fade-out {
    animation-name: fadeOut; }
  .wow.fade-in-up {
    animation-name: fadeInUp; }
  .wow.fade-in-down {
    animation-name: fadeInDown; }
  .wow.fade-in-left {
    animation-name: fadeInLeft; }
  .wow.fade-in-right {
    animation-name: fadeInRight; }

.delay-02s {
  transition-delay: 0.2s; }

.delay-03s {
  transition-delay: 0.3s; }

.delay-05s {
  transition-delay: 0.5s; }

.delay-07s {
  transition-delay: 0.7s; }

.animation-time-1-5 {
  transition-delay: 1.5s; }

.header-absolute {
  position: fixed;
  z-index: 10;
  animation: smoothScroll 1s forwards;
  top: 0;
  width: 100%;
  border-bottom: 1px solid #e6e6e6;
  margin: 0 -8px;
  background-color: #ffffff;
  transition: all 0.5s ease;
  animation: smoothScrollUp 1s forwards; }
  .header-absolute .logo-topo-esquerdo {
    width: 217px;
    height: auto; }

.header-relative {
  position: relative;
  z-index: 9;
  width: 100%;
  border-bottom: 1px solid #e6e6e6;
  margin: 0 -8px;
  background-color: #ffffff;
  transition: all 0.5s ease;
  padding-bottom: 10px; }
  .header-relative .logo-topo-esquerdo {
    width: 217px;
    height: auto; }

:root {
  --main-button-background-color: #FEDF6B;
  --main-button-text-color: #003366;
  --main-button-background-color-hover: #003366;
  --main-button-text-color-hover: #ffffff;
  --secondary-button-background-color: #003366;
  --secondary-button-text-color: #ffffff;
  --secondary-button-background-color-hover: #FEDF6B;
  --secondary-button-text-color-hover: #003366;
  --main-titles-color: #003366;
  --topbar-background-color: #FEDF6B;
  --main-titles-color: #003366; }

.archive .archive-wrapper {
  background-color: #f5f5f5; }
.archive .ficha-col {
  margin-bottom: 8px;
  width: 219px;
  height: 219px;
  max-width: 219px;
  margin-bottom: 10px;
  min-width: 219px;
  padding: 0px 5px; }
  .archive .ficha-col .fichas-inner-container {
    width: 100%;
    height: 219px; }
    .archive .ficha-col .fichas-inner-container .fichas-title-container {
      color: white;
      font-family: "Montserrat Bold";
      padding: 30px 18px 0px 18px; }
      .archive .ficha-col .fichas-inner-container .fichas-title-container .circle-title {
        width: 7px;
        height: 7px;
        border-radius: 7px;
        background-color: white;
        margin-bottom: 10px; }
      .archive .ficha-col .fichas-inner-container .fichas-title-container .ficha-title-link {
        color: white;
        text-decoration: none; }
        .archive .ficha-col .fichas-inner-container .fichas-title-container .ficha-title-link h5 {
          margin: 0px;
          text-transform: lowercase;
          font-size: 18.72px; }
.archive .title-second-label {
  font-family: "Montserrat Bold"; }
.archive .archive-page-title {
  margin-top: 0px;
  font-family: "Montserrat Regular";
  padding-top: 128px; }
.archive .category-description {
  margin-bottom: 7px;
  color: #115575;
  font-family: "Montserrat SemiBold";
  margin-right: 33%;
  padding: 10px 10% 10px 0px;
  line-height: 167%; }
  @media (max-width: 990px) {
    .archive .category-description {
      padding: 40px 0px;
      margin-right: 0px; } }
.archive .category-name {
  position: absolute;
  color: white;
  padding: 15px 0px 0px 30px; }
.archive .imagem-categoria {
  width: 100%;
  transition: all 2.2s ease; }

.page {
  line-height: 170%; }

.privacy-policy table {
  border: 1px solid black;
  border-collapse: collapse;
  border-spacing: 0; }
  .privacy-policy table tr {
    border-bottom: 1px solid black; }
    .privacy-policy table tr td {
      border-right: 1px solid black; }

.blog, .archive, .single-post {
  /*Classes para a cor dos posts*/ }
  .blog .blog-col-left, .archive .blog-col-left, .single-post .blog-col-left {
    padding-right: 10%; }
    @media (max-width: 990px) {
      .blog .blog-col-left, .archive .blog-col-left, .single-post .blog-col-left {
        padding-right: 15px; } }
  .blog .page-header h1, .archive .page-header h1, .single-post .page-header h1 {
    font-weight: 400; }
  .blog .post-color-1, .archive .post-color-1, .single-post .post-color-1 {
    color: #0f5475; }
  .blog .post-color-2, .archive .post-color-2, .single-post .post-color-2 {
    color: #14ac9e; }
  .blog .post-color-3, .archive .post-color-3, .single-post .post-color-3 {
    color: #5b67b0; }
  .blog .post-color-4, .archive .post-color-4, .single-post .post-color-4 {
    color: #f8a842; }
  .blog .post-color-5, .archive .post-color-5, .single-post .post-color-5 {
    color: #678540; }
  .blog .post-color-6, .archive .post-color-6, .single-post .post-color-6 {
    color: #e44693; }
  .blog .post-background-color-1, .archive .post-background-color-1, .single-post .post-background-color-1 {
    background-color: #0f5475;
    color: #ffffff; }
  .blog .post-background-color-2, .archive .post-background-color-2, .single-post .post-background-color-2 {
    background-color: #14ac9e;
    color: #ffffff; }
  .blog .post-background-color-3, .archive .post-background-color-3, .single-post .post-background-color-3 {
    background-color: #5b67b0;
    color: #ffffff; }
  .blog .post-background-color-4, .archive .post-background-color-4, .single-post .post-background-color-4 {
    background-color: #f8a842;
    color: #ffffff; }
  .blog .post-background-color-5, .archive .post-background-color-5, .single-post .post-background-color-5 {
    background-color: #678540;
    color: #ffffff; }
  .blog .post-background-color-6, .archive .post-background-color-6, .single-post .post-background-color-6 {
    background-color: #e44693;
    color: #ffffff; }
  .blog .post-background-permalink, .archive .post-background-permalink, .single-post .post-background-permalink {
    display: block; }
    .blog .post-background-permalink img, .archive .post-background-permalink img, .single-post .post-background-permalink img {
      display: block;
      width: 100%;
      object-fit: cover;
      height: 300px; }
  .blog .post-title, .archive .post-title, .single-post .post-title {
    width: 100%; }
  .blog .date-container, .archive .date-container, .single-post .date-container {
    display: inline-block;
    padding: 10px 15px 10px 15px;
    margin: 0px;
    font-weight: 700;
    font-size: 24px; }
    @media (max-width: 990px) {
      .blog .date-container, .archive .date-container, .single-post .date-container {
        font-size: 20px; } }
    .blog .date-container a, .archive .date-container a, .single-post .date-container a {
      color: white;
      text-decoration: none; }
  .blog .blog-title, .archive .blog-title, .single-post .blog-title {
    margin-bottom: 14px;
    margin-top: 0px; }
    .blog .blog-title a, .archive .blog-title a, .single-post .blog-title a {
      text-decoration: none;
      font-size: 24px;
      padding: 10px 15px 10px 15px;
      display: inline-flex;
      text-transform: lowercase; }
      @media (max-width: 990px) {
        .blog .blog-title a, .archive .blog-title a, .single-post .blog-title a {
          font-size: 18px; } }
  .blog .entry-summary, .archive .entry-summary, .single-post .entry-summary {
    margin-bottom: 80px;
    font-size: 18px;
    line-height: 140%; }
    @media (max-width: 990px) {
      .blog .entry-summary, .archive .entry-summary, .single-post .entry-summary {
        font-size: 16px; } }
    .blog .entry-summary p, .archive .entry-summary p, .single-post .entry-summary p {
      font-weight: 500;
      margin-top: 0px;
      font-size: 16px; }
      @media (max-width: 990px) {
        .blog .entry-summary p, .archive .entry-summary p, .single-post .entry-summary p {
          line-height: 150%; } }
  .blog .blog-sidebar .sidebar-title, .archive .blog-sidebar .sidebar-title, .single-post .blog-sidebar .sidebar-title {
    font-weight: 400;
    font-size: 24px;
    text-transform: uppercase; }
  .blog .blog-sidebar .archive-container, .archive .blog-sidebar .archive-container, .single-post .blog-sidebar .archive-container {
    margin-top: 101px; }
    @media (max-width: 990px) {
      .blog .blog-sidebar .archive-container, .archive .blog-sidebar .archive-container, .single-post .blog-sidebar .archive-container {
        margin-top: 40px;
        font-size: 20px;
        text-align: center; } }
    .blog .blog-sidebar .archive-container li, .archive .blog-sidebar .archive-container li, .single-post .blog-sidebar .archive-container li {
      list-style-type: none; }
      .blog .blog-sidebar .archive-container li a, .archive .blog-sidebar .archive-container li a, .single-post .blog-sidebar .archive-container li a {
        text-decoration: none;
        font-weight: 700;
        font-size: 30px;
        text-transform: lowercase; }
  @media (max-width: 990px) {
    .blog .blog-sidebar .tags-container, .archive .blog-sidebar .tags-container, .single-post .blog-sidebar .tags-container {
      text-align: center; } }
  .blog .blog-sidebar .tags-container h3, .archive .blog-sidebar .tags-container h3, .single-post .blog-sidebar .tags-container h3 {
    margin-top: 65px; }
  .blog .blog-sidebar .tags-container ul, .archive .blog-sidebar .tags-container ul, .single-post .blog-sidebar .tags-container ul {
    padding-left: 0px;
    display: flex;
    flex-flow: wrap;
    max-width: 400px; }
    @media (max-width: 990px) {
      .blog .blog-sidebar .tags-container ul, .archive .blog-sidebar .tags-container ul, .single-post .blog-sidebar .tags-container ul {
        justify-content: center;
        max-width: 100%; } }
    .blog .blog-sidebar .tags-container ul li, .archive .blog-sidebar .tags-container ul li, .single-post .blog-sidebar .tags-container ul li {
      list-style-type: none;
      display: inline-block;
      width: 179px;
      height: 65px;
      margin-top: 7px;
      margin-right: 7px;
      position: relative;
      line-height: initial; }
      .blog .blog-sidebar .tags-container ul li .circle-title, .archive .blog-sidebar .tags-container ul li .circle-title, .single-post .blog-sidebar .tags-container ul li .circle-title {
        position: absolute;
        left: 13px;
        top: 10px;
        border-radius: 7px;
        background-color: white;
        margin-bottom: 10px;
        width: 5px;
        height: 5px; }
      .blog .blog-sidebar .tags-container ul li a, .archive .blog-sidebar .tags-container ul li a, .single-post .blog-sidebar .tags-container ul li a {
        text-decoration: none;
        color: white;
        display: flex;
        font-size: 16px;
        font-weight: 700;
        padding: 18px 15px 10px;
        text-transform: lowercase; }

.single-post .blog-single-container {
  margin: 94px 0px; }
  @media (max-width: 990px) {
    .single-post .blog-single-container {
      margin: 40px 0px; } }
.single-post .date-container {
  font-size: 24px;
  padding-left: 0px; }
  .single-post .date-container a {
    position: relative;
    top: 5px;
    margin-right: 10px;
    display: inline-flex;
    align-items: end; }
.single-post .blog-title {
  color: #0f5475;
  font-size: 30px;
  margin-bottom: 48px; }
.single-post img {
  margin: 24px 0px;
  max-width: 100%;
  height: auto; }
.single-post h6 {
  background-color: #0f5475;
  color: white;
  font-size: 24px;
  padding: 28px 42px;
  position: relative; }
  @media (max-width: 990px) {
    .single-post h6 {
      font-size: 18px; } }
  .single-post h6:before {
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    background-image: url("../images/exclamacao.png");
    width: 108px;
    height: 171px;
    right: -71px;
    bottom: 30px; }
    @media (max-width: 990px) {
      .single-post h6:before {
        display: none; } }
.single-post p, .single-post ul li {
  font-size: 18px;
  line-height: 170%; }
.single-post .sidebar-titles {
  font-weight: 200;
  font-size: 24px;
  text-transform: uppercase; }

.single .slider-image {
  width: 100%;
  object-fit: cover;
  padding: 0px 2px; }
  @media (max-width: 990px) {
    .single .slider-image {
      height: 253px; } }
.single .arrows-container {
  display: flex;
  justify-content: space-between; }
  .single .arrows-container i {
    cursor: pointer;
    font-size: 20px; }

.home .grid-masonry-categories,
.page-template-template-front-page-ec .grid-masonry-categories {
  background-color: #f5f5f5;
  margin-top: 60px;
  padding-top: 60px;
  transition: all 0.5s ease; }
  @media (max-width: 990px) {
    .home .grid-masonry-categories,
    .page-template-template-front-page-ec .grid-masonry-categories {
      padding: 0px;
      margin: 0px; } }
  .home .grid-masonry-categories .terms-container,
  .page-template-template-front-page-ec .grid-masonry-categories .terms-container {
    color: #ffffff;
    padding-left: 30px;
    position: absolute;
    width: 100%;
    height: 100%;
    transition: all 0.5s ease;
    z-index: 9; }
    .home .grid-masonry-categories .terms-container:hover,
    .page-template-template-front-page-ec .grid-masonry-categories .terms-container:hover {
      transition: all 0.5s ease; }
      .home .grid-masonry-categories .terms-container:hover .lista-subcategorias-fichas,
      .page-template-template-front-page-ec .grid-masonry-categories .terms-container:hover .lista-subcategorias-fichas {
        opacity: 1;
        visibility: visible;
        transition: all 0.5s ease;
        top: 0px; }
    .home .grid-masonry-categories .terms-container .categoria-principal-fichas,
    .page-template-template-front-page-ec .grid-masonry-categories .terms-container .categoria-principal-fichas {
      text-transform: lowercase;
      margin: 18.7px 0px; }
      .home .grid-masonry-categories .terms-container .categoria-principal-fichas a,
      .page-template-template-front-page-ec .grid-masonry-categories .terms-container .categoria-principal-fichas a {
        color: #ffffff;
        text-decoration: none;
        font-family: "Montserrat Medium";
        font-size: 18px;
        font-weight: bold; }
    .home .grid-masonry-categories .terms-container .lista-subcategorias-fichas,
    .page-template-template-front-page-ec .grid-masonry-categories .terms-container .lista-subcategorias-fichas {
      list-style-type: none;
      padding: 0px;
      opacity: 0;
      visibility: hidden;
      position: relative;
      top: 30px;
      transition: all 0.5s ease; }
      @media (max-width: 990px) {
        .home .grid-masonry-categories .terms-container .lista-subcategorias-fichas,
        .page-template-template-front-page-ec .grid-masonry-categories .terms-container .lista-subcategorias-fichas {
          opacity: 1;
          visibility: visible;
          top: -14px; } }
      .home .grid-masonry-categories .terms-container .lista-subcategorias-fichas .categoria-secundaria-fichas,
      .page-template-template-front-page-ec .grid-masonry-categories .terms-container .lista-subcategorias-fichas .categoria-secundaria-fichas {
        padding-bottom: 28px; }
        @media (max-width: 990px) {
          .home .grid-masonry-categories .terms-container .lista-subcategorias-fichas .categoria-secundaria-fichas,
          .page-template-template-front-page-ec .grid-masonry-categories .terms-container .lista-subcategorias-fichas .categoria-secundaria-fichas {
            padding-bottom: 15px; } }
      .home .grid-masonry-categories .terms-container .lista-subcategorias-fichas .special-color,
      .page-template-template-front-page-ec .grid-masonry-categories .terms-container .lista-subcategorias-fichas .special-color {
        color: #9b9b9b; }
      .home .grid-masonry-categories .terms-container .lista-subcategorias-fichas a,
      .page-template-template-front-page-ec .grid-masonry-categories .terms-container .lista-subcategorias-fichas a {
        color: #ffffff;
        text-decoration: none;
        font-family: "Montserrat Medium"; }
  .home .grid-masonry-categories .imagem-categoria,
  .page-template-template-front-page-ec .grid-masonry-categories .imagem-categoria {
    width: 100%;
    transition: all 2.2s ease; }

.terms-container:hover + .imagem-categoria {
  transform: scale(1.2);
  -moz-transform: scale(1.2);
  /* Fx 3.5-15 */
  -ms-transform: scale(1.2);
  /* IE 9 */
  -o-transform: scale(1.2);
  /* Op 10.5-12 */
  -webkit-transform: scale(1.2);
  /* Chrome, Opera 15+, Safari 3.1+ */
  -ms-transform: scale(1.2);
  /* IE 9 */
  transition: all 5.2s ease; }

.page-template-template-contactos {
  /*input{
    background-color: gray;
        &:hover{
            background-color: green;
            ::-webkit-input-placeholder { 
            color: gray;
            }
            ::-moz-placeholder { 
                color: gray;
            }
            :-ms-input-placeholder { 
                color: gray;
            }
            :-moz-placeholder { 
                color: gray;
            }
        }
    }
    textarea{
        background-color: yellow;
        &:hover{
            background-color: grey;
        }
        &:focus{
            background-color: grey;
        }
    }*/ }
  .page-template-template-contactos h1 {
    color: #505050;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 24px;
    margin: 101px 0px 46px; }
  .page-template-template-contactos .content-page {
    margin-left: 29px;
    font-size: 24px;
    font-weight: bold; }
    @media (max-width: 990px) {
      .page-template-template-contactos .content-page {
        margin-left: 0px;
        font-size: 16px; } }
    .page-template-template-contactos .content-page .address {
      color: #000; }
      .page-template-template-contactos .content-page .address p {
        margin: 0; }
    .page-template-template-contactos .content-page .phone p {
      margin: 0; }
      .page-template-template-contactos .content-page .phone p a {
        color: #000;
        text-decoration: none; }
    .page-template-template-contactos .content-page .email a {
      color: #4086c6;
      text-decoration: none; }
  .page-template-template-contactos #gform_wrapper_1 {
    margin-top: 62px;
    width: 929px; }
    @media (max-width: 1300px) {
      .page-template-template-contactos #gform_wrapper_1 {
        width: 639px; } }
    .page-template-template-contactos #gform_wrapper_1 .gform_heading {
      margin-bottom: 0px; }
      .page-template-template-contactos #gform_wrapper_1 .gform_heading .gform_description {
        color: #e44693;
        font-weight: bold;
        margin-bottom: 0px; }
        .page-template-template-contactos #gform_wrapper_1 .gform_heading .gform_description:after {
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          content: "\f0da"; }
    .page-template-template-contactos #gform_wrapper_1 .gform_body {
      height: 569px; }
      @media (max-width: 990px) {
        .page-template-template-contactos #gform_wrapper_1 .gform_body {
          height: auto; } }
    .page-template-template-contactos #gform_wrapper_1 .gfield_error {
      margin-bottom: 0px !important; }
    .page-template-template-contactos #gform_wrapper_1 li:not(.gfield--type-honeypot) {
      display: inline-flex;
      height: 171px;
      vertical-align: top;
      margin-top: 14px;
      padding-top: 14px; }
      .page-template-template-contactos #gform_wrapper_1 li:not(.gfield--type-honeypot) .ginput_container {
        margin: 0px;
        height: 171px;
        width: 100%; }
    .page-template-template-contactos #gform_wrapper_1 .gfield--type-honeypot {
      display: none !important;
      position: absolute !important;
      left: -9000px; }
    .page-template-template-contactos #gform_wrapper_1 textarea {
      height: 171px;
      display: inline-block;
      margin-top: 0px;
      vertical-align: top;
      border: 0;
      color: white;
      font-size: 16px;
      width: 100%; }
      .page-template-template-contactos #gform_wrapper_1 textarea:focus {
        outline: none; }
    .page-template-template-contactos #gform_wrapper_1 input:focus {
      outline: none; }
    .page-template-template-contactos #gform_wrapper_1 .gform_footer {
      padding: 0;
      margin: 0; }
    .page-template-template-contactos #gform_wrapper_1 #gform_submit_button_1 {
      height: 47px;
      float: right;
      background-color: transparent;
      border: 0;
      color: #e44693;
      width: 144px;
      font-weight: 600;
      font-size: 24px;
      cursor: pointer; }
      @media (max-width: 990px) {
        .page-template-template-contactos #gform_wrapper_1 #gform_submit_button_1 {
          float: none;
          width: 100%; } }
      .page-template-template-contactos #gform_wrapper_1 #gform_submit_button_1:focus {
        outline: none; }
      .page-template-template-contactos #gform_wrapper_1 #gform_submit_button_1:after {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f0da";
        margin-left: 16px; }
    .page-template-template-contactos #gform_wrapper_1 .nome,
    .page-template-template-contactos #gform_wrapper_1 .telefone {
      width: 261px; }
      @media (max-width: 1920px) {
        .page-template-template-contactos #gform_wrapper_1 .nome,
        .page-template-template-contactos #gform_wrapper_1 .telefone {
          width: 261px; } }
      @media (max-width: 1300px) {
        .page-template-template-contactos #gform_wrapper_1 .nome,
        .page-template-template-contactos #gform_wrapper_1 .telefone {
          width: 211px; } }
      @media (max-width: 990px) {
        .page-template-template-contactos #gform_wrapper_1 .nome,
        .page-template-template-contactos #gform_wrapper_1 .telefone {
          width: 100%; } }
    .page-template-template-contactos #gform_wrapper_1 .email,
    .page-template-template-contactos #gform_wrapper_1 .assunto {
      width: 666px; }
      @media (max-width: 1920px) {
        .page-template-template-contactos #gform_wrapper_1 .email,
        .page-template-template-contactos #gform_wrapper_1 .assunto {
          width: 666px; } }
      @media (max-width: 1300px) {
        .page-template-template-contactos #gform_wrapper_1 .email,
        .page-template-template-contactos #gform_wrapper_1 .assunto {
          width: 428px; } }
      @media (max-width: 990px) {
        .page-template-template-contactos #gform_wrapper_1 .email,
        .page-template-template-contactos #gform_wrapper_1 .assunto {
          width: 100%; } }
    .page-template-template-contactos #gform_wrapper_1 .nome {
      padding-right: 16px; }
      .page-template-template-contactos #gform_wrapper_1 .nome .ginput_container {
        margin: 0px;
        background-color: #14ac9e; }
        .page-template-template-contactos #gform_wrapper_1 .nome .ginput_container textarea {
          background-color: transparent;
          border: none;
          transition: all 0.09s ease; }
          .page-template-template-contactos #gform_wrapper_1 .nome .ginput_container textarea:hover {
            background-color: gray;
            transition: all 0.9s ease; }
    .page-template-template-contactos #gform_wrapper_1 .email {
      padding-right: 0px; }
      .page-template-template-contactos #gform_wrapper_1 .email .ginput_container {
        background-color: #4086c6;
        width: 100%; }
        .page-template-template-contactos #gform_wrapper_1 .email .ginput_container textarea {
          background-color: transparent;
          border: none;
          transition: all 0.09s ease; }
          .page-template-template-contactos #gform_wrapper_1 .email .ginput_container textarea:hover {
            background-color: gray;
            transition: all 0.9s ease; }
    .page-template-template-contactos #gform_wrapper_1 .assunto {
      padding-right: 16px; }
      .page-template-template-contactos #gform_wrapper_1 .assunto textarea {
        background-color: #4086c6;
        transition: all 0.09s ease; }
        .page-template-template-contactos #gform_wrapper_1 .assunto textarea:hover {
          background-color: gray;
          transition: all 0.9s ease; }
    .page-template-template-contactos #gform_wrapper_1 .telefone {
      padding-right: 0px; }
      .page-template-template-contactos #gform_wrapper_1 .telefone .ginput_container {
        background-color: #14ac9e; }
        .page-template-template-contactos #gform_wrapper_1 .telefone .ginput_container textarea {
          background-color: transparent;
          border: none;
          transition: all 0.09s ease; }
          .page-template-template-contactos #gform_wrapper_1 .telefone .ginput_container textarea:hover {
            background-color: gray;
            transition: all 0.9s ease; }
        .page-template-template-contactos #gform_wrapper_1 .telefone .ginput_container .warningTextareaInfo {
          display: none; }
    .page-template-template-contactos #gform_wrapper_1 .mensagem {
      width: 100%;
      padding-right: 0px; }
      .page-template-template-contactos #gform_wrapper_1 .mensagem .ginput_container {
        width: 100%; }
        .page-template-template-contactos #gform_wrapper_1 .mensagem .ginput_container textarea {
          background-color: #f8a842;
          transition: all 0.09s ease; }
          .page-template-template-contactos #gform_wrapper_1 .mensagem .ginput_container textarea:hover {
            background-color: gray;
            transition: all 0.9s ease; }
  @media only screen and (min-width: 641px) {
    .page-template-template-contactos .gform_wrapper.gform_validation_error
    .gform_body
    ul
    li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
      max-width: 100% !important; } }
  .page-template-template-contactos ::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding-left: 20px; }
  .page-template-template-contactos ::-moz-placeholder {
    /* Firefox 19+ */
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding-left: 20px; }
  .page-template-template-contactos :-ms-input-placeholder {
    /* IE 10+ */
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding-left: 20px; }
  .page-template-template-contactos :-moz-placeholder {
    /* Firefox 18- */
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding-left: 20px; }
  .page-template-template-contactos .map-section-container {
    margin-top: 112px; }
    @media (max-width: 990px) {
      .page-template-template-contactos .map-section-container {
        margin-top: 40px; } }

.page-template-template-equipa .team-row {
  margin-bottom: 115px; }
  @media (max-width: 990px) {
    .page-template-template-equipa .team-row {
      text-align: center;
      margin-bottom: 40px; } }
  .page-template-template-equipa .team-row .name {
    font-size: 24px;
    text-transform: uppercase; }
  .page-template-template-equipa .team-row .position {
    font-size: 30px;
    font-weight: 700; }
  .page-template-template-equipa .team-row .description {
    line-height: 148%; }
  .page-template-template-equipa .team-row .linkedin-link {
    color: black; }
    .page-template-template-equipa .team-row .linkedin-link i {
      font-size: 30px; }
  .page-template-template-equipa .team-row .equipa-image-container {
    object-fit: cover;
    border-radius: 50%; }
  .page-template-template-equipa .team-row .team-image {
    width: 258px;
    height: 258px;
    object-fit: cover;
    border-radius: 50%; }
    @media (max-width: 1700px) {
      .page-template-template-equipa .team-row .team-image {
        height: 220px; } }
    @media (max-width: 1500px) {
      .page-template-template-equipa .team-row .team-image {
        height: 200px; } }
    @media (max-width: 1300px) {
      .page-template-template-equipa .team-row .team-image {
        height: 168px; } }
    @media (max-width: 990px) {
      .page-template-template-equipa .team-row .team-image {
        height: 258px; } }
  .page-template-template-equipa .team-row .team-left-content-col {
    text-align: right; }
    @media (max-width: 990px) {
      .page-template-template-equipa .team-row .team-left-content-col {
        text-align: center; } }

.page-template-template-quem-somos .main-col-quem-somos {
  line-height: 150%; }
.page-template-template-quem-somos .entidade-container {
  margin-bottom: 70px; }
  .page-template-template-quem-somos .entidade-container .title {
    font-size: 24px;
    color: #505050;
    font-family: "Montserrat Medium";
    margin-bottom: 4px; }
    @media (max-width: 990px) {
      .page-template-template-quem-somos .entidade-container .title {
        font-size: 20px;
        font-family: "Montserrat";
        font-weight: 400; } }
  .page-template-template-quem-somos .entidade-container .sub-title {
    font-size: 30px;
    font-family: "Montserrat Bold";
    text-transform: lowercase;
    margin-top: 0px; }
    @media (max-width: 990px) {
      .page-template-template-quem-somos .entidade-container .sub-title {
        font-size: 18px; } }
  .page-template-template-quem-somos .entidade-container .imagem-entidade {
    width: 50%; }
  .page-template-template-quem-somos .entidade-container .description {
    color: white;
    padding: 18px 26px 76px 26px;
    font-family: "Montserrat";
    font-weight: 500;
    margin-top: 13px;
    line-height: 170%; }
    @media (max-width: 990px) {
      .page-template-template-quem-somos .entidade-container .description {
        font-size: 14px;
        line-height: 160%;
        text-align: center; } }
  .page-template-template-quem-somos .entidade-container .link-container {
    display: inline-block;
    float: right;
    margin-top: 13px;
    text-align: right; }
    @media (max-width: 990px) {
      .page-template-template-quem-somos .entidade-container .link-container {
        width: 100%;
        float: none;
        text-align: center; } }
    .page-template-template-quem-somos .entidade-container .link-container a {
      color: white;
      text-decoration: none;
      display: flex;
      flex-direction: column;
      font-family: "Montserrat";
      font-weight: 700; }
      .page-template-template-quem-somos .entidade-container .link-container a span {
        display: block;
        transition: all 2s ease; }
        .page-template-template-quem-somos .entidade-container .link-container a span:hover {
          transition: all 2s ease;
          text-decoration: underline; }

.page-template-template-timeline .timeline-section {
  background-color: #f5f5f5;
  padding-bottom: 178px; }
.page-template-template-timeline .timeline-description-intro {
  font-size: 18px;
  line-height: 170%;
  padding-right: 20%; }
  @media (max-width: 990px) {
    .page-template-template-timeline .timeline-description-intro {
      padding-right: 0px; } }
.page-template-template-timeline .timeline-container {
  margin-top: 126px;
  padding-right: 25%; }
  @media (max-width: 990px) {
    .page-template-template-timeline .timeline-container {
      padding-right: 15px; } }
  .page-template-template-timeline .timeline-container .timeline-row:focus {
    outline: 0; }
  .page-template-template-timeline .timeline-container .timeline-row .circle {
    width: 22px;
    height: 22px;
    border-radius: 22px;
    margin: 0 auto;
    position: absolute; }
  .page-template-template-timeline .timeline-container .timeline-row .timeline-description-col, .page-template-template-timeline .timeline-container .timeline-row .timeline-data-col {
    display: inline-flex;
    flex-flow: column;
    justify-content: center; }
  .page-template-template-timeline .timeline-container .timeline-row .circle-col {
    text-align: center;
    display: inline-flex;
    flex-flow: column;
    align-items: center;
    justify-content: center; }
    .page-template-template-timeline .timeline-container .timeline-row .circle-col img {
      margin: 0 auto; }
  .page-template-template-timeline .timeline-container .timeline-container-inner:focus {
    outline: none; }
  .page-template-template-timeline .timeline-container .data-right .data {
    text-align: left;
    font-family: "Montserrat Black";
    font-size: 30px; }
    @media (max-width: 990px) {
      .page-template-template-timeline .timeline-container .data-right .data {
        font-size: 20px;
        text-align: center; } }
  .page-template-template-timeline .timeline-container .data-right .description {
    text-align: right;
    font-size: 21px; }
    @media (max-width: 990px) {
      .page-template-template-timeline .timeline-container .data-right .description {
        font-size: 13px;
        line-height: 149%;
        text-align: center; } }
  .page-template-template-timeline .timeline-container .data-left .data {
    text-align: right;
    font-family: "Montserrat Black";
    font-size: 30px; }
    @media (max-width: 990px) {
      .page-template-template-timeline .timeline-container .data-left .data {
        font-size: 20px;
        text-align: center; } }
  .page-template-template-timeline .timeline-container .data-left .description {
    text-align: left;
    font-size: 21px; }
    @media (max-width: 990px) {
      .page-template-template-timeline .timeline-container .data-left .description {
        font-size: 13px;
        line-height: 149%;
        text-align: center; } }
.page-template-template-timeline .timeline-imagem {
  width: 100%;
  object-fit: cover;
  height: 153px; }

.page-template-template-ciclos .ciclos-section .title {
  margin-top: 0;
  font-weight: 300;
  padding-top: 128px;
  font-size: 32px; }
  @media (max-width: 990px) {
    .page-template-template-ciclos .ciclos-section .title {
      padding-top: 40px;
      text-align: center; } }
.page-template-template-ciclos .ciclos-section .descricao {
  margin-bottom: 7px;
  color: #115575;
  font-weight: 700;
  margin-right: 33%;
  padding: 10px 10% 10px 0;
  line-height: 167%; }
  @media (max-width: 990px) {
    .page-template-template-ciclos .ciclos-section .descricao {
      margin-right: 0px;
      text-align: center;
      padding: 0px 0px 40px; } }
.page-template-template-ciclos .ciclos-section .grid-inner-col {
  padding-right: 28%; }
  @media (max-width: 990px) {
    .page-template-template-ciclos .ciclos-section .grid-inner-col {
      padding-right: 15px; } }
.page-template-template-ciclos .ciclos-section .terms-container {
  color: #ffffff;
  padding-left: 30px;
  width: 100%;
  height: 100%;
  transition: all 0.5s ease;
  z-index: 9;
  position: absolute; }
  .page-template-template-ciclos .ciclos-section .terms-container:hover {
    transition: all 0.5s ease; }
    .page-template-template-ciclos .ciclos-section .terms-container:hover .lista-ciclos {
      opacity: 1;
      visibility: visible;
      transition: all 0.5s ease;
      top: 0px; }
  .page-template-template-ciclos .ciclos-section .terms-container .cicle-title {
    font-size: 18px;
    font-weight: 700;
    margin-block: 18px; }
  .page-template-template-ciclos .ciclos-section .terms-container .lista-ciclos {
    list-style-type: none;
    padding: 0px;
    opacity: 0;
    visibility: hidden;
    position: relative;
    top: 30px;
    transition: all 0.5s ease; }
    @media (max-width: 990px) {
      .page-template-template-ciclos .ciclos-section .terms-container .lista-ciclos {
        opacity: 1;
        visibility: visible; } }
    .page-template-template-ciclos .ciclos-section .terms-container .lista-ciclos .lista-ciclos-item {
      padding-bottom: 23px; }
      @media (max-width: 990px) {
        .page-template-template-ciclos .ciclos-section .terms-container .lista-ciclos .lista-ciclos-item {
          padding-bottom: 15px; } }
      .page-template-template-ciclos .ciclos-section .terms-container .lista-ciclos .lista-ciclos-item a {
        color: #ffffff;
        text-decoration: none;
        font-weight: 500; }
        @media (max-width: 990px) {
          .page-template-template-ciclos .ciclos-section .terms-container .lista-ciclos .lista-ciclos-item a {
            font-size: 12px; } }
.page-template-template-ciclos .ciclos-section .imagem-ciclo {
  width: 100%;
  transition: all 5.2s ease; }
.page-template-template-ciclos .terms-container:hover + .imagem-ciclo {
  transform: scale(1.2);
  -moz-transform: scale(1.2);
  /* Fx 3.5-15 */
  -ms-transform: scale(1.2);
  /* IE 9 */
  -o-transform: scale(1.2);
  /* Op 10.5-12 */
  -webkit-transform: scale(1.2);
  /* Chrome, Opera 15+, Safari 3.1+ */
  -ms-transform: scale(1.2);
  /* IE 9 */
  transition: all 5.2s ease; }

.single-fichas a {
  color: #14ac9e;
  transition: all 0.5s ease; }
  .single-fichas a:hover {
    color: #3b3b3b;
    transition: all 0.5s ease; }
.single-fichas .main-col-fichas-conteudo {
  padding-right: 90px; }
  @media (max-width: 990px) {
    .single-fichas .main-col-fichas-conteudo {
      padding-right: 15px; } }
  @media (max-width: 990px) {
    .single-fichas .main-col-fichas-conteudo .row {
      margin: 0px; } }
.single-fichas .fichas-title {
  line-height: 150%;
  margin-bottom: 0px; }
  @media (max-width: 990px) {
    .single-fichas .fichas-title {
      text-align: center; } }
@media (max-width: 990px) {
  .single-fichas .etiquetas-fichas {
    text-align: center; } }
.single-fichas .fichas-container {
  margin-top: 70px;
  margin-bottom: 129px;
  line-height: 150%; }
  @media (max-width: 990px) {
    .single-fichas .fichas-container {
      margin: 40px 0px; } }
  .single-fichas .fichas-container .row-objectivos-pedagogicos {
    padding-left: 30px; }
    .single-fichas .fichas-container .row-objectivos-pedagogicos .title-intro {
      display: flex;
      align-items: flex-end;
      margin-bottom: 40px; }
      @media (max-width: 990px) {
        .single-fichas .fichas-container .row-objectivos-pedagogicos .title-intro {
          text-align: center; } }
  .single-fichas .fichas-container .row.row-ficha-conteudos {
    padding-left: 15px; }
    @media (max-width: 990px) {
      .single-fichas .fichas-container .row.row-ficha-conteudos {
        padding: 0px; } }
    @media (max-width: 990px) {
      .single-fichas .fichas-container .row.row-ficha-conteudos .col-lg-12 {
        padding: 0px; } }
.single-fichas .title {
  margin-left: 15px; }
.single-fichas .conteudo {
  margin-left: 15px; }
  .single-fichas .conteudo ul {
    list-style-type: none;
    padding: 0px; }
    .single-fichas .conteudo ul li {
      margin-left: 6px;
      color: #3b3b3b;
      margin-bottom: 4px; }
      .single-fichas .conteudo ul li:before {
        content: "\f111";
        font-family: "Font Awesome 5 free";
        font-weight: 900;
        font-size: 7px;
        right: 6px;
        top: -4px;
        position: relative; }
.single-fichas .fichas-title a {
  text-decoration: none;
  color: #5391ca;
  font-size: 30px;
  text-transform: lowercase; }
.single-fichas .etiquetas-fichas {
  list-style-type: none;
  padding-left: 0px;
  margin-top: 4px; }
  .single-fichas .etiquetas-fichas li {
    display: inline-block;
    margin: 0px 20px 20px 0px; }
    .single-fichas .etiquetas-fichas li a {
      text-decoration: none;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 16px; }
.single-fichas .row-objectivos-pedagogicos .fichas-icons {
  display: inline-block; }
.single-fichas .row-objectivos-pedagogicos .title-intro .conteudo-titulo {
  display: inline-block;
  font-size: 30px;
  font-weight: 700;
  color: #3b2470;
  text-transform: lowercase;
  position: relative;
  right: 32px;
  bottom: 14px; }
.single-fichas .row-objectivos-pedagogicos .title {
  margin-left: 15px; }
.single-fichas .row-ficha-conteudos .col-outer-passo-a-passo .title {
  color: #5391ca;
  margin-left: 30px;
  font-size: 35px;
  font-weight: bold;
  margin: 35px 0px; }
  @media (max-width: 990px) {
    .single-fichas .row-ficha-conteudos .col-outer-passo-a-passo .title {
      text-align: center; } }
.single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container {
  margin-bottom: 22px; }
  .single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container .title-intro .title {
    color: white;
    position: relative;
    top: 16px;
    font-size: 18px;
    font-weight: bold; }
  .single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container .title-intro .time {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    color: white; }
    .single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container .title-intro .time img {
      margin-right: 6px; }
    .single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container .title-intro .time span {
      position: relative;
      top: 10px; }
  .single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container li {
    margin-bottom: 4px; }
.single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container.introducao .title-intro {
  background-color: #14ac9e;
  padding: 0px 15px 0px 30px; }
.single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container.desenvolvimento .title-intro {
  background-color: #035771;
  padding: 0px 15px 0px 30px; }
.single-fichas .row-ficha-conteudos .col-passo-a-passo .inner-container.conclusao .title-intro {
  background-color: #4086c6;
  padding: 20px 15px 20px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between; }
.single-fichas .fichas-lateral-col {
  font-style: italic; }
  .single-fichas .fichas-lateral-col a:after {
    content: "\f0c1";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 18px;
    right: -5px;
    position: relative;
    bottom: 0px; }
  .single-fichas .fichas-lateral-col .fichas-lateral .conteudo {
    margin: 0px; }
  .single-fichas .fichas-lateral-col .tempo-total-execucao-ficha {
    border: 20px solid #e34591;
    width: 300px;
    height: 300px;
    border-radius: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-weight: 700;
    text-align: center;
    background-color: #e34591;
    color: white; }
    @media (max-width: 990px) {
      .single-fichas .fichas-lateral-col .tempo-total-execucao-ficha {
        margin: 0 auto; } }
    .single-fichas .fichas-lateral-col .tempo-total-execucao-ficha .ciclo {
      width: 131px;
      font-weight: 700;
      font-size: 24px; }
    .single-fichas .fichas-lateral-col .tempo-total-execucao-ficha .tempo-total {
      font-size: 48px;
      margin: 18px 0px; }
    .single-fichas .fichas-lateral-col .tempo-total-execucao-ficha .actividade-testada {
      font-size: 16px;
      width: 173px; }
  .single-fichas .fichas-lateral-col .fichas-lateral h3 {
    margin-top: 75px;
    line-height: 100%;
    font-weight: bold; }
  .single-fichas .fichas-lateral-col .fichas-lateral .resumo-titulo {
    font-weight: 700;
    font-size: 30px;
    text-transform: lowercase;
    color: #3b2470; }
    @media (max-width: 990px) {
      .single-fichas .fichas-lateral-col .fichas-lateral .resumo-titulo {
        text-align: center; } }
  .single-fichas .fichas-lateral-col .fichas-lateral .conteudo {
    margin: 0px;
    color: #3b3b3b; }
  .single-fichas .fichas-lateral-col .ficha-recursos .recursos-titulo {
    font-size: 30px;
    color: #4086c6;
    text-transform: lowercase; }
    @media (max-width: 990px) {
      .single-fichas .fichas-lateral-col .ficha-recursos .recursos-titulo {
        text-align: center; } }
  .single-fichas .fichas-lateral-col .ficha-criterios-avaliacao .criterios-avaliacao-titulo {
    font-size: 30px;
    color: #fcb040;
    text-transform: lowercase; }
    @media (max-width: 990px) {
      .single-fichas .fichas-lateral-col .ficha-criterios-avaliacao .criterios-avaliacao-titulo {
        text-align: center; } }
  .single-fichas .fichas-lateral-col .ficha-saber-mais .saber-mais-titulo {
    font-size: 30px;
    color: #14ac9e;
    text-transform: lowercase; }
    @media (max-width: 990px) {
      .single-fichas .fichas-lateral-col .ficha-saber-mais .saber-mais-titulo {
        text-align: center; } }
  .single-fichas .fichas-lateral-col .ficha-material-apoio .material-apoio-titulo {
    font-size: 30px;
    color: #4086c6;
    text-transform: lowercase; }
    @media (max-width: 990px) {
      .single-fichas .fichas-lateral-col .ficha-material-apoio .material-apoio-titulo {
        text-align: center; } }
.single-fichas .related-posts-row {
  margin-top: 100px;
  padding-left: 26px; }
  @media (max-width: 990px) {
    .single-fichas .related-posts-row {
      text-align: center;
      margin-top: 40px;
      padding-left: 0px; } }
.single-fichas .fichas-relacionadas-titulo {
  font-size: 35px; }
  @media (max-width: 990px) {
    .single-fichas .fichas-relacionadas-titulo {
      text-align: center; } }
.single-fichas .conteudo-fichas.sugestao {
  font-weight: 600;
  padding: 36px 36px 36px 30px;
  line-height: 170%;
  color: #4086c6; }
  .single-fichas .conteudo-fichas.sugestao .sugestao-titulo {
    font-size: 22px;
    font-weight: 700; }
  @media (max-width: 990px) {
    .single-fichas .conteudo-fichas.sugestao .sugestao-conteudo {
      padding-left: 0px; } }

.tax-etiquetas .ficha-col {
  margin-bottom: 8px;
  width: 219px;
  height: 219px;
  max-width: 219px;
  margin-bottom: 10px;
  min-width: 219px;
  padding: 0px 5px; }
  @media (max-width: 990px) {
    .tax-etiquetas .ficha-col {
      margin: 10px auto; } }
  .tax-etiquetas .ficha-col .fichas-inner-container {
    width: 100%;
    height: 219px;
    background-color: #4086c6; }
    .tax-etiquetas .ficha-col .fichas-inner-container .fichas-title-container {
      color: white;
      font-weight: 700;
      padding: 30px 18px 0px 18px; }
      .tax-etiquetas .ficha-col .fichas-inner-container .fichas-title-container .circle-title {
        width: 7px;
        height: 7px;
        border-radius: 7px;
        background-color: white;
        margin-bottom: 10px; }
      .tax-etiquetas .ficha-col .fichas-inner-container .fichas-title-container .ficha-title-link {
        color: white;
        text-decoration: none; }
        .tax-etiquetas .ficha-col .fichas-inner-container .fichas-title-container .ficha-title-link h5 {
          margin: 0px;
          text-transform: lowercase;
          font-size: 18.72px; }

.page-template-template-resumo a {
  text-decoration: none; }
.page-template-template-resumo .resumo-container {
  margin-right: 20%; }
  @media (max-width: 990px) {
    .page-template-template-resumo .resumo-container {
      margin-right: 0; } }
  .page-template-template-resumo .resumo-container p {
    margin: 0px; }
  .page-template-template-resumo .resumo-container .titulo {
    font-size: 30px;
    font-weight: 900;
    margin-bottom: 33px; }
  .page-template-template-resumo .resumo-container .descricao ul {
    padding-left: 0px;
    margin-top: 0px;
    list-style: none; }
  .page-template-template-resumo .resumo-container .resumo-subtitle {
    font-size: 30px;
    font-weight: 900;
    font-family: "Montserrat";
    color: #4086c6;
    margin-bottom: 44px;
    margin-left: 60px; }
    @media (max-width: 990px) {
      .page-template-template-resumo .resumo-container .resumo-subtitle {
        margin-left: 0px;
        font-size: 29px; } }
.page-template-template-resumo .paraque-container {
  background-color: #4086c6;
  color: white;
  padding: 25px 25px 90px;
  margin-right: 34px; }
  .page-template-template-resumo .paraque-container .circle-title {
    background-color: white; }
  .page-template-template-resumo .paraque-container .descricao {
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; }
    .page-template-template-resumo .paraque-container .descricao li:before {
      content: '\f111';
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      font-size: 10px;
      margin-right: 10px; }
    .page-template-template-resumo .paraque-container .descricao p {
      margin: 0px; }
.page-template-template-resumo .paraquem-container {
  margin-top: 23px; }
  @media (max-width: 990px) {
    .page-template-template-resumo .paraquem-container {
      margin-top: 40px; } }
  .page-template-template-resumo .paraquem-container .circle-title {
    background-color: #e34591; }
  .page-template-template-resumo .paraquem-container .titulo {
    color: #e34591; }
  .page-template-template-resumo .paraquem-container .descricao {
    font-weight: 600; }
.page-template-template-resumo .como-container {
  margin-top: 70px; }
  @media (max-width: 990px) {
    .page-template-template-resumo .como-container {
      margin-top: 40px; } }
  .page-template-template-resumo .como-container .circle-title {
    background-color: #f7a843; }
  .page-template-template-resumo .como-container .titulo {
    color: #f7a843; }
  .page-template-template-resumo .como-container .descricao {
    font-weight: 600; }
    .page-template-template-resumo .como-container .descricao li:before {
      content: '\f111';
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      font-size: 10px;
      margin-right: 10px; }
.page-template-template-resumo .projecto-numeros-container {
  font-weight: 900;
  margin: 83px 20% 137px 10%;
  color: #4086c6; }
  @media (max-width: 990px) {
    .page-template-template-resumo .projecto-numeros-container {
      margin: 40px 0px; } }
  .page-template-template-resumo .projecto-numeros-container .titulo {
    text-transform: uppercase;
    font-size: 19px; }
  .page-template-template-resumo .projecto-numeros-container .descricao {
    position: relative;
    font-size: 19px; }
    .page-template-template-resumo .projecto-numeros-container .descricao li {
      display: inline-block; }
      .page-template-template-resumo .projecto-numeros-container .descricao li:before {
        content: '\f111';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        font-size: 10px;
        margin-right: 5px; }
    .page-template-template-resumo .projecto-numeros-container .descricao:before {
      content: '';
      position: absolute;
      background-repeat: no-repeat;
      background-image: url("../images/exclamacao.png");
      width: 108px;
      height: 171px;
      right: -106px;
      bottom: 46px; }
      @media (max-width: 990px) {
        .page-template-template-resumo .projecto-numeros-container .descricao:before {
          display: none; } }
.page-template-template-resumo .quando-container {
  background-color: #15a99b;
  color: white;
  padding: 22px 20px; }
  .page-template-template-resumo .quando-container .circle-title {
    background-color: white; }
  .page-template-template-resumo .quando-container .descricao {
    font-weight: 700; }
.page-template-template-resumo .onde-container {
  background-color: #0f5475;
  color: white;
  padding: 22px 20px; }
  @media (max-width: 990px) {
    .page-template-template-resumo .onde-container {
      margin-top: 40px; } }
  .page-template-template-resumo .onde-container .circle-title {
    background-color: white; }
  .page-template-template-resumo .onde-container .descricao {
    font-weight: 700; }
.page-template-template-resumo .comquem-container {
  margin-top: 48px;
  margin-bottom: 60px; }
  @media (max-width: 990px) {
    .page-template-template-resumo .comquem-container {
      margin: 40px 0px; } }
  .page-template-template-resumo .comquem-container .circle-title {
    background-color: #f7a843; }
  .page-template-template-resumo .comquem-container .titulo {
    color: #f7a843; }
  .page-template-template-resumo .comquem-container .descricao {
    font-weight: 600;
    margin-bottom: 24px; }

.post-type-archive-cidadania-jogo .cidadania-jogo-header-row, .tax-categoria-cidadania-jogo .cidadania-jogo-header-row, .tax-categoria-ideias-acao .cidadania-jogo-header-row {
  margin-bottom: 80px; }
.post-type-archive-cidadania-jogo .inner-col, .tax-categoria-cidadania-jogo .inner-col, .tax-categoria-ideias-acao .inner-col {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 20px;
  min-height: 600px;
  display: flex;
  align-items: flex-end; }
.post-type-archive-cidadania-jogo .content-container, .tax-categoria-cidadania-jogo .content-container, .tax-categoria-ideias-acao .content-container {
  background-color: #4086c6;
  padding: 20px; }
  .post-type-archive-cidadania-jogo .content-container .circle-title, .tax-categoria-cidadania-jogo .content-container .circle-title, .tax-categoria-ideias-acao .content-container .circle-title {
    background-color: white; }
  .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-titulo, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-titulo, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-titulo {
    color: white;
    font-size: 48px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
    margin-top: 0px; }
    @media (max-width: 990px) {
      .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-titulo, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-titulo, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-titulo {
        font-size: 30px; } }
  .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description {
    color: white;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 24px;
    margin-top: 0px;
    display: flex;
    gap: 36px; }
    @media (max-width: 1400px) {
      .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description {
        flex-direction: column;
        gap: 10px; } }
    @media (max-width: 990px) {
      .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description {
        font-size: 16px; } }
    .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description .left, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description .left, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description .left {
      width: 50%; }
      @media (max-width: 1400px) {
        .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description .left, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description .left, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description .left {
          width: 100%; } }
    .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description .right {
      width: 50%; }
      .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right .cidadania-jogo-introducao-logo, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right .cidadania-jogo-introducao-logo, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description .right .cidadania-jogo-introducao-logo {
        margin-top: 28px;
        width: 100%;
        height: 53px;
        object-fit: contain;
        object-position: left; }
      @media (max-width: 1400px) {
        .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description .right {
          width: 100%; } }
      .post-type-archive-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right ul, .tax-categoria-cidadania-jogo .content-container .cidadania-jogo-introducao-description .right ul, .tax-categoria-ideias-acao .content-container .cidadania-jogo-introducao-description .right ul {
        margin-left: 20px; }
.post-type-archive-cidadania-jogo .form-container, .tax-categoria-cidadania-jogo .form-container, .tax-categoria-ideias-acao .form-container {
  background-color: white;
  padding-block: 30px; }
  .post-type-archive-cidadania-jogo .form-container .gform_wrapper.gravity-theme .gform_footer, .tax-categoria-cidadania-jogo .form-container .gform_wrapper.gravity-theme .gform_footer, .tax-categoria-ideias-acao .form-container .gform_wrapper.gravity-theme .gform_footer {
    justify-content: flex-end; }
    @media (max-width: 1400px) {
      .post-type-archive-cidadania-jogo .form-container .gform_wrapper.gravity-theme .gform_footer, .tax-categoria-cidadania-jogo .form-container .gform_wrapper.gravity-theme .gform_footer, .tax-categoria-ideias-acao .form-container .gform_wrapper.gravity-theme .gform_footer {
        justify-content: center; } }
  .post-type-archive-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-ideias-acao .form-container #gform_fields_2 {
    display: grid;
    gap: 20px; }
    @media (max-width: 1400px) {
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-ideias-acao .form-container #gform_fields_2 {
        grid-template-columns: minmax(200px, 1fr); } }
    @media (max-width: 768px) {
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-ideias-acao .form-container #gform_fields_2 {
        grid-template-columns: 1fr; } }
    .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gform-field-label, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gform-field-label, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gform-field-label {
      display: none !important; }
    .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield {
      /* &.gfield_contains_required.gfield_textarea,
       &.gfield_textarea {
           grid-column: span 2;
           
           @media(max-width: 1400px) {
               grid-column: span 1;
           }
       }*/
      /*&.gfield--type-fileupload {
          grid-column: span 2;
          
          @media(max-width: 1400px) {
              grid-column: span 1;
          }
      }*/ }
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield label, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield label, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield label {
        font-weight: 600;
        margin-bottom: 8px;
        display: block;
        color: #333; }
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield select, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield select, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield select {
        color: #6b7280; }
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="text"],
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="email"],
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="tel"],
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="number"], .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="text"],
      .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="email"],
      .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="tel"],
      .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="number"], .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="text"],
      .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="email"],
      .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="tel"],
      .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="number"] {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #e1e5e9;
        border-radius: 6px;
        font-size: 16px;
        transition: border-color 0.3s ease; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="text"]:focus,
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="email"]:focus,
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="tel"]:focus,
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="number"]:focus, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="text"]:focus,
        .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="email"]:focus,
        .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="tel"]:focus,
        .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield input[type="number"]:focus, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="text"]:focus,
        .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="email"]:focus,
        .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="tel"]:focus,
        .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield input[type="number"]:focus {
          outline: none;
          border-color: #007cba;
          box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1); }
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield textarea, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield textarea, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield textarea {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #e1e5e9;
        border-radius: 6px;
        font-size: 16px;
        min-height: 120px;
        resize: vertical;
        font-family: inherit;
        transition: border-color 0.3s ease;
        height: 288px; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield textarea:focus, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield textarea:focus, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield textarea:focus {
          outline: none;
          border-color: #007cba;
          box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1); }
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield select, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield select, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield select {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #e1e5e9;
        border-radius: 6px;
        font-size: 16px; }
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload {
        border: 2px dashed #d1d5db;
        border-radius: 8px;
        padding: 30px 20px;
        text-align: center;
        background-color: #f9fafb;
        transition: all 0.3s ease; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload:hover, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload:hover, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload:hover {
          border-color: #007cba;
          background-color: #f0f8ff; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload input[type="file"], .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload input[type="file"], .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload input[type="file"] {
          width: 100%;
          padding: 10px;
          border: none;
          background: transparent;
          cursor: pointer; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files {
          background-color: #007cba;
          color: white;
          border: none;
          padding: 12px 24px;
          border-radius: 6px;
          font-size: 16px;
          font-weight: 600;
          cursor: pointer;
          transition: all 0.3s ease;
          display: inline-block;
          text-decoration: none;
          margin-bottom: 15px; }
          .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:hover, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:hover, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:hover {
            background-color: #005a87;
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3); }
          .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:focus, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:focus, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.3); }
          .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:active, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:active, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_button_select_files:active {
            transform: translateY(0);
            box-shadow: 0 2px 6px rgba(0, 124, 186, 0.2); }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_fileupload_rules, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_fileupload_rules, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_fileupload_rules {
          font-size: 14px;
          color: #6b7280;
          margin-top: 10px;
          line-height: 1.4; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_delete, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_delete, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_delete {
          color: #dc2626;
          text-decoration: none;
          font-size: 12px;
          margin-left: 8px; }
          .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_delete:hover, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_delete:hover, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .gform_delete:hover {
            color: #991b1b;
            text-decoration: underline; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview {
          margin-top: 15px;
          padding: 10px;
          background-color: white;
          border-radius: 4px;
          border: 1px solid #e5e7eb; }
          .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list {
            list-style: none;
            padding: 0;
            margin: 0; }
            .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li {
              padding: 8px 0;
              border-bottom: 1px solid #f3f4f6;
              display: flex;
              justify-content: space-between;
              align-items: center; }
              .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li:last-child, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li:last-child, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li:last-child {
                border-bottom: none; }
              .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li .gform_filename, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li .gform_filename, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .ginput_container_fileupload .ginput_preview .ginput_preview_list li .gform_filename {
                font-size: 14px;
                color: #374151;
                font-weight: 500; }
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield .validation_message, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield .validation_message, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield .validation_message {
        color: #dc2626;
        font-size: 14px;
        margin-top: 5px; }
    .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield--type-fileupload .gfield_description, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield--type-fileupload .gfield_description, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield--type-fileupload .gfield_description {
      font-size: 14px;
      color: #6b7280;
      margin-top: 10px; }
    @media (max-width: 768px) {
      .post-type-archive-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-cidadania-jogo .form-container #gform_fields_2, .tax-categoria-ideias-acao .form-container #gform_fields_2 {
        grid-template-columns: 1fr;
        gap: 15px; }
        .post-type-archive-cidadania-jogo .form-container #gform_fields_2 .gfield, .tax-categoria-cidadania-jogo .form-container #gform_fields_2 .gfield, .tax-categoria-ideias-acao .form-container #gform_fields_2 .gfield {
          grid-column: span 1 !important; } }
  .post-type-archive-cidadania-jogo .form-container .gform_footer, .tax-categoria-cidadania-jogo .form-container .gform_footer, .tax-categoria-ideias-acao .form-container .gform_footer {
    margin-top: 30px;
    text-align: center; }
    .post-type-archive-cidadania-jogo .form-container .gform_footer button[type="submit"], .tax-categoria-cidadania-jogo .form-container .gform_footer button[type="submit"], .tax-categoria-ideias-acao .form-container .gform_footer button[type="submit"] {
      background-color: #007cba;
      color: white;
      padding: 15px 40px;
      border: none;
      border-radius: 6px;
      font-size: 16px;
      font-weight: 600;
      cursor: pointer;
      transition: background-color 0.3s ease; }
      .post-type-archive-cidadania-jogo .form-container .gform_footer button[type="submit"]:hover, .tax-categoria-cidadania-jogo .form-container .gform_footer button[type="submit"]:hover, .tax-categoria-ideias-acao .form-container .gform_footer button[type="submit"]:hover {
        background-color: #005a87; }
      .post-type-archive-cidadania-jogo .form-container .gform_footer button[type="submit"]:focus, .tax-categoria-cidadania-jogo .form-container .gform_footer button[type="submit"]:focus, .tax-categoria-ideias-acao .form-container .gform_footer button[type="submit"]:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.3); }

.archive.post-type-archive-cidadania-jogo, .single-cidadania-jogo, .tax-categoria-ideias-acao, .tax-categoria-cidadania-jogo {
  /*Classes para a cor dos posts*/ }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-col-left, .single-cidadania-jogo .cidadania-jogo-col-left, .tax-categoria-ideias-acao .cidadania-jogo-col-left, .tax-categoria-cidadania-jogo .cidadania-jogo-col-left {
    padding-right: 50px; }
    @media (max-width: 990px) {
      .archive.post-type-archive-cidadania-jogo .cidadania-jogo-col-left, .single-cidadania-jogo .cidadania-jogo-col-left, .tax-categoria-ideias-acao .cidadania-jogo-col-left, .tax-categoria-cidadania-jogo .cidadania-jogo-col-left {
        padding-right: 15px; } }
  .archive.post-type-archive-cidadania-jogo .page-header h1, .single-cidadania-jogo .page-header h1, .tax-categoria-ideias-acao .page-header h1, .tax-categoria-cidadania-jogo .page-header h1 {
    font-weight: 400; }
  .archive.post-type-archive-cidadania-jogo .post-color-1, .single-cidadania-jogo .post-color-1, .tax-categoria-ideias-acao .post-color-1, .tax-categoria-cidadania-jogo .post-color-1 {
    color: #0f5475; }
  .archive.post-type-archive-cidadania-jogo .post-color-2, .single-cidadania-jogo .post-color-2, .tax-categoria-ideias-acao .post-color-2, .tax-categoria-cidadania-jogo .post-color-2 {
    color: #14ac9e; }
  .archive.post-type-archive-cidadania-jogo .post-color-3, .single-cidadania-jogo .post-color-3, .tax-categoria-ideias-acao .post-color-3, .tax-categoria-cidadania-jogo .post-color-3 {
    color: #5b67b0; }
  .archive.post-type-archive-cidadania-jogo .post-color-4, .single-cidadania-jogo .post-color-4, .tax-categoria-ideias-acao .post-color-4, .tax-categoria-cidadania-jogo .post-color-4 {
    color: #f8a842; }
  .archive.post-type-archive-cidadania-jogo .post-color-5, .single-cidadania-jogo .post-color-5, .tax-categoria-ideias-acao .post-color-5, .tax-categoria-cidadania-jogo .post-color-5 {
    color: #678540; }
  .archive.post-type-archive-cidadania-jogo .post-color-6, .single-cidadania-jogo .post-color-6, .tax-categoria-ideias-acao .post-color-6, .tax-categoria-cidadania-jogo .post-color-6 {
    color: #e44693; }
  .archive.post-type-archive-cidadania-jogo .post-background-color-1, .single-cidadania-jogo .post-background-color-1, .tax-categoria-ideias-acao .post-background-color-1, .tax-categoria-cidadania-jogo .post-background-color-1 {
    background-color: #0f5475;
    color: #ffffff; }
  .archive.post-type-archive-cidadania-jogo .post-background-color-2, .single-cidadania-jogo .post-background-color-2, .tax-categoria-ideias-acao .post-background-color-2, .tax-categoria-cidadania-jogo .post-background-color-2 {
    background-color: #14ac9e;
    color: #ffffff; }
  .archive.post-type-archive-cidadania-jogo .post-background-color-3, .single-cidadania-jogo .post-background-color-3, .tax-categoria-ideias-acao .post-background-color-3, .tax-categoria-cidadania-jogo .post-background-color-3 {
    background-color: #5b67b0;
    color: #ffffff; }
  .archive.post-type-archive-cidadania-jogo .post-background-color-4, .single-cidadania-jogo .post-background-color-4, .tax-categoria-ideias-acao .post-background-color-4, .tax-categoria-cidadania-jogo .post-background-color-4 {
    background-color: #f8a842;
    color: #ffffff; }
  .archive.post-type-archive-cidadania-jogo .post-background-color-5, .single-cidadania-jogo .post-background-color-5, .tax-categoria-ideias-acao .post-background-color-5, .tax-categoria-cidadania-jogo .post-background-color-5 {
    background-color: #678540;
    color: #ffffff; }
  .archive.post-type-archive-cidadania-jogo .post-background-color-6, .single-cidadania-jogo .post-background-color-6, .tax-categoria-ideias-acao .post-background-color-6, .tax-categoria-cidadania-jogo .post-background-color-6 {
    background-color: #e44693;
    color: #ffffff; }
  .archive.post-type-archive-cidadania-jogo .post-background-permalink, .single-cidadania-jogo .post-background-permalink, .tax-categoria-ideias-acao .post-background-permalink, .tax-categoria-cidadania-jogo .post-background-permalink {
    display: block; }
    .archive.post-type-archive-cidadania-jogo .post-background-permalink img, .single-cidadania-jogo .post-background-permalink img, .tax-categoria-ideias-acao .post-background-permalink img, .tax-categoria-cidadania-jogo .post-background-permalink img {
      display: block;
      width: 100%;
      object-fit: cover;
      height: 300px; }
  .archive.post-type-archive-cidadania-jogo .post-title, .single-cidadania-jogo .post-title, .tax-categoria-ideias-acao .post-title, .tax-categoria-cidadania-jogo .post-title {
    width: 100%; }
  .archive.post-type-archive-cidadania-jogo .date-container, .single-cidadania-jogo .date-container, .tax-categoria-ideias-acao .date-container, .tax-categoria-cidadania-jogo .date-container {
    display: inline-block;
    padding: 0px !important;
    margin: 0px;
    font-weight: 700;
    font-size: 24px; }
    @media (max-width: 990px) {
      .archive.post-type-archive-cidadania-jogo .date-container, .single-cidadania-jogo .date-container, .tax-categoria-ideias-acao .date-container, .tax-categoria-cidadania-jogo .date-container {
        font-size: 20px; } }
    .archive.post-type-archive-cidadania-jogo .date-container .tags, .single-cidadania-jogo .date-container .tags, .tax-categoria-ideias-acao .date-container .tags, .tax-categoria-cidadania-jogo .date-container .tags {
      display: inline-block;
      padding: 10px 15px 10px 15px;
      margin: 0px;
      font-weight: 700;
      font-size: 24px;
      color: white; }
    .archive.post-type-archive-cidadania-jogo .date-container a, .single-cidadania-jogo .date-container a, .tax-categoria-ideias-acao .date-container a, .tax-categoria-cidadania-jogo .date-container a {
      color: white;
      text-decoration: none; }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-title-listing, .single-cidadania-jogo .cidadania-jogo-title-listing, .tax-categoria-ideias-acao .cidadania-jogo-title-listing, .tax-categoria-cidadania-jogo .cidadania-jogo-title-listing {
    margin-bottom: 14px;
    margin-top: 0px; }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-title-listing a, .single-cidadania-jogo .cidadania-jogo-title-listing a, .tax-categoria-ideias-acao .cidadania-jogo-title-listing a, .tax-categoria-cidadania-jogo .cidadania-jogo-title-listing a {
      text-decoration: none;
      font-size: 24px;
      padding: 10px 15px 10px 15px;
      display: inline-flex;
      text-transform: lowercase;
      color: white; }
      @media (max-width: 990px) {
        .archive.post-type-archive-cidadania-jogo .cidadania-jogo-title-listing a, .single-cidadania-jogo .cidadania-jogo-title-listing a, .tax-categoria-ideias-acao .cidadania-jogo-title-listing a, .tax-categoria-cidadania-jogo .cidadania-jogo-title-listing a {
          font-size: 18px; } }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-title, .single-cidadania-jogo .cidadania-jogo-title, .tax-categoria-ideias-acao .cidadania-jogo-title, .tax-categoria-cidadania-jogo .cidadania-jogo-title {
    margin-bottom: 14px;
    margin-top: 0px; }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-title a, .single-cidadania-jogo .cidadania-jogo-title a, .tax-categoria-ideias-acao .cidadania-jogo-title a, .tax-categoria-cidadania-jogo .cidadania-jogo-title a {
      text-decoration: none;
      font-size: 24px;
      padding: 10px 15px 10px 15px;
      display: inline-flex;
      text-transform: lowercase; }
      @media (max-width: 990px) {
        .archive.post-type-archive-cidadania-jogo .cidadania-jogo-title a, .single-cidadania-jogo .cidadania-jogo-title a, .tax-categoria-ideias-acao .cidadania-jogo-title a, .tax-categoria-cidadania-jogo .cidadania-jogo-title a {
          font-size: 18px; } }
  .archive.post-type-archive-cidadania-jogo .entry-summary, .single-cidadania-jogo .entry-summary, .tax-categoria-ideias-acao .entry-summary, .tax-categoria-cidadania-jogo .entry-summary {
    margin-bottom: 80px;
    font-size: 18px;
    line-height: 140%; }
    @media (max-width: 990px) {
      .archive.post-type-archive-cidadania-jogo .entry-summary, .single-cidadania-jogo .entry-summary, .tax-categoria-ideias-acao .entry-summary, .tax-categoria-cidadania-jogo .entry-summary {
        font-size: 16px; } }
    .archive.post-type-archive-cidadania-jogo .entry-summary p, .single-cidadania-jogo .entry-summary p, .tax-categoria-ideias-acao .entry-summary p, .tax-categoria-cidadania-jogo .entry-summary p {
      font-weight: 500;
      margin-top: 0px;
      font-size: 16px; }
      @media (max-width: 990px) {
        .archive.post-type-archive-cidadania-jogo .entry-summary p, .single-cidadania-jogo .entry-summary p, .tax-categoria-ideias-acao .entry-summary p, .tax-categoria-cidadania-jogo .entry-summary p {
          line-height: 150%; } }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .sidebar-title, .single-cidadania-jogo .cidadania-jogo-sidebar .sidebar-title, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .sidebar-title, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .sidebar-title {
    font-weight: 400;
    font-size: 24px;
    text-transform: uppercase; }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .archive-container, .single-cidadania-jogo .cidadania-jogo-sidebar .archive-container, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .archive-container, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .archive-container {
    margin-top: 101px; }
    @media (max-width: 990px) {
      .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .archive-container, .single-cidadania-jogo .cidadania-jogo-sidebar .archive-container, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .archive-container, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .archive-container {
        margin-top: 0px !important;
        font-size: 20px;
        text-align: center; } }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .archive-container .archive-list, .single-cidadania-jogo .cidadania-jogo-sidebar .archive-container .archive-list, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .archive-container .archive-list, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .archive-container .archive-list {
      list-style: none;
      padding: 0;
      margin: 0; }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .archive-container li, .single-cidadania-jogo .cidadania-jogo-sidebar .archive-container li, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .archive-container li, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .archive-container li {
      list-style-type: none; }
      .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .archive-container li a, .single-cidadania-jogo .cidadania-jogo-sidebar .archive-container li a, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .archive-container li a, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .archive-container li a {
        text-decoration: none;
        font-weight: 700;
        font-size: 30px;
        text-transform: lowercase; }
  @media (max-width: 990px) {
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container {
      text-align: center; } }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container h3, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container h3, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container h3, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container h3 {
    margin-top: 65px; }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container ul, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul {
    padding-left: 0px;
    display: flex;
    flex-flow: wrap;
    max-width: 400px; }
    @media (max-width: 990px) {
      .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container ul, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul {
        justify-content: center;
        max-width: 100%; } }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container ul li, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li {
      list-style-type: none;
      display: inline-block;
      width: 179px;
      height: 65px;
      margin-top: 7px;
      margin-right: 7px;
      position: relative;
      line-height: initial; }
      .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li .circle-title, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li .circle-title, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container ul li .circle-title, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li .circle-title {
        position: absolute;
        left: 13px;
        top: 10px;
        border-radius: 7px;
        background-color: white;
        margin-bottom: 10px;
        width: 5px;
        height: 5px; }
      .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li a, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li a, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container ul li a, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container ul li a {
        text-decoration: none;
        color: white;
        display: flex;
        font-size: 16px;
        font-weight: 700;
        padding: 18px 15px 10px;
        text-transform: lowercase; }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-category, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-category, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container .current-category, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-category {
    position: relative; }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-category a, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-category a, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container .current-category a, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-category a {
      position: relative;
      z-index: 2;
      font-weight: 800 !important; }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container .current-archive, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive {
    position: relative; }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive:before, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive:before, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container .current-archive:before, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive:before {
      content: '';
      position: absolute;
      top: -3px;
      left: -3px;
      right: -3px;
      bottom: -3px;
      border: 3px solid #007cba;
      border-radius: 3px;
      z-index: 1; }
    .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive a, .single-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive a, .tax-categoria-ideias-acao .cidadania-jogo-sidebar .tags-container .current-archive a, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container .current-archive a {
      position: relative;
      z-index: 2;
      font-weight: 800 !important; }
  .archive.post-type-archive-cidadania-jogo .date-archive-info, .single-cidadania-jogo .date-archive-info, .tax-categoria-ideias-acao .date-archive-info, .tax-categoria-cidadania-jogo .date-archive-info {
    margin-bottom: 40px;
    padding: 20px;
    background-color: #f8f9fa;
    border-left: 4px solid #007cba;
    border-radius: 4px; }
    .archive.post-type-archive-cidadania-jogo .date-archive-info h2, .single-cidadania-jogo .date-archive-info h2, .tax-categoria-ideias-acao .date-archive-info h2, .tax-categoria-cidadania-jogo .date-archive-info h2 {
      margin: 0;
      color: #333;
      font-size: 24px;
      font-weight: 600; }

.single-cidadania-jogo .cidadania-jogo-single-container {
  margin: 94px 0px; }
  @media (max-width: 990px) {
    .single-cidadania-jogo .cidadania-jogo-single-container {
      margin: 40px 0px; } }
.single-cidadania-jogo .date-container {
  font-size: 24px;
  padding-left: 0px; }
  .single-cidadania-jogo .date-container a {
    position: relative;
    top: 5px;
    margin-right: 10px;
    display: inline-flex;
    align-items: end; }
.single-cidadania-jogo .cidadania-jogo-title {
  color: #0f5475;
  font-size: 30px;
  margin-bottom: 48px; }
.single-cidadania-jogo img {
  margin: 24px 0px;
  max-width: 100%;
  height: auto; }
.single-cidadania-jogo h6 {
  background-color: #0f5475;
  color: white;
  font-size: 24px;
  padding: 28px 42px;
  position: relative; }
  @media (max-width: 990px) {
    .single-cidadania-jogo h6 {
      font-size: 18px; } }
  .single-cidadania-jogo h6:before {
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    background-image: url("../images/exclamacao.png");
    width: 108px;
    height: 171px;
    right: -71px;
    bottom: 30px; }
    @media (max-width: 990px) {
      .single-cidadania-jogo h6:before {
        display: none; } }
.single-cidadania-jogo p, .single-cidadania-jogo ul li {
  font-size: 18px;
  line-height: 170%; }
.single-cidadania-jogo .sidebar-titles {
  font-weight: 200;
  font-size: 24px;
  text-transform: uppercase; }

.archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .archive-container, .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .archive-container, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container {
  margin-top: 51px; }
  .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .archive-container .sidebar-title, .archive.post-type-archive-cidadania-jogo .cidadania-jogo-sidebar .tags-container .sidebar-title, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .archive-container .sidebar-title, .tax-categoria-cidadania-jogo .cidadania-jogo-sidebar .tags-container .sidebar-title {
    margin-top: 0px; }
.archive.post-type-archive-cidadania-jogo .nav-links, .tax-categoria-cidadania-jogo .nav-links {
  margin-block: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 990px) {
    .archive.post-type-archive-cidadania-jogo .nav-links, .tax-categoria-cidadania-jogo .nav-links {
      flex-direction: column;
      gap: 30px; } }
  .archive.post-type-archive-cidadania-jogo .nav-links a, .tax-categoria-cidadania-jogo .nav-links a {
    color: #212529;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none; }
    .archive.post-type-archive-cidadania-jogo .nav-links a:hover, .tax-categoria-cidadania-jogo .nav-links a:hover {
      text-decoration: underline; }

.single .slider-image {
  width: 100%;
  object-fit: cover;
  padding: 0px 2px; }
  @media (max-width: 990px) {
    .single .slider-image {
      height: 253px; } }
.single .arrows-container {
  display: flex;
  justify-content: space-between; }
  .single .arrows-container i {
    cursor: pointer;
    font-size: 20px; }

.carousel-cidadania-jogo-block {
  margin: 40px 0; }
  .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container {
    position: relative;
    max-width: 100%;
    margin: 0 auto; }
    .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-cidadania-jogo-slider {
      position: relative; }
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-cidadania-jogo-slider .carousel-slide {
        outline: none; }
        .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-cidadania-jogo-slider .carousel-slide .slide-image-container {
          position: relative;
          overflow: hidden;
          border-radius: 12px;
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); }
          .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-cidadania-jogo-slider .carousel-slide .slide-image-container .carousel-image {
            width: 100%;
            height: 500px;
            object-fit: cover;
            display: block;
            transition: transform 0.3s ease; }
            @media (max-width: 768px) {
              .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-cidadania-jogo-slider .carousel-slide .slide-image-container .carousel-image {
                height: 300px; } }
    .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev,
    .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(255, 255, 255, 0.9);
      border: none;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.3s ease;
      z-index: 10;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
      @media (max-width: 768px) {
        .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev,
        .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next {
          width: 40px;
          height: 40px; } }
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev i,
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next i {
        font-size: 18px;
        color: #333; }
        @media (max-width: 768px) {
          .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev i,
          .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next i {
            font-size: 14px; } }
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev:hover,
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next:hover {
        background: white;
        transform: translateY(-50%) scale(1.1);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); }
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev:focus,
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next:focus {
        outline: 2px solid #007cba;
        outline-offset: 2px; }
    .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev {
      left: 20px; }
      @media (max-width: 768px) {
        .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-prev {
          left: 10px; } }
    .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next {
      right: 20px; }
      @media (max-width: 768px) {
        .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-navigation .carousel-next {
          right: 10px; } }
    .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-dots {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 30px;
      gap: 12px; }
      .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-dots .slick-dots {
        display: flex !important;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 12px; }
        .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-dots .slick-dots li button {
          width: 12px;
          height: 12px;
          border-radius: 50%;
          border: none;
          background: #d1d5db;
          cursor: pointer;
          transition: all 0.3s ease;
          font-size: 0;
          padding: 0; }
          .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-dots .slick-dots li button:hover {
            background: #9ca3af;
            transform: scale(1.2); }
          .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-dots .slick-dots li button:focus {
            outline: 2px solid #007cba;
            outline-offset: 2px; }
        .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container .carousel-dots .slick-dots li.slick-active button {
          background: #007cba;
          transform: scale(1.3); }
  .carousel-cidadania-jogo-block .slick-list {
    border-radius: 12px;
    overflow: hidden; }
  .carousel-cidadania-jogo-block .slick-track {
    display: flex;
    align-items: center; }
  .carousel-cidadania-jogo-block .slick-slide > div {
    height: 100%; }
  .carousel-cidadania-jogo-block.loading .carousel-cidadania-jogo-slider {
    min-height: 500px;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
    border-radius: 12px; }
    @media (max-width: 768px) {
      .carousel-cidadania-jogo-block.loading .carousel-cidadania-jogo-slider {
        min-height: 300px; } }

@keyframes loading {
  0% {
    background-position: 200% 0; }
  100% {
    background-position: -200% 0; } }
.alignfull .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container {
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw); }

.alignwide .carousel-cidadania-jogo-block .carousel-cidadania-jogo-container {
  max-width: 1200px; }

.homepage-banner-slider .hero-slider {
  position: relative;
  overflow: hidden;
  color: white; }
.homepage-banner-slider .slider-container {
  position: relative;
  height: 100%;
  width: 100%; }
.homepage-banner-slider .slide-item {
  width: 100%;
  height: 700px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: flex !important;
  align-items: center; }
  @media (max-width: 768px) {
    .homepage-banner-slider .slide-item {
      height: auto; } }
.homepage-banner-slider .slide-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1; }
.homepage-banner-slider .slide-content {
  position: relative;
  z-index: 2;
  width: 100%; }
  @media (max-width: 768px) {
    .homepage-banner-slider .slide-content {
      padding: 40px 20px;
      max-width: none; } }
.homepage-banner-slider .subtitle {
  display: flex;
  align-items: center; }
  .homepage-banner-slider .subtitle .line {
    width: 60px;
    height: 2px;
    background: var(--yellow-color);
    margin-right: 20px; }
  .homepage-banner-slider .subtitle .text {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500; }
.homepage-banner-slider .slider-title {
  font-size: 48px;
  font-weight: 700;
  line-height: 50px;
  color: var(--white-color);
  font-family: "Playfair Display", serif;
  max-width: 770px;
  width: 100%;
  margin-top: 18px; }
.homepage-banner-slider .slide-description {
  margin: 30px 0;
  max-width: 563px;
  width: 100%; }
  .homepage-banner-slider .slide-description p {
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 30px; }
.homepage-banner-slider .slide-stats {
  display: flex;
  gap: 40px;
  margin-top: 30px; }
  @media (max-width: 768px) {
    .homepage-banner-slider .slide-stats {
      flex-direction: column;
      gap: 20px; }
      .homepage-banner-slider .slide-stats .stat-card {
        text-align: center; } }
  .homepage-banner-slider .slide-stats .stat-item {
    text-align: left;
    position: relative; }
  .homepage-banner-slider .slide-stats .stat-card {
    position: relative;
    padding: 20px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, background 0.3s ease; }
    .homepage-banner-slider .slide-stats .stat-card:hover {
      background: rgba(255, 255, 255, 0.1); }
  .homepage-banner-slider .slide-stats .stat-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-radius: 12px;
    opacity: 0;
    transition: opacity 0.3s ease; }
  .homepage-banner-slider .slide-stats .stat-content {
    position: relative;
    z-index: 1; }
  .homepage-banner-slider .slide-stats .stat-number {
    display: block;
    font-size: 36px;
    font-weight: 700;
    color: var(--white-color);
    line-height: 1; }
  .homepage-banner-slider .slide-stats .stat-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 5px;
    display: block; }
.homepage-banner-slider .slide-buttons {
  display: flex;
  gap: 30px;
  align-items: center;
  margin-top: 40px; }
  @media (max-width: 768px) {
    .homepage-banner-slider .slide-buttons {
      flex-direction: column;
      gap: 20px;
      align-items: stretch; }
      .homepage-banner-slider .slide-buttons .cta-button,
      .homepage-banner-slider .slide-buttons .text-button {
        justify-content: center; } }
.homepage-banner-slider .cta-button {
  display: inline-flex;
  align-items: center;
  padding: 19px 30px;
  background: var(--main-button-background-color);
  color: var(--main-button-text-color);
  text-decoration: none;
  border-radius: 5px;
  font-weight: 400;
  text-transform: uppercase;
  transition: all 0.3s ease; }
  .homepage-banner-slider .cta-button:hover {
    background: var(--main-button-background-color-hover);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    color: var(--main-button-text-color-hover); }
.homepage-banner-slider .text-button {
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  transition: gap 0.3s ease; }
  .homepage-banner-slider .text-button:hover {
    gap: 15px;
    color: white; }
  .homepage-banner-slider .text-button .arrow {
    transition: transform 0.3s ease;
    font-family: "Playfair Display", serif;
    font-size: 30px;
    color: var(--white-color); }
  .homepage-banner-slider .text-button:hover .arrow {
    transform: translateX(5px); }
.homepage-banner-slider .slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: var(--dark-color, #333);
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 18px; }
  .homepage-banner-slider .slider-arrow:before {
    display: none; }
  .homepage-banner-slider .slider-arrow:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    background: var(--blue-color); }
  .homepage-banner-slider .slider-arrow:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.9); }
  .homepage-banner-slider .slider-arrow i {
    font-size: 18px; }
  @media (max-width: 768px) {
    .homepage-banner-slider .slider-arrow {
      width: 40px;
      height: 40px;
      font-size: 16px; }
      .homepage-banner-slider .slider-arrow i {
        font-size: 16px; } }
.homepage-banner-slider .slider-arrow-prev {
  left: 30px; }
  .homepage-banner-slider .slider-arrow-prev:hover i {
    color: var(--white-color); }
  .homepage-banner-slider .slider-arrow-prev:focus i {
    color: var(--black-color); }
  @media (max-width: 768px) {
    .homepage-banner-slider .slider-arrow-prev {
      left: 15px; } }
.homepage-banner-slider .slider-arrow-next {
  right: 30px; }
  .homepage-banner-slider .slider-arrow-next:hover i {
    color: var(--white-color); }
  .homepage-banner-slider .slider-arrow-next:focus i {
    color: var(--black-color); }
  @media (max-width: 768px) {
    .homepage-banner-slider .slider-arrow-next {
      right: 15px; } }

.label-title-description {
  margin-top: 60px; }
  @media (max-width: 768px) {
    .label-title-description {
      margin-top: 40px; } }
  .label-title-description .content-wrapper {
    text-align: center;
    max-width: 1000px;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .label-title-description .content-wrapper {
        padding: 0 20px; } }
    @media (max-width: 480px) {
      .label-title-description .content-wrapper {
        padding: 0 15px; } }
  .label-title-description .subtitle-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px; }
    .label-title-description .subtitle-wrapper .subtitle-line {
      width: 40px;
      height: 2px;
      background: var(--yellow-color);
      margin-right: 15px; }
      @media (max-width: 768px) {
        .label-title-description .subtitle-wrapper .subtitle-line {
          width: 30px;
          margin-right: 12px; } }
    .label-title-description .subtitle-wrapper .subtitle {
      font-size: 14px;
      line-height: 22px;
      color: var(--blue-color);
      text-transform: uppercase;
      font-weight: 500;
      letter-spacing: 3px; }
      @media (max-width: 768px) {
        .label-title-description .subtitle-wrapper .subtitle {
          font-size: 13px;
          line-height: 20px; } }
  .label-title-description .main-title {
    font-family: "Playfair Display", serif;
    font-size: 48px;
    line-height: 57px;
    color: var(--blue-color);
    font-weight: 700;
    margin: 0; }
    @media (max-width: 768px) {
      .label-title-description .main-title {
        font-size: 32px;
        line-height: 40px; } }
    @media (max-width: 480px) {
      .label-title-description .main-title {
        font-size: 28px;
        line-height: 36px; } }
  .label-title-description .main-title.no-subtitle {
    position: relative; }
    .label-title-description .main-title.no-subtitle:after {
      content: '';
      position: absolute;
      bottom: -20px;
      left: 50%;
      transform: translateX(-50%);
      width: 100px;
      height: 2px;
      background: var(--yellow-color); }
  .label-title-description .description {
    margin-top: 40px;
    color: var(--gray-color);
    font-size: 18px;
    line-height: 32px;
    max-width: 674px;
    width: 100%;
    margin: 40px auto 0; }
    @media (max-width: 768px) {
      .label-title-description .description {
        margin-top: 30px;
        font-size: 16px;
        line-height: 28px; } }
    @media (max-width: 480px) {
      .label-title-description .description {
        margin-top: 25px;
        font-size: 15px;
        line-height: 26px; } }
    .label-title-description .description p {
      margin: 0; }
      .label-title-description .description p:not(:last-child) {
        margin-bottom: 20px; }

.two-cards-columns {
  margin-top: 60px; }
  @media (max-width: 768px) {
    .two-cards-columns {
      margin-top: 40px; } }
  @media (max-width: 480px) {
    .two-cards-columns {
      padding: 30px 0; } }
  .two-cards-columns .cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px; }
    @media (max-width: 768px) {
      .two-cards-columns .cards-grid {
        grid-template-columns: 1fr;
        gap: 30px; } }
    @media (max-width: 480px) {
      .two-cards-columns .cards-grid {
        gap: 20px; } }
  .two-cards-columns .card-item {
    display: block;
    text-decoration: none;
    background: var(--white-color);
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease; }
    .two-cards-columns .card-item:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
      text-decoration: none; }
      .two-cards-columns .card-item:hover .card-link-text:after {
        left: 20px; }
  .two-cards-columns .card-image {
    width: 100%;
    height: 250px;
    overflow: hidden; }
    @media (max-width: 768px) {
      .two-cards-columns .card-image {
        height: 200px; } }
    @media (max-width: 480px) {
      .two-cards-columns .card-image {
        height: 180px; } }
    .two-cards-columns .card-image .card-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease; }
    .card-item:hover .two-cards-columns .card-image .card-img {
      transform: scale(1.05); }
  .two-cards-columns .card-content {
    padding: 30px;
    position: relative; }
    @media (max-width: 768px) {
      .two-cards-columns .card-content {
        padding: 25px; } }
    @media (max-width: 480px) {
      .two-cards-columns .card-content {
        padding: 20px; } }
  .two-cards-columns .card-icon {
    position: absolute;
    top: -15px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: var(--yellow-color);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (max-width: 768px) {
      .two-cards-columns .card-icon {
        right: 25px; } }
    @media (max-width: 480px) {
      .two-cards-columns .card-icon {
        right: 20px; } }
    .two-cards-columns .card-icon .icon-img {
      width: 30px;
      height: 30px;
      object-fit: contain; }
  .two-cards-columns .card-text {
    margin-top: 30px; }
    @media (max-width: 480px) {
      .two-cards-columns .card-text {
        margin-top: 25px; } }
  .two-cards-columns .card-title {
    font-family: "Playfair Display", serif;
    font-size: 24px;
    line-height: 32px;
    color: var(--blue-color);
    font-weight: 700;
    margin: 0 0 15px 0;
    position: relative; }
    .two-cards-columns .card-title:after {
      content: '';
      position: absolute;
      top: -10px;
      left: 0;
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color); }
    @media (max-width: 768px) {
      .two-cards-columns .card-title {
        font-size: 22px;
        line-height: 30px; } }
    @media (max-width: 480px) {
      .two-cards-columns .card-title {
        font-size: 20px;
        line-height: 28px;
        margin-bottom: 12px; } }
  .two-cards-columns .card-description {
    color: var(--gray-color);
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 20px; }
    @media (max-width: 480px) {
      .two-cards-columns .card-description {
        font-size: 15px;
        line-height: 24px;
        margin-bottom: 15px; } }
    .two-cards-columns .card-description p {
      margin: 0; }
      .two-cards-columns .card-description p:not(:last-child) {
        margin-bottom: 15px; }
        @media (max-width: 480px) {
          .two-cards-columns .card-description p:not(:last-child) {
            margin-bottom: 12px; } }
  .two-cards-columns .card-link-text {
    display: inline-flex;
    align-items: center;
    color: var(--blue-color);
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.3s ease; }
    @media (max-width: 480px) {
      .two-cards-columns .card-link-text {
        font-size: 15px; } }
    .two-cards-columns .card-link-text:after {
      content: '→';
      margin-left: 8px;
      transition: transform 0.3s ease;
      font-family: "Playfair Display", serif;
      font-size: 18px;
      transition: left 0.5s ease;
      left: 10px;
      position: relative; }
      @media (max-width: 480px) {
        .two-cards-columns .card-link-text:after {
          font-size: 16px; } }
    .card-item:hover .two-cards-columns .card-link-text {
      color: var(--yellow-color); }
      .card-item:hover .two-cards-columns .card-link-text:after {
        transform: translateX(5px); }
  .two-cards-columns .button-container {
    display: flex;
    justify-content: center;
    margin-top: 83px; }
    @media (max-width: 480px) {
      .two-cards-columns .button-container {
        margin-top: 40px; } }

.news-slider-block {
  position: relative;
  width: 100%;
  background-color: var(--light-gray-color);
  padding-block: 90px;
  margin-top: 75px; }
  @media (max-width: 990px) {
    .news-slider-block {
      padding-block: 40px; } }
  .news-slider-block .news-slider-container {
    position: relative;
    overflow: hidden; }
  .news-slider-block .news-slider {
    opacity: 0;
    transition: opacity 0.3s ease; }
    .news-slider-block .news-slider.slick-initialized {
      opacity: 1; }
  .news-slider-block .news-slide {
    outline: none; }
    .news-slider-block .news-slide .news-slide-inner {
      display: flex;
      align-items: center;
      gap: 100px;
      padding: 20px;
      min-height: 300px; }
      @media (max-width: 1200px) {
        .news-slider-block .news-slide .news-slide-inner {
          gap: 50px; } }
      @media (max-width: 990px) {
        .news-slider-block .news-slide .news-slide-inner {
          flex-direction: column;
          gap: 20px; } }
  .news-slider-block .news-slide-image {
    flex: 0 0 40%;
    max-width: 60%; }
    @media (max-width: 990px) {
      .news-slider-block .news-slide-image {
        flex: none;
        max-width: 100%;
        width: 100%; } }
    .news-slider-block .news-slide-image .news-slide-image-link {
      display: block;
      text-decoration: none;
      transition: transform 0.3s ease; }
    .news-slider-block .news-slide-image img {
      width: 670px;
      height: 446px;
      object-fit: cover;
      border-radius: 20px;
      transition: all 0.3s ease; }
      @media (max-width: 1500px) {
        .news-slider-block .news-slide-image img {
          width: 500px; } }
      @media (max-width: 1200px) {
        .news-slider-block .news-slide-image img {
          width: 400px; } }
      @media (max-width: 990px) {
        .news-slider-block .news-slide-image img {
          height: auto;
          width: 100%; } }
  .news-slider-block .news-slide-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px; }
    @media (max-width: 768px) {
      .news-slider-block .news-slide-content {
        gap: 12px; } }
    .news-slider-block .news-slide-content .news-slide-content-link {
      text-decoration: none;
      color: inherit;
      display: flex;
      flex-direction: column;
      gap: inherit;
      flex: 1;
      transition: all 0.3s ease; }
      @media (max-width: 768px) {
        .news-slider-block .news-slide-content .news-slide-content-link {
          text-align: center; } }
  .news-slider-block .news-slide-category {
    display: flex;
    align-items: center;
    gap: 10px; }
    @media (max-width: 768px) {
      .news-slider-block .news-slide-category {
        justify-content: center; } }
    .news-slider-block .news-slide-category .category-indicator {
      width: 30px;
      height: 3px;
      background-color: var(--yellow-color);
      border-radius: 2px; }
    .news-slider-block .news-slide-category .category-text {
      font-size: 14px;
      font-weight: 500;
      text-transform: uppercase;
      color: var(--main-titles-color);
      letter-spacing: 3px; }
  .news-slider-block .news-slide-title {
    font-family: "Playfair Display", serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 44px;
    color: var(--main-titles-color);
    margin: 0; }
    @media (max-width: 768px) {
      .news-slider-block .news-slide-title {
        font-size: 28px;
        line-height: 34px; } }
    @media (max-width: 480px) {
      .news-slider-block .news-slide-title {
        font-size: 24px; } }
  .news-slider-block .news-slide-excerpt {
    font-size: 16px;
    line-height: 30px;
    color: var(--gray-color); }
    .news-slider-block .news-slide-excerpt p {
      margin: 0; }
  .news-slider-block .news-slide-button {
    margin-top: 8px; }
    @media (max-width: 768px) {
      .news-slider-block .news-slide-button {
        justify-content: center;
        display: flex; } }
  .news-slider-block .news-slider-nav {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px; }
    .news-slider-block .news-slider-nav .news-slider-prev,
    .news-slider-block .news-slider-nav .news-slider-next {
      position: relative;
      z-index: 10;
      background: rgba(255, 255, 255, 0.9);
      border: 2px solid var(--yellow-color);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.3s ease; }
      .news-slider-block .news-slider-nav .news-slider-prev:hover,
      .news-slider-block .news-slider-nav .news-slider-next:hover {
        background: var(--yellow-color);
        color: var(--blue-color); }
      .news-slider-block .news-slider-nav .news-slider-prev i,
      .news-slider-block .news-slider-nav .news-slider-next i {
        font-size: 18px;
        color: var(--blue-color); }
      @media (max-width: 768px) {
        .news-slider-block .news-slider-nav .news-slider-prev,
        .news-slider-block .news-slider-nav .news-slider-next {
          width: 40px;
          height: 40px; }
          .news-slider-block .news-slider-nav .news-slider-prev i,
          .news-slider-block .news-slider-nav .news-slider-next i {
            font-size: 14px; } }
  .news-slider-block .slick-list {
    overflow: hidden; }
  .news-slider-block .slick-track {
    display: flex;
    align-items: center; }
  .news-slider-block .slick-slide {
    height: auto; }

.small-informative-banner {
  background-color: var(--yellow-color);
  height: 100px;
  display: flex;
  align-items: center; }
  .small-informative-banner .banner-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 30px; }
    @media (max-width: 768px) {
      .small-informative-banner .banner-content {
        flex-direction: column;
        gap: 15px;
        justify-content: center;
        text-align: center; } }
  .small-informative-banner .banner-text {
    flex: 1;
    position: relative; }
    .small-informative-banner .banner-text .text-indicator {
      width: 30px;
      height: 2px;
      background-color: var(--blue-color);
      margin-bottom: 10px; }
      @media (max-width: 768px) {
        .small-informative-banner .banner-text .text-indicator {
          margin: 0 auto 10px auto; } }
    .small-informative-banner .banner-text p {
      color: var(--blue-color);
      font-size: 24px;
      font-weight: 500;
      line-height: 30px;
      margin: 0;
      font-family: "Playfair Display", serif; }
      @media (max-width: 768px) {
        .small-informative-banner .banner-text p {
          font-size: 20px; } }
  .small-informative-banner .banner-button {
    flex-shrink: 0; }
    @media (max-width: 768px) {
      .small-informative-banner .banner-button .btn-blue {
        width: 180px;
        height: 45px;
        font-size: 14px; } }
  @media (max-width: 768px) {
    .small-informative-banner {
      height: auto;
      padding: 20px 0; }
      .small-informative-banner .banner-content {
        padding: 0 15px; } }

.history-quote-block {
  padding: 60px 0; }
  .history-quote-block .history-quote-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 35px; }
    @media (max-width: 768px) {
      .history-quote-block .history-quote-content {
        gap: 20px;
        padding: 0 15px; } }
  .history-quote-block .history-quote-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    letter-spacing: 3px; }
    .history-quote-block .history-quote-subtitle .subtitle-indicator {
      width: 30px;
      height: 3px;
      background-color: var(--yellow-color);
      border-radius: 2px; }
    .history-quote-block .history-quote-subtitle span {
      font-size: 14px;
      font-weight: 500;
      text-transform: uppercase;
      color: var(--main-titles-color); }
  .history-quote-block .history-quote-title {
    font-family: "Playfair Display", serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 57px;
    color: var(--main-titles-color);
    margin: 0;
    max-width: 743px;
    width: 100%;
    margin: 0 auto; }
    @media (max-width: 990px) {
      .history-quote-block .history-quote-title {
        font-size: 40px;
        line-height: 48px; } }
    @media (max-width: 768px) {
      .history-quote-block .history-quote-title {
        font-size: 32px;
        line-height: 38px; } }
    @media (max-width: 480px) {
      .history-quote-block .history-quote-title {
        font-size: 28px;
        line-height: 34px; } }
  .history-quote-block .history-quote-citation {
    font-size: 16px;
    line-height: 32px;
    color: var(--gray-color);
    font-style: italic; }
    .history-quote-block .history-quote-citation p {
      margin: 0;
      font-style: italic; }
    @media (max-width: 768px) {
      .history-quote-block .history-quote-citation {
        font-size: 15px;
        line-height: 28px; } }
  .history-quote-block .history-quote-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px; }
    .history-quote-block .history-quote-author .author-indicator {
      width: 30px;
      height: 3px;
      background-color: var(--yellow-color);
      border-radius: 2px; }
    .history-quote-block .history-quote-author span {
      font-family: "Playfair Display", serif;
      font-size: 18px;
      font-weight: 500;
      color: var(--main-titles-color); }
      @media (max-width: 768px) {
        .history-quote-block .history-quote-author span {
          font-size: 16px; } }
  .history-quote-block .history-quote-description {
    font-size: 16px;
    line-height: 28px;
    color: var(--main-titles-color);
    margin-top: 8px; }
    .history-quote-block .history-quote-description p {
      margin: 0; }
    @media (max-width: 768px) {
      .history-quote-block .history-quote-description {
        font-size: 15px;
        line-height: 26px; } }
  .history-quote-block .history-quote-buttons {
    display: flex;
    justify-content: center;
    gap: 30px;
    align-items: center;
    margin-top: 40px; }
    @media (max-width: 768px) {
      .history-quote-block .history-quote-buttons {
        flex-direction: column;
        gap: 20px;
        align-items: center; }
        .history-quote-block .history-quote-buttons .cta-button,
        .history-quote-block .history-quote-buttons .text-button {
          justify-content: center; } }
    .history-quote-block .history-quote-buttons .cta-button {
      display: inline-flex;
      align-items: center;
      padding: 19px 30px;
      background: var(--main-button-background-color);
      color: var(--main-button-text-color);
      text-decoration: none;
      border-radius: 5px;
      font-weight: 400;
      text-transform: uppercase;
      transition: all 0.3s ease; }
      .history-quote-block .history-quote-buttons .cta-button:hover {
        background: var(--main-button-background-color-hover);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        color: var(--main-button-text-color-hover);
        text-decoration: none; }
    .history-quote-block .history-quote-buttons .text-button {
      color: var(--main-titles-color);
      text-decoration: none;
      display: flex;
      align-items: center;
      gap: 10px;
      font-weight: 500;
      transition: gap 0.3s ease; }
      .history-quote-block .history-quote-buttons .text-button:hover {
        gap: 15px;
        color: var(--main-titles-color);
        text-decoration: none; }
      .history-quote-block .history-quote-buttons .text-button .arrow {
        transition: transform 0.3s ease;
        font-family: "Playfair Display", serif;
        font-size: 20px;
        color: var(--main-titles-color); }
      .history-quote-block .history-quote-buttons .text-button:hover .arrow {
        transform: translateX(5px); }
  @media (max-width: 768px) {
    .history-quote-block {
      padding: 40px 0; } }
  @media (max-width: 480px) {
    .history-quote-block {
      padding: 30px 0; } }

.small-banner-block {
  padding-top: 60px; }
  .small-banner-block .container-fcl {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
  .small-banner-block .small-banner-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .small-banner-block .small-banner-content {
        text-align: left; } }
  .small-banner-block .small-banner-subtitle {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    font-size: 16px;
    color: var(--text-color, #666);
    font-weight: 500; }
    @media (max-width: 768px) {
      .small-banner-block .small-banner-subtitle {
        justify-content: flex-start; } }
    @media (min-width: 769px) {
      .small-banner-block .small-banner-subtitle {
        justify-content: center; } }
    .small-banner-block .small-banner-subtitle .subtitle-line {
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color);
      flex-shrink: 0; }
    .small-banner-block .small-banner-subtitle span {
      font-size: 16px;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--blue-color); }
  .small-banner-block .small-banner-title {
    font-family: "Playfair Display", serif;
    font-size: 48px;
    font-weight: 700;
    color: var(--blue-color);
    margin-bottom: 25px;
    line-height: 50px; }
    @media (max-width: 1024px) {
      .small-banner-block .small-banner-title {
        font-size: 42px; } }
    @media (max-width: 768px) {
      .small-banner-block .small-banner-title {
        font-size: 36px; } }
    @media (max-width: 480px) {
      .small-banner-block .small-banner-title {
        font-size: 28px; } }
  .small-banner-block .small-banner-description {
    font-size: 18px;
    line-height: 28px;
    color: var(--gray-color); }
    .small-banner-block .small-banner-description p {
      margin-bottom: 16px; }
      .small-banner-block .small-banner-description p:last-child {
        margin-bottom: 0; }
    @media (max-width: 768px) {
      .small-banner-block .small-banner-description {
        font-size: 16px; } }

.contact-blocks-block {
  padding: 60px 0; }
  .contact-blocks-block html {
    scroll-behavior: smooth; }
  .contact-blocks-block .contact-blocks-nav {
    margin-bottom: 40px; }
    @media (max-width: 768px) {
      .contact-blocks-block .contact-blocks-nav {
        margin-bottom: 30px; } }
  .contact-blocks-block .contact-blocks-anchors {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: center; }
    @media (max-width: 768px) {
      .contact-blocks-block .contact-blocks-anchors {
        gap: 10px; } }
    .contact-blocks-block .contact-blocks-anchors li {
      margin: 0; }
    .contact-blocks-block .contact-blocks-anchors .anchor-link {
      display: inline-block;
      padding: 10px 20px;
      background: var(--blue-color);
      color: #fff;
      text-decoration: none;
      border-radius: 25px;
      font-size: 14px;
      font-weight: 500;
      transition: all 0.3s ease;
      border: 2px solid transparent;
      position: relative;
      overflow: hidden; }
      .contact-blocks-block .contact-blocks-anchors .anchor-link::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--blue-color);
        opacity: 0;
        transition: opacity 0.3s ease;
        z-index: -1; }
      .contact-blocks-block .contact-blocks-anchors .anchor-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
        .contact-blocks-block .contact-blocks-anchors .anchor-link:hover::before {
          opacity: 1; }
      .contact-blocks-block .contact-blocks-anchors .anchor-link:active {
        transform: translateY(0); }
      .contact-blocks-block .contact-blocks-anchors .anchor-link:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.3); }
      @media (max-width: 768px) {
        .contact-blocks-block .contact-blocks-anchors .anchor-link {
          padding: 8px 16px;
          font-size: 13px; } }
  .contact-blocks-block .contact-blocks-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px; }
  .contact-blocks-block .contact-block-main {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 40px;
    scroll-margin-top: 100px;
    transition: box-shadow 0.3s ease; }
    .contact-blocks-block .contact-block-main:target {
      box-shadow: 0 6px 30px rgba(0, 115, 170, 0.2);
      animation: highlightSection 0.6s ease; }
    @media (max-width: 768px) {
      .contact-blocks-block .contact-block-main {
        padding: 30px 20px;
        scroll-margin-top: 80px; } }
@keyframes highlightSection {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.01); }
  100% {
    transform: scale(1); } }
  .contact-blocks-block .contact-block-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px; }
    .contact-blocks-block .contact-block-title .title-line {
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color);
      flex-shrink: 0; }
    .contact-blocks-block .contact-block-title h3 {
      font-family: "Playfair Display", serif;
      font-size: 24px;
      font-weight: 600;
      color: var(--blue-color);
      margin: 0; }
      @media (max-width: 768px) {
        .contact-blocks-block .contact-block-title h3 {
          font-size: 20px; } }
  .contact-blocks-block .contact-sub-blocks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 63px; }
    @media (max-width: 768px) {
      .contact-blocks-block .contact-sub-blocks {
        grid-template-columns: 1fr;
        gap: 40px; } }
    .contact-blocks-block .contact-sub-blocks.full-width {
      grid-template-columns: 1fr;
      gap: 40px; }
  .contact-blocks-block .contact-sub-block {
    background-color: var(--gray-medium-color);
    padding: 11px 20px;
    border-radius: 8px; }
    @media (max-width: 768px) {
      .contact-blocks-block .contact-sub-block {
        padding: 20px; } }
  .contact-blocks-block .contact-block-text {
    margin-bottom: 25px; }
    .contact-blocks-block .contact-block-text p {
      font-size: 16px;
      line-height: 1.6;
      color: var(--black-color);
      margin-bottom: 15px; }
      .contact-blocks-block .contact-block-text p:last-child {
        margin-bottom: 0; }
    .contact-blocks-block .contact-block-text a {
      color: var(--blue-color);
      text-decoration: none;
      font-size: 16px;
      line-height: 28px;
      transition: color 0.3s ease;
      word-break: break-all; }
      .contact-blocks-block .contact-block-text a:hover {
        text-decoration: underline; }
    .contact-blocks-block .contact-block-text h1, .contact-blocks-block .contact-block-text h2, .contact-blocks-block .contact-block-text h3, .contact-blocks-block .contact-block-text h4, .contact-blocks-block .contact-block-text h5, .contact-blocks-block .contact-block-text h6 {
      color: var(--text-dark-color);
      margin-bottom: 15px; }
      .contact-blocks-block .contact-block-text h1:last-child, .contact-blocks-block .contact-block-text h2:last-child, .contact-blocks-block .contact-block-text h3:last-child, .contact-blocks-block .contact-block-text h4:last-child, .contact-blocks-block .contact-block-text h5:last-child, .contact-blocks-block .contact-block-text h6:last-child {
        margin-bottom: 0; }
    .contact-blocks-block .contact-block-text ul, .contact-blocks-block .contact-block-text ol {
      padding-left: 20px;
      margin-bottom: 15px; }
      .contact-blocks-block .contact-block-text ul li, .contact-blocks-block .contact-block-text ol li {
        margin-bottom: 8px;
        color: var(--text-color, #666); }
    .contact-blocks-block .contact-block-text strong {
      color: var(--text-dark-color); }
  .contact-blocks-block .contact-block-button {
    margin-bottom: 20px; }
    .contact-blocks-block .contact-block-button .btn-contact {
      display: inline-block;
      background-color: var(--blue-color, #007bff);
      color: var(--color-white, #fff);
      padding: 4px 20px;
      border-radius: 6px;
      text-decoration: none;
      font-size: 13px;
      font-weight: 500;
      transition: all 0.3s ease;
      border: 2px solid var(--blue-color, #007bff); }
      .contact-blocks-block .contact-block-button .btn-contact:hover {
        background-color: transparent;
        color: var(--blue-color);
        text-decoration: none; }
      .contact-blocks-block .contact-block-button .btn-contact:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25); }
      @media (max-width: 768px) {
        .contact-blocks-block .contact-block-button .btn-contact {
          font-size: 14px;
          padding: 10px 20px; } }

.contact-blocks-v2 {
  padding: 60px 0; }
  .contact-blocks-v2 .contact-blocks-v2-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px; }
  .contact-blocks-v2 .contact-card-v2 {
    background-color: var(--white-color);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden; }
    .contact-blocks-v2 .contact-card-v2 .contact-card-header {
      background-color: var(--blue-color);
      padding: 20px 30px; }
      .contact-blocks-v2 .contact-card-v2 .contact-card-header .contact-main-title {
        font-family: "Playfair Display", serif;
        font-size: 24px;
        font-weight: 600;
        color: var(--white-color);
        margin: 0; }
    .contact-blocks-v2 .contact-card-v2 .contact-card-content {
      padding: 30px; }
  .contact-blocks-v2 .contact-location .location-content {
    display: grid;
    grid-template-columns: 30% 70%;
    gap: 30px;
    align-items: start; }
    @media (max-width: 768px) {
      .contact-blocks-v2 .contact-location .location-content {
        grid-template-columns: 1fr;
        gap: 20px; } }
  .contact-blocks-v2 .contact-location .location-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--blue-color);
    margin-bottom: 15px;
    position: relative;
    padding-left: 40px; }
    .contact-blocks-v2 .contact-location .location-title::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color); }
  .contact-blocks-v2 .contact-location .location-address {
    color: var(--text-color);
    line-height: 1.6; }
    .contact-blocks-v2 .contact-location .location-address p {
      margin-bottom: 10px;
      color: var(--gray-color); }
      .contact-blocks-v2 .contact-location .location-address p:last-child {
        margin-bottom: 0; }
  .contact-blocks-v2 .contact-location .location-map iframe {
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 8px; }
  .contact-blocks-v2 .contact-transport .transport-group {
    margin-bottom: 30px; }
    .contact-blocks-v2 .contact-transport .transport-group:last-child {
      margin-bottom: 0; }
  .contact-blocks-v2 .contact-transport .transport-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--blue-color);
    margin-bottom: 20px;
    position: relative;
    padding-left: 40px; }
    .contact-blocks-v2 .contact-transport .transport-title::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color); }
  .contact-blocks-v2 .contact-transport .transport-list {
    margin-bottom: 20px; }
  .contact-blocks-v2 .contact-transport .transport-item {
    display: flex;
    gap: 5px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #eee; }
    .contact-blocks-v2 .contact-transport .transport-item:last-child {
      border-bottom: none; }
    @media (max-width: 768px) {
      .contact-blocks-v2 .contact-transport .transport-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px; } }
  .contact-blocks-v2 .contact-transport .transport-name {
    font-weight: 600;
    color: var(--blue-color); }
  .contact-blocks-v2 .contact-transport .transport-description {
    color: var(--gray-color);
    font-size: 16px; }
  .contact-blocks-v2 .contact-transport .transport-general-description {
    color: var(--gray-color);
    line-height: 22px; }
    .contact-blocks-v2 .contact-transport .transport-general-description p {
      margin-bottom: 10px; }
      .contact-blocks-v2 .contact-transport .transport-general-description p strong {
        color: var(--black-color); }
      .contact-blocks-v2 .contact-transport .transport-general-description p:last-child {
        margin-bottom: 0; }
  .contact-blocks-v2 .contact-parking .parking-item {
    margin-bottom: 25px; }
    .contact-blocks-v2 .contact-parking .parking-item:last-child {
      margin-bottom: 0; }
  .contact-blocks-v2 .contact-parking .parking-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--blue-color);
    margin-bottom: 10px;
    position: relative;
    padding-left: 40px; }
    .contact-blocks-v2 .contact-parking .parking-title::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color); }
  .contact-blocks-v2 .contact-parking .parking-description {
    color: var(--gray-color);
    line-height: 22px;
    margin: 0; }

.text-left-image-right {
  margin-top: 80px; }
  .text-left-image-right .hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 2; }
    @media (max-width: 768px) {
      .text-left-image-right .hero-content {
        grid-template-columns: 1fr;
        gap: 0px; } }
  .text-left-image-right .hero-text {
    max-width: 600px; }
  .text-left-image-right .hero-label {
    display: inline-block;
    margin-bottom: 24px; }
  .text-left-image-right .hero-label span {
    background: var(--secondary);
    color: var(--main-titles-color);
    padding: 8px 20px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px; }
  .text-left-image-right .elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px; }
  .text-left-image-right .elegant-subtitle .text {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--main-titles-color); }
  .text-left-image-right .elegant-subtitle .line {
    width: 40px;
    height: 2px;
    background: var(--accent, #FFD700); }
  .text-left-image-right .hero-text h1, .text-left-image-right .hero-text h2 {
    font-family: "Playfair Display", serif;
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--main-titles-color);
    line-height: 1.2;
    margin-bottom: 24px;
    position: relative; }
  .text-left-image-right .hero-description {
    font-size: 1.2rem;
    line-height: 1.7;
    color: var(--gray-color);
    margin-bottom: 32px; }
  .text-left-image-right .hero-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 51, 102, 0.15);
    transition: transform 0.6s ease; }
  .text-left-image-right .hero-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    transition: transform 0.6s ease;
    max-width: 100%; }

/* Projects Block: Filters + Grid (scoped) */
.projects-block {
  /* Filters Section */
  /* Projects Grid */
  /* Mapear estados do bloco e do design */
  /* No Results */
  /* Accessibility focus */
  /* Responsive */ }
  .projects-block .projects-filters {
    padding: 60px 0;
    background: #fff;
    border-bottom: 1px solid #eee; }
  .projects-block .filters-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto; }
  .projects-block .filter-group {
    position: relative; }
  .projects-block .filter-group label {
    display: block;
    font-weight: 600;
    color: var(--main-titles-color);
    margin-bottom: 8px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .projects-block .filter-dropdown {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    background: #fff;
    font-size: 16px;
    color: var(--blue-color);
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 16px center;
    background-repeat: no-repeat;
    background-size: 16px;
    cursor: pointer; }
  .projects-block .filter-dropdown:focus {
    outline: none;
    border-color: var(--yellow-color);
    box-shadow: 0 0 0 3px rgba(254, 223, 107, 0.2); }
  .projects-block .filter-dropdown:hover {
    border-color: var(--main-titles-color); }
  .projects-block .projects-grid {
    padding: 80px 0;
    background: #f8f9fa; }
  .projects-block .projects-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 40px; }
  .projects-block .project-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    position: relative;
    /* animation */
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards; }
  .projects-block .project-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 51, 102, 0.15); }
  .projects-block .project-image {
    position: relative;
    height: 240px;
    overflow: hidden;
    margin: 30px; }
  .projects-block .project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: #fff;
    transition: transform 0.6s ease; }
  .projects-block .project-card:hover .project-image img {
    transform: scale(1.1); }
  .projects-block .project-status {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .projects-block .project-status.in_progress,
  .projects-block .project-status.em-curso {
    background: #10b981;
    color: #fff; }
  .projects-block .project-status.finished,
  .projects-block .project-status.finalizado {
    background: var(--gray-color);
    color: #fff; }
  .projects-block .project-content {
    padding: 32px; }
  .projects-block .project-title {
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--main-titles-color);
    margin-bottom: 16px;
    line-height: 1.3;
    min-height: 62px;
    position: relative;
    padding-top: 20px; }
  .projects-block .project-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .projects-block .project-description {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 24px;
    font-size: 16px; }
  .projects-block .project-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px; }
  .projects-block .meta-tag {
    background: rgba(0, 51, 102, 0.08);
    color: var(--main-titles-color);
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 500; }
  .projects-block .project-years {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 12px; }
  .projects-block .year-info {
    text-align: center; }
  .projects-block .year-label {
    font-size: 12px;
    color: var(--gray-color);
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 4px; }
  .projects-block .year-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--main-titles-color); }
  .projects-block .project-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--yellow-color);
    color: var(--main-titles-color);
    padding: 12px 24px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; }
  .projects-block .project-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease; }
  .projects-block .project-cta::after {
    content: '→';
    color: var(--main-titles-color);
    transition: all 0.3s ease; }
  .projects-block .project-cta:hover::before {
    left: 100%; }
  .projects-block .project-cta:hover {
    background: var(--main-titles-color);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .projects-block .project-cta:hover::after {
    color: #fff;
    transform: translateX(3px); }
  .projects-block .no-results {
    text-align: center;
    padding: 80px 20px;
    color: var(--gray-color); }
  .projects-block .no-results h3 {
    font-size: 1.5rem;
    margin-bottom: 16px;
    color: var(--main-titles-color); }
  .projects-block .no-results p {
    font-size: 16px; }
  .projects-block .filter-dropdown:focus,
  .projects-block .project-cta:focus {
    outline: 3px solid var(--secondary);
    outline-offset: 2px; }
  @media (max-width: 1024px) {
    .projects-block .projects-container {
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 30px; } }
  @media (max-width: 768px) {
    .projects-block .filters-wrapper {
      grid-template-columns: 1fr;
      gap: 20px; }
    .projects-block .projects-container {
      grid-template-columns: 1fr;
      gap: 25px; }
    .projects-block .project-content {
      padding: 24px; } }
  @media (max-width: 480px) {
    .projects-block .project-image {
      height: 200px; }
    .projects-block .filter-dropdown {
      padding: 14px 16px;
      font-size: 14px; } }

/* Keyframes (globais) */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0); } }
/* Project Hero Section */
.banner-v1 {
  padding: 120px 0 80px;
  background: var(--banner-v1-background);
  position: relative; }
  .banner-v1 .project-hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .banner-v1 .project-hero-content {
        grid-template-columns: 1fr; } }
  .banner-v1 .hero-content-left {
    text-align: left; }
    @media (max-width: 768px) {
      .banner-v1 .hero-content-left {
        text-align: center; } }
  .banner-v1 .hero-content-right {
    display: flex;
    justify-content: center;
    align-items: center; }
  .banner-v1 .hero-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease; }
  .banner-v1 .hero-image:hover {
    transform: rotate(0deg) scale(1.02); }
  .banner-v1 .hero-image img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 450px; }
  .banner-v1 .project-subtitle {
    margin-bottom: 30px;
    display: inline-block;
    padding: 8px 16px;
    background: var(--yellow-color);
    color: var(--blue-color);
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600; }
  .banner-v1 .subtitle {
    display: inline-block;
    padding: 8px 16px;
    color: var(--blue-color);
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0px; }
  .banner-v1 .project-title {
    font-family: "Playfair Display", serif;
    font-size: 56px;
    color: var(--blue-color);
    line-height: 1.2;
    margin-bottom: 40px;
    position: relative;
    font-weight: 700; }
  .banner-v1 .project-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--yellow-color); }
    @media (max-width: 768px) {
      .banner-v1 .project-title::after {
        left: 50%;
        transform: translateX(-50%); } }
  .banner-v1 .project-logo {
    margin-bottom: 40px;
    text-align: left; }
  .banner-v1 .project-logo img {
    max-width: 280px;
    height: auto; }
  .banner-v1 .project-description {
    max-width: 100%;
    margin: 0; }
    .banner-v1 .project-description p {
      font-size: 18px;
      line-height: 1.7;
      color: var(--gray-color);
      text-align: left; }
      @media (max-width: 768px) {
        .banner-v1 .project-description p {
          text-align: center; } }

.last-news {
  margin-top: 100px;
  padding-bottom: 100px;
  /* Project News Section */
  /*.slick-track {
      margin: 0 -30px; 
      @media (max-width: $mobile-bp) {
          margin: 0px;
      }
  }*/
  /* .slick-track {
       padding-block: 30px;
   }*/
  /* Slider navigation (reusing styles from News Slider block) */ }
  @media (max-width: 768px) {
    .last-news {
      margin-top: 40px;
      padding-bottom: 40px; } }
  .last-news .project-news {
    padding: 100px 0;
    background: white; }
  .last-news .slick-slide {
    margin: 0 30px;
    /* espaçamento entre slides */ }
    @media (max-width: 768px) {
      .last-news .slick-slide {
        margin: 0px; } }
  .last-news .news-grid {
    display: grid;
    /*grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));*/
    gap: 40px;
    margin-top: 60px; }
  .last-news .news-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); }
  .last-news .news-grid .news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); }
  .last-news .news-image {
    position: relative;
    height: 240px;
    overflow: hidden; }
  .last-news .news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .last-news .news-card:hover .news-image img {
    transform: scale(1.05); }
  .last-news .news-content {
    padding: 30px; }
  .last-news .news-content h3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .last-news .news-content h3 {
    font-size: 20px;
    color: var(--blue-color);
    margin-bottom: 15px;
    padding-top: 20px;
    line-height: 1.4;
    font-weight: 600;
    font-family: "Playfair Display", serif;
    position: relative; }
  .last-news .news-content p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 20px; }
  .last-news .button-container .news-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 12px 24px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; }
  .last-news .news-cta:hover {
    background: var(--blue-color);
    color: var(--white-color); }
  .last-news .news-cta::after {
    content: '→';
    color: var(--blue-color);
    font-size: 14px;
    font-family: "Playfair Display", serif;
    transition: all 0.3s ease; }
  .last-news .news-cta:hover::after {
    color: var(--white-color);
    transform: translateX(3px); }
  .last-news .news-slider-nav {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px; }
    .last-news .news-slider-nav .news-slider-prev,
    .last-news .news-slider-nav .news-slider-next {
      position: relative;
      z-index: 10;
      background: rgba(255, 255, 255, 0.9);
      border: 2px solid var(--yellow-color);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.3s ease; }
      .last-news .news-slider-nav .news-slider-prev:hover,
      .last-news .news-slider-nav .news-slider-next:hover {
        background: var(--yellow-color);
        color: var(--blue-color); }
      .last-news .news-slider-nav .news-slider-prev i,
      .last-news .news-slider-nav .news-slider-next i {
        font-size: 18px;
        color: var(--blue-color); }
      @media (max-width: 768px) {
        .last-news .news-slider-nav .news-slider-prev,
        .last-news .news-slider-nav .news-slider-next {
          width: 40px;
          height: 40px; }
          .last-news .news-slider-nav .news-slider-prev i,
          .last-news .news-slider-nav .news-slider-next i {
            font-size: 14px; } }

.project-sheet {
  /* Project Details Section */
  /* Grid Layout Classes */
  /* Base Info Card Styles */
  /* Icon Styles */
  /* Typography */
  /* Special Card Types */
  /* Accent Card */ }
  .project-sheet .project-details {
    padding: 100px 0;
    background: #f8f9fa; }
    @media (max-width: 768px) {
      .project-sheet .project-details {
        padding: 40px 0; } }
    @media (max-width: 768px) {
      .project-sheet .project-details .section-header {
        margin-bottom: 0px; } }
  .project-sheet .project-details-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    margin-top: 60px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    @media (max-width: 768px) {
      .project-sheet .project-details-layout {
        grid-template-columns: 1fr;
        margin-top: 0px; } }
  .project-sheet .project-main-content {
    display: flex;
    flex-direction: column;
    gap: 30px; }
  .project-sheet .project-sidebar {
    align-self: start;
    position: sticky;
    top: 100px; }
  .project-sheet .sidebar-content {
    background: #f8f9fa;
    border-radius: 15px;
    padding: 35px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
  .project-sheet .sidebar-section {
    margin-bottom: 35px; }
  .project-sheet .sidebar-section:last-child {
    margin-bottom: 0; }
  .project-sheet .sidebar-title {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 16px;
    font-weight: 700;
    color: var(--blue-color);
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px; }
  .project-sheet .title-line {
    width: 30px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .project-sheet .sidebar-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--gray-color); }
  .project-sheet .sidebar-text p {
    margin-bottom: 12px; }
  .project-sheet .sidebar-text p:last-child {
    margin-bottom: 0; }
  .project-sheet .sidebar-text strong {
    color: var(--blue-color);
    font-weight: 600; }
  .project-sheet .sidebar-text ul {
    margin: 10px 0;
    padding-left: 20px; }
  .project-sheet .sidebar-text li {
    margin-bottom: 8px;
    position: relative; }
  .project-sheet .sidebar-text li::marker {
    color: var(--yellow-color); }
  .project-sheet .sidebar-highlight {
    background: linear-gradient(135deg, var(--blue-color) 0%, #004080 100%);
    border-radius: 10px;
    padding: 25px;
    margin: 25px -10px 0;
    color: white;
    margin-bottom: 30px; }
  .project-sheet .sidebar-highlight .sidebar-title {
    color: white; }
  .project-sheet .sidebar-highlight .title-line {
    background: var(--yellow-color); }
  .project-sheet .sidebar-highlight .sidebar-text {
    color: rgba(255, 255, 255, 0.9); }
  .project-sheet .sidebar-highlight .sidebar-text strong {
    color: var(--yellow-color); }
  .project-sheet .project-info-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 30px;
    margin-top: 60px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
  .project-sheet .info-card-6 {
    grid-column: span 6; }
  .project-sheet .info-card-4 {
    grid-column: span 4; }
  .project-sheet .info-card-12 {
    grid-column: span 12; }
  .project-sheet .info-card {
    background: white;
    padding: 35px;
    border-radius: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    height: fit-content; }
  .project-sheet .info-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--blue-color) 0%, #004080 100%); }
  .project-sheet .info-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); }
  .project-sheet .info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--yellow-color) 0%, #ffeaa7 100%);
    border-radius: 16px;
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(254, 223, 107, 0.3); }
  .project-sheet .info-icon i {
    font-size: 24px;
    color: var(--blue-color); }
  .project-sheet .info-card h3 {
    font-family: "Playfair Display", serif;
    font-size: 20px;
    color: var(--blue-color);
    margin-bottom: 20px;
    font-weight: 600;
    line-height: 1.3; }
  .project-sheet .info-content p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--gray-color);
    margin-bottom: 12px; }
  .project-sheet .info-content strong {
    color: var(--blue-color);
    font-weight: 600; }
  .project-sheet .info-content ul,
  .project-sheet .info-content ol {
    margin: 20px 0;
    padding-left: 24px; }
  .project-sheet .info-content li {
    font-size: 16px;
    line-height: 1.7;
    color: var(--gray-color);
    margin-bottom: 10px;
    position: relative; }
  .project-sheet .info-content ul li::marker {
    color: var(--yellow-color); }
  .project-sheet .info-content ol li::marker {
    color: var(--blue-color);
    font-weight: 600; }
  .project-sheet .info-card.highlight {
    background: linear-gradient(135deg, var(--blue-color) 0%, #004080 100%);
    color: white; }
  .project-sheet .info-card.highlight::before {
    background: linear-gradient(90deg, var(--yellow-color) 0%, #ffeaa7 100%); }
  .project-sheet .info-card.highlight h3 {
    color: white; }
  .project-sheet .info-card.highlight .info-content p,
  .project-sheet .info-card.highlight .info-content li {
    color: rgba(255, 255, 255, 0.9); }
  .project-sheet .info-card.highlight .info-content strong {
    color: var(--yellow-color); }
  .project-sheet .info-card.highlight .info-icon {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px); }
  .project-sheet .info-card.highlight .info-icon i {
    color: var(--yellow-color); }
  .project-sheet .info-card.accent {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); }
  .project-sheet .info-card.accent::before {
    background: linear-gradient(90deg, var(--blue-color) 0%, #004080 100%); }
  .project-sheet .info-card.accent .info-icon {
    background: var(--blue-color); }
  .project-sheet .info-card.accent .info-icon i {
    color: white; }

/* Project Partners Section */
.project-partners {
  padding: 60px 0;
  background: white; }

.partners-banner {
  text-align: center; }

.partners-banner img {
  max-width: 100%;
  height: auto; }

/* Project Numbers Section */
.project-numbers {
  padding: 100px 0;
  background: var(--blue-color);
  color: white; }

.project-numbers .section-title {
  color: white; }

.project-numbers .section-description {
  color: rgba(255, 255, 255, 0.8); }

.numbers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
  margin-top: 60px; }

.number-card {
  text-align: center;
  padding: 30px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  backdrop-filter: blur(10px);
  transition: transform 0.3s ease; }

.number-card:hover {
  transform: translateY(-5px); }

.number-value {
  font-family: "Playfair Display", serif;
  font-size: 48px;
  font-weight: 700;
  color: var(--yellow-color);
  margin-bottom: 15px;
  display: block; }

.number-label {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9); }

.testimonials-v1 {
  /* Project Testimonials Section */ }
  .testimonials-v1 .project-testimonials {
    padding: 100px 0;
    background: white; }
  .testimonials-v1 .testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 60px; }
  .testimonials-v1 .section-title {
    position: relative; }
  .testimonials-v1 .section-title:after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 2px;
    background: var(--yellow-color); }
  .testimonials-v1 .testimonial-card {
    background: white;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
    position: relative; }
  .testimonials-v1 .testimonial-card:hover {
    transform: translateY(-10px); }
  .testimonials-v1 .testimonial-card.featured {
    background: var(--blue-color);
    color: white; }
  .testimonials-v1 .testimonial-content {
    margin-bottom: 30px; }
  .testimonials-v1 .quote-icon {
    font-family: "Playfair Display", serif;
    font-size: 48px;
    color: var(--yellow-color);
    line-height: 1;
    margin-bottom: 20px;
    display: block; }
  .testimonials-v1 .testimonial-content p {
    font-size: 18px;
    line-height: 1.8;
    margin: 0; }
  .testimonials-v1 .testimonial-author {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 20px; }
  .testimonials-v1 .featured .testimonial-author {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .testimonials-v1 .author-role {
    font-size: 14px;
    color: var(--gray-color);
    font-weight: 500; }
  .testimonials-v1 .featured .author-role {
    color: rgba(255, 255, 255, 0.8); }

/* Project Resources Section */
.teaching-resources .project-resources {
  padding: 100px 0;
  background: #f8f9fa; }
.teaching-resources .resources-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  margin-top: 60px; }
.teaching-resources .resource-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  display: block;
  /* support anchor-wrapped cards */
  text-decoration: none;
  /* remove default link underline */
  color: inherit;
  /* inherit text color */ }
.teaching-resources .resource-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); }
.teaching-resources .resource-image {
  position: relative;
  height: 250px;
  overflow: hidden; }
.teaching-resources .resource-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease; }
.teaching-resources .resource-card:hover .resource-image img {
  transform: scale(1.05); }
.teaching-resources .resource-content {
  padding: 30px; }
.teaching-resources .resource-content h3 {
  font-size: 18px;
  color: var(--blue-color);
  margin-bottom: 15px;
  line-height: 1.4;
  font-weight: 600; }
.teaching-resources .resource-content p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--gray-color);
  margin-bottom: 20px; }
.teaching-resources .resource-cta {
  display: inline-flex;
  align-items: center;
  background: var(--blue-color);
  color: white;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  padding: 12px 24px;
  border-radius: 25px;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px; }
.teaching-resources .resource-cta:hover {
  background: var(--yellow-color);
  color: var(--blue-color);
  transform: translateX(5px); }

.logos-slider {
  padding: 24px 0; }
  .logos-slider .logos-empty-state {
    text-align: center;
    color: #666;
    font-size: 0.95rem;
    padding: 16px 0; }
  .logos-slider .logos-slider__list {
    margin: 0 -10px; }
    .logos-slider .logos-slider__list .slick-list {
      overflow: hidden; }
    .logos-slider .logos-slider__list .slick-track {
      display: flex;
      align-items: center; }
  .logos-slider .logo-item {
    padding: 10px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 100%;
    box-sizing: border-box; }
    .logos-slider .logo-item img {
      display: block;
      max-width: 100%;
      width: auto;
      height: auto;
      max-height: 64px;
      object-fit: contain;
      filter: grayscale(0%);
      transition: filter .2s ease, opacity .2s ease, transform .2s ease;
      opacity: 0.95; }
    .logos-slider .logo-item:hover img, .logos-slider .logo-item:focus-within img {
      filter: grayscale(0%);
      opacity: 1; }
  .logos-slider .slick-dots {
    display: none !important; }

@media (max-width: 1199.98px) {
  .logos-slider .logo-item img {
    max-height: 56px; } }
@media (max-width: 991.98px) {
  .logos-slider .logo-item img {
    max-height: 52px; } }
@media (max-width: 767.98px) {
  .logos-slider .logo-item img {
    max-height: 48px; } }
@media (max-width: 575.98px) {
  .logos-slider .logo-item img {
    max-height: 44px; } }
.related-projects {
  /* More Projects Section */ }
  .related-projects .more-projects {
    padding: 100px 0;
    background: #f9f9f9; }
  .related-projects .projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 60px; }
  .related-projects .project-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    display: block;
    /* ensure anchor cards behave like block-level */
    text-decoration: none;
    /* remove default link underline */
    color: inherit;
    /* inherit text color for inner elements */ }
  .related-projects .project-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); }
  .related-projects .project-image {
    height: 200px;
    overflow: hidden; }
  .related-projects .project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .related-projects .project-card:hover .project-image img {
    transform: scale(1.05); }
  .related-projects .project-content {
    padding: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .related-projects .project-content h3 {
    font-size: 18px;
    color: var(--blue-color);
    margin: 0; }
  .related-projects .project-link {
    color: var(--blue-color);
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease; }
  .related-projects .project-link:hover {
    color: var(--yellow-color);
    transform: translateX(5px); }

.banner-v2 {
  /* Projects Hero Section */ }
  .banner-v2 .projects-hero {
    padding: 120px 0 80px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    position: relative;
    overflow: hidden; }
    @media (max-width: 1024px) {
      .banner-v2 .projects-hero {
        padding: 80px 0 40px; } }
  .banner-v2 .projects-hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto; }
    @media (max-width: 1024px) {
      .banner-v2 .projects-hero-content {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center; } }
    .banner-v2 .projects-hero-content .elegant-subtitle {
      display: flex;
      align-items: center;
      gap: 15px;
      margin-bottom: 30px; }
      .banner-v2 .projects-hero-content .elegant-subtitle .line {
        width: 40px;
        height: 2px;
        background: var(--yellow-color); }
      .banner-v2 .projects-hero-content .elegant-subtitle .text {
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 3px;
        color: var(--blue-color);
        font-weight: 600; }
    .banner-v2 .projects-hero-content .hero-image {
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s ease; }
      .banner-v2 .projects-hero-content .hero-image img {
        width: 100%;
        height: auto;
        display: block;
        height: 439px;
        object-fit: cover;
        transition: transform 0.5s ease; }
        @media (max-width: 1024px) {
          .banner-v2 .projects-hero-content .hero-image img {
            height: 300px; } }
  .banner-v2 .hero-content {
    text-align: left; }
  .banner-v2 .hero-title {
    font-family: "Playfair Display", serif;
    font-size: 64px;
    color: var(--blue-color);
    line-height: 1.1;
    margin-bottom: 30px;
    position: relative;
    font-weight: 700; }
    @media (max-width: 1024px) {
      .banner-v2 .hero-title {
        font-size: 40px; } }
  .banner-v2 .hero-description {
    margin-top: 40px; }
    @media (max-width: 1024px) {
      .banner-v2 .hero-description {
        margin-top: 20px; } }
  .banner-v2 .hero-description p {
    font-size: 18px;
    line-height: 1.7;
    color: var(--gray-color);
    max-width: 90%; }
    @media (max-width: 1024px) {
      .banner-v2 .hero-description p {
        max-width: 100%; } }
  .banner-v2 .cta-button-yellow {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    padding: 10px 26px;
    background: var(--yellow-color);
    color: var(--blue-color);
    text-decoration: none;
    border-radius: 5px;
    font-weight: 400;
    text-transform: uppercase;
    transition: all 0.3s ease; }
    .banner-v2 .cta-button-yellow:hover {
      background: var(--blue-color);
      color: var(--white-color); }

/* Project Categories Section - 3 Cards Layout */
.three-cards-grid-v1 {
  margin-top: 100px;
  /* Blue Button for Project Cards */ }
  @media (max-width: 1024px) {
    .three-cards-grid-v1 {
      margin-top: 50px; } }
  .three-cards-grid-v1 .project-categories {
    background: var(--white-color); }
  .three-cards-grid-v1 .project-categories .elegant-subtitle {
    min-height: 32px; }
  .three-cards-grid-v1 .projects-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(274px, 1fr));
    gap: 40px;
    padding: 0 20px; }
    @media (max-width: 1024px) {
      .three-cards-grid-v1 .projects-grid {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center; } }
    .three-cards-grid-v1 .projects-grid.projects-grid-four-columns {
      grid-template-columns: repeat(4, minmax(274px, 1fr)); }
      @media (max-width: 1200px) {
        .three-cards-grid-v1 .projects-grid.projects-grid-four-columns {
          grid-template-columns: 2fr; } }
      @media (max-width: 1024px) {
        .three-cards-grid-v1 .projects-grid.projects-grid-four-columns {
          grid-template-columns: 1fr; } }
  .three-cards-grid-v1 .project-card {
    background: var(--white-color);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    position: relative;
    display: block;
    /* support anchor-wrapped cards */
    text-decoration: none;
    /* remove link underline */
    color: inherit;
    /* inherit text color */ }
  .three-cards-grid-v1 .project-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1); }
  .three-cards-grid-v1 .project-card .card-image {
    position: relative;
    height: 250px;
    overflow: hidden; }
  .three-cards-grid-v1 .project-card .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .three-cards-grid-v1 .project-card:hover .card-image img {
    transform: scale(1.05); }
  .three-cards-grid-v1 .project-card .card-content {
    padding: 30px; }
    @media (max-width: 1024px) {
      .three-cards-grid-v1 .project-card .card-content {
        padding: 20px;
        padding-bottom: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column; } }
  .three-cards-grid-v1 .card-subtitle {
    display: inline-block;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    line-height: 16px; }
  .three-cards-grid-v1 .project-card .card-content h2 {
    font-family: "Playfair Display", serif;
    font-weight: 600;
    font-size: 28px;
    color: var(--blue-color);
    line-height: 1.2;
    margin-bottom: 15px;
    min-height: 67px;
    position: relative;
    padding-top: 20px;
    max-width: 226px; }
    @media (max-width: 1024px) {
      .three-cards-grid-v1 .project-card .card-content h2 {
        margin-bottom: 0;
        font-size: 24px;
        line-height: 30px; } }
  .three-cards-grid-v1 .project-card .card-content h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
    @media (max-width: 1024px) {
      .three-cards-grid-v1 .project-card .card-content h2::before {
        left: 50%;
        transform: translateX(-50%); } }
  .three-cards-grid-v1 .project-card .card-content p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 25px; }
  .three-cards-grid-v1 .cta-button-blue {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 12px 24px;
    font-size: 14px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    text-transform: uppercase; }
  .three-cards-grid-v1 .cta-button-blue::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease; }
  .three-cards-grid-v1 .project-card:hover .cta-button-blue {
    background: var(--blue-color);
    color: var(--white-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .three-cards-grid-v1 .project-card:hover .cta-button-blue::after {
    color: var(--white-color);
    transform: translateX(3px); }
  .three-cards-grid-v1 .cta-button-blue::after {
    content: '→';
    color: var(--blue-color);
    transition: all 0.3s ease; }
  .three-cards-grid-v1 .cta-button-blue:hover::before {
    left: 100%; }

/* Unavailable state styles */
.three-cards-grid-v1 .project-card.is-unavailable {
  /* Prevent hover elevation for unavailable cards */
  /* Keep shimmer/shine from moving the button if present */
  /* Keep the CTA static on hover */ }
  .three-cards-grid-v1 .project-card.is-unavailable:hover {
    transform: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); }
  .three-cards-grid-v1 .project-card.is-unavailable .card-image img {
    filter: grayscale(100%); }
  .three-cards-grid-v1 .project-card.is-unavailable .cta-button-blue {
    background: var(--blue-color);
    color: var(--white-color);
    transform: none;
    box-shadow: none; }
  .three-cards-grid-v1 .project-card.is-unavailable .cta-button-blue::after {
    color: var(--white-color);
    transform: none; }
  .three-cards-grid-v1 .project-card.is-unavailable .cta-button-blue::before {
    display: none; }
  .three-cards-grid-v1 .project-card.is-unavailable:hover .cta-button-blue {
    transform: none;
    box-shadow: none; }
  .three-cards-grid-v1 .project-card.is-unavailable:hover .cta-button-blue::after {
    transform: none; }

/* Image Left - Title, Description and List Right */
.image-left-title-description-list-right {
  padding: 40px 0;
  /* Elegant Subtitle */
  /* Action Lines Section */ }
  .image-left-title-description-list-right .elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px; }
  .image-left-title-description-list-right .elegant-subtitle .line {
    width: 40px;
    height: 2px;
    background: var(--yellow-color);
    border-radius: 1px; }
  .image-left-title-description-list-right .elegant-subtitle .text {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--blue-color);
    font-weight: 600; }
  .image-left-title-description-list-right .elegant-subtitle .text.text-small {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--blue-color);
    font-weight: 600; }
  .image-left-title-description-list-right .action-lines {
    padding: 100px 0;
    background: #f8f9fa; }
    @media (max-width: 1024px) {
      .image-left-title-description-list-right .action-lines {
        padding: 40px 0; } }
  .image-left-title-description-list-right .action-lines-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; }
    @media (max-width: 1024px) {
      .image-left-title-description-list-right .action-lines-content {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center; } }
  .image-left-title-description-list-right .action-lines-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    height: 100%; }
  .image-left-title-description-list-right .action-lines-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover; }
  .image-left-title-description-list-right .action-lines-text h2 {
    font-family: "Playfair Display", serif;
    font-size: 48px;
    color: var(--blue-color);
    line-height: 1.2;
    margin-bottom: 30px;
    font-weight: bold; }
    @media (max-width: 1024px) {
      .image-left-title-description-list-right .action-lines-text h2 {
        font-size: 28px;
        line-height: 36px; } }
  .image-left-title-description-list-right .action-description > p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--gray-color);
    margin-bottom: 25px; }
  .image-left-title-description-list-right .action-areas {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 30px; }
  .image-left-title-description-list-right .action-area {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #e9ecef; }
  .image-left-title-description-list-right .action-area:last-child {
    border-bottom: none; }
  .image-left-title-description-list-right .action-icon {
    width: 60px;
    height: 60px;
    background: var(--yellow-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; }
  .image-left-title-description-list-right .action-icon i {
    font-size: 24px;
    color: var(--blue-color); }
  .image-left-title-description-list-right .action-area h3 {
    font-size: 18px;
    color: var(--blue-color);
    font-weight: 600;
    margin: 0; }
    @media (max-width: 1024px) {
      .image-left-title-description-list-right .action-area h3 {
        font-size: 16px; } }

.featured-projetcs {
  /* Historical Projects Section */ }
  .featured-projetcs .historical-projects {
    padding: 100px 0;
    background: white; }
  .featured-projetcs .historical-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 40px;
    margin-bottom: 60px; }
    @media (max-width: 1024px) {
      .featured-projetcs .historical-grid {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center; } }
  .featured-projetcs .historical-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    position: relative; }
  .featured-projetcs .historical-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1); }
  .featured-projetcs .historical-card .card-image {
    position: relative;
    height: 250px;
    overflow: hidden; }
  .featured-projetcs .historical-card .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .featured-projetcs .historical-card:hover .card-image img {
    transform: scale(1.05); }
  .featured-projetcs .historical-card .card-content {
    padding: 30px; }
  .featured-projetcs .card-year {
    display: inline-block;
    padding: 6px 12px;
    background: var(--yellow-color);
    color: var(--blue-color);
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px; }
  .featured-projetcs .historical-card .card-content h3 {
    font-size: 22px;
    color: var(--blue-color);
    margin-bottom: 15px;
    line-height: 1.3;
    font-weight: 600;
    position: relative;
    padding-top: 20px; }
  .featured-projetcs .historical-card .card-content h3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .featured-projetcs .historical-card .card-content p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 20px; }
  .featured-projetcs .card-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 12px 24px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; }
  .featured-projetcs .card-cta::after {
    content: '→';
    color: var(--blue-color);
    font-family: "Playfair Display", serif;
    transition: all 0.3s ease; }
  .featured-projetcs .card-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease; }
  .featured-projetcs .card-cta:hover::before {
    left: 100%; }
  .featured-projetcs .card-cta:hover {
    background: var(--yellow-color);
    color: var(--blue-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .featured-projetcs .card-cta:hover::after {
    transform: translateX(3px); }
  .featured-projetcs .historical-cta {
    text-align: center;
    margin-top: 60px; }
  .featured-projetcs .slide-buttons {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; }
  .featured-projetcs .text-button {
    color: var(--blue-color);
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease; }
  .featured-projetcs .text-button .arrow {
    transition: transform 0.3s ease; }
  .featured-projetcs .text-button:hover .arrow {
    transform: translateX(5px); }
  .featured-projetcs .cta-button-yellow {
    display: inline-flex;
    align-items: center;
    padding: 19px 30px;
    background: var(--yellow-color);
    color: var(--blue-color);
    text-decoration: none;
    border-radius: 5px;
    font-weight: 400;
    text-transform: uppercase;
    transition: all 0.3s ease; }
    .featured-projetcs .cta-button-yellow:hover {
      background: var(--blue-color);
      color: var(--white-color); }

/* Resources Small List (ACF repeater-based) */
.resources-small-list {
  /* Columns behavior */ }
  .resources-small-list .project-resources {
    padding: 100px 0;
    background: #f8f9fa; }
  .resources-small-list .resources-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 60px; }
  .resources-small-list .resource-card {
    background: var(--white-color);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    display: block;
    text-decoration: none;
    color: inherit; }
  .resources-small-list .resource-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); }
  .resources-small-list .resource-image {
    position: relative;
    height: 250px;
    overflow: hidden; }
  .resources-small-list .resource-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .resources-small-list .resource-card:hover .resource-image img {
    transform: scale(1.05); }
  .resources-small-list .resource-content {
    padding: 30px; }
  .resources-small-list .resource-content h3 {
    font-size: 18px;
    color: var(--blue-color);
    margin-bottom: 15px;
    line-height: 1.4;
    font-weight: 600; }
  .resources-small-list .resource-content p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 20px; }
  .resources-small-list .resource-cta {
    display: inline-flex;
    align-items: center;
    background: var(--blue-color);
    color: white;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    padding: 12px 24px;
    border-radius: 25px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px; }
  .resources-small-list .resource-cta:hover {
    background: var(--yellow-color);
    color: var(--blue-color);
    transform: translateX(5px); }
  .resources-small-list.cols-2 .resources-grid {
    grid-template-columns: repeat(2, minmax(250px, 1fr)); }
  .resources-small-list.cols-1 .resources-grid {
    width: 50%;
    /* same width as half-grid */
    margin-left: auto;
    margin-right: auto;
    /* keep vertical spacing consistent with base */
    grid-template-columns: 1fr; }
  @media (max-width: 992px) {
    .resources-small-list.cols-3 .resources-grid {
      grid-template-columns: repeat(2, 1fr); }
    .resources-small-list.cols-1 .resources-grid {
      width: 70%; } }
  @media (max-width: 768px) {
    .resources-small-list.cols-3 .resources-grid {
      grid-template-columns: 1fr; }
    .resources-small-list.cols-2 .resources-grid {
      grid-template-columns: 1fr; }
    .resources-small-list.cols-1 .resources-grid {
      width: 100%; } }

/* Resources Filter List: Filters + Grid (scoped) */
.resources-filter-list {
  /* Filters Section */
  /* Grid */
  /* Apply grid to inner container because markup wraps with .container-fcl */
  /* No Results */
  /* Accessibility focus */
  /* Responsive */ }
  .resources-filter-list .resources-filters {
    padding: 60px 0;
    background: #fff;
    border-bottom: 1px solid #eee; }
  .resources-filter-list .filters-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto; }
  .resources-filter-list .filter-group {
    position: relative; }
  .resources-filter-list .filter-group label {
    display: block;
    font-weight: 600;
    color: var(--main-titles-color);
    margin-bottom: 8px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .resources-filter-list .filter-dropdown {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    background: #fff;
    font-size: 16px;
    color: var(--blue-color);
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 16px center;
    background-repeat: no-repeat;
    background-size: 16px;
    cursor: pointer; }
  .resources-filter-list .filter-dropdown:focus {
    outline: none;
    border-color: var(--yellow-color);
    box-shadow: 0 0 0 3px rgba(254, 223, 107, 0.2); }
  .resources-filter-list .filter-dropdown:hover {
    border-color: var(--main-titles-color); }
  .resources-filter-list .resources-grid {
    padding: 80px 0;
    background: #f8f9fa;
    display: flex; }
  .resources-filter-list .resources-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 60px; }
  .resources-filter-list .no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: var(--gray-color);
    background: transparent; }
  .resources-filter-list .no-results h3 {
    font-size: 1.5rem;
    margin-bottom: 12px;
    color: var(--main-titles-color); }
  .resources-filter-list .no-results p {
    font-size: 16px; }
  .resources-filter-list .filter-dropdown:focus {
    outline: 3px solid var(--secondary);
    outline-offset: 2px; }
  @media (max-width: 1024px) {
    .resources-filter-list .resources-container {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px; } }
  @media (max-width: 768px) {
    .resources-filter-list .filters-wrapper {
      grid-template-columns: 1fr;
      gap: 20px; }
    .resources-filter-list .resources-container {
      grid-template-columns: 1fr;
      gap: 25px; } }
  @media (max-width: 480px) {
    .resources-filter-list .filter-dropdown {
      padding: 14px 16px;
      font-size: 14px; } }

.banner-v3 {
  background: linear-gradient(135deg, var(--blue-color) 0%, #004080 100%);
  color: var(--white-color);
  padding: 80px 0;
  min-height: 70vh;
  display: flex;
  align-items: center; }
  .banner-v3 .single-elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px; }
    @media (max-width: 768px) {
      .banner-v3 .single-elegant-subtitle {
        justify-content: center; } }
  .banner-v3 .single-elegant-subtitle.single-center {
    justify-content: center; }
  .banner-v3 .single-line {
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .banner-v3 .single-text {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--white-color);
    font-weight: 600; }
    @media (max-width: 768px) {
      .banner-v3 .single-text {
        font-size: 13px; } }
  .banner-v3 .single-hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center; }
    @media (max-width: 768px) {
      .banner-v3 .single-hero-content {
        grid-template-columns: 1fr; } }
  .banner-v3 .single-hero-text h1 {
    font-family: "Playfair Display", serif;
    font-size: 3.5rem;
    font-weight: 700;
    margin: 20px 0;
    line-height: 1.2; }
    @media (max-width: 768px) {
      .banner-v3 .single-hero-text h1 {
        font-size: 40px; } }
  .banner-v3 .single-hero-description {
    font-size: 18px;
    line-height: 1.8;
    margin: 25px 0 40px;
    opacity: 0.9; }
  .banner-v3 .single-hero-highlights {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px; }
  .banner-v3 .single-hero-logo {
    margin-bottom: 10px; }
  .banner-v3 .single-dgert-logo {
    height: 60px;
    width: auto; }
  .banner-v3 .single-hero-tag {
    display: inline-block;
    margin-bottom: 30px; }
  .banner-v3 .single-tag-label {
    background: rgba(254, 223, 107, 0.9);
    color: var(--blue-color);
    padding: 12px 24px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.5px; }
  .banner-v3 .single-hero-cta {
    display: inline-flex;
    align-items: center;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    font-size: 16px; }
  .banner-v3 .single-hero-cta::after {
    content: '→';
    margin-left: 8px;
    transition: transform 0.3s ease; }
  .banner-v3 .single-hero-cta:hover {
    background: var(--white-color);
    color: var(--blue-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .banner-v3 .single-hero-cta:hover::after {
    transform: translateX(5px); }
  .banner-v3 .single-hero-image {
    display: flex;
    justify-content: center;
    align-items: center; }
  .banner-v3 .single-hero-image img {
    max-width: 100%;
    height: 620px;
    object-fit: cover;
    border-radius: 15px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); }
    @media (max-width: 768px) {
      .banner-v3 .single-hero-image img {
        height: 300px; } }

.image-top-text-list-faqs {
  /* Left Column */
  margin-bottom: 40px;
  /* Single unified card wrapper */
  /* Remove bottom margin for the last card in the column */
  /* Keep padding on an inner wrapper so only height animates */
  /* When open, allow natural height while JS clears inline height after transition */
  /* Normalize inner margins to avoid clipping/overflow due to first/last child margins */ }
  .image-top-text-list-faqs .single-left-column {
    display: flex;
    flex-direction: column;
    /* spacing handled at card level */ }
  .image-top-text-list-faqs .single-card {
    background: var(--white-color);
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    margin-bottom: 40px; }
  .image-top-text-list-faqs .single-left-column > *:last-child {
    margin-bottom: 0; }
  .image-top-text-list-faqs .single-description-image {
    margin-bottom: 30px; }
  .image-top-text-list-faqs .single-description-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 10px; }
  .image-top-text-list-faqs .single-card h2 {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    color: var(--blue-color);
    margin-bottom: 25px;
    position: relative;
    padding-top: 20px;
    font-weight: 700; }
  .image-top-text-list-faqs .single-card h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .image-top-text-list-faqs .single-card p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--gray-color);
    margin-bottom: 20px; }
  .image-top-text-list-faqs .single-objectives-list {
    list-style: none;
    padding: 0; }
  .image-top-text-list-faqs .single-objectives-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    font-size: 16px;
    color: var(--gray-color); }
  .image-top-text-list-faqs .single-objectives-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--yellow-color);
    font-weight: bold; }
  .image-top-text-list-faqs .single-learning-section {
    margin-bottom: 30px; }
  .image-top-text-list-faqs .single-learning-section h3 {
    font-family: "Playfair Display", serif;
    color: var(--blue-color);
    font-size: 1.3rem;
    margin-bottom: 15px; }
  .image-top-text-list-faqs .single-program-intro {
    font-size: 16px;
    line-height: 1.7;
    color: var(--gray-color);
    margin-bottom: 30px; }
  .image-top-text-list-faqs .single-methodology {
    margin-top: 30px;
    padding: 25px;
    background: transparent;
    /* keep inside the main card */
    border-radius: 0;
    border-left: 4px solid var(--yellow-color); }
  .image-top-text-list-faqs .single-methodology h3 {
    font-family: "Playfair Display", serif;
    color: var(--blue-color);
    font-size: 18px;
    margin-bottom: 15px; }
  .image-top-text-list-faqs .single-methodology p {
    color: var(--gray-color);
    line-height: 1.6;
    margin: 0; }
  .image-top-text-list-faqs .single-program-days {
    display: flex;
    flex-direction: column;
    gap: 25px; }
  .image-top-text-list-faqs .single-day-item {
    background: var(--white-color);
    border-radius: 15px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border-left: 4px solid var(--yellow-color); }
  .image-top-text-list-faqs .single-day-item:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12); }
  .image-top-text-list-faqs .single-day-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #f8f9fa; }
  .image-top-text-list-faqs .single-day-question:hover {
    background: #e9ecef; }
  .image-top-text-list-faqs .single-day-item h3 {
    font-family: "Playfair Display", serif;
    color: var(--blue-color);
    font-size: 18px;
    margin: 0;
    font-weight: 600; }
  .image-top-text-list-faqs .single-day-toggle {
    background: none;
    border: none;
    color: var(--yellow-color);
    font-size: 1.2rem;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center; }
  .image-top-text-list-faqs .single-day-toggle:hover {
    background: var(--yellow-color);
    color: var(--blue-color); }
  .image-top-text-list-faqs .single-day-answer {
    overflow: hidden;
    height: 0;
    padding: 0;
    /* move padding to inner content to avoid jump */
    transition: height 0.3s ease; }
  .image-top-text-list-faqs .single-day-answer .content {
    padding: 20px 30px 25px; }
  .image-top-text-list-faqs .single-day-item.active .single-day-answer {
    height: auto; }
  .image-top-text-list-faqs .single-day-answer .content > *:first-child {
    margin-top: 0; }
  .image-top-text-list-faqs .single-day-answer .content > *:last-child {
    margin-bottom: 0; }
  .image-top-text-list-faqs .single-day-item ul {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0; }
  .image-top-text-list-faqs .single-day-item li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    color: var(--gray-color);
    font-size: 14px; }
  .image-top-text-list-faqs .single-day-item li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--blue-color); }
  .image-top-text-list-faqs .single-hero-cta {
    display: inline-flex;
    align-items: center;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    font-size: 16px; }
  .image-top-text-list-faqs .single-hero-cta::after {
    content: '→';
    margin-left: 8px;
    transition: transform 0.3s ease; }
  .image-top-text-list-faqs .single-hero-cta:hover {
    background: var(--blue-color);
    color: var(--white-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .image-top-text-list-faqs .single-hero-cta:hover::after {
    transform: translateX(5px); }

.title-date-description-lists-prices {
  margin-bottom: 40px; }
  .title-date-description-lists-prices .single-right-column {
    display: flex;
    flex-direction: column;
    gap: 30px; }
  .title-date-description-lists-prices .single-info-card {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); }
  .title-date-description-lists-prices .single-info-card h2 {
    font-family: "Playfair Display", serif;
    font-size: 22px;
    color: var(--blue-color);
    margin-bottom: 20px;
    position: relative;
    padding-top: 15px; }
  .title-date-description-lists-prices .single-info-card h3 {
    font-family: "Playfair Display", serif;
    font-size: 20px;
    color: var(--blue-color);
    margin-bottom: 20px;
    position: relative;
    padding-top: 15px; }
  .title-date-description-lists-prices .single-info-card h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .title-date-description-lists-prices .single-info-card p {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 15px; }
  .title-date-description-lists-prices .single-course-date {
    margin-bottom: 25px; }
  .title-date-description-lists-prices .single-date-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 8px 0; }
  .title-date-description-lists-prices .single-date-label {
    font-weight: 600;
    color: var(--blue-color); }
  .title-date-description-lists-prices .single-date-value {
    color: var(--gray-color); }
  .title-date-description-lists-prices .single-register-btn {
    display: inline-flex;
    align-items: center;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    justify-content: center; }
  .title-date-description-lists-prices .single-register-btn::after {
    content: '→';
    margin-left: 8px;
    transition: transform 0.3s ease; }
  .title-date-description-lists-prices .single-register-btn:hover {
    background: var(--blue-color);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .title-date-description-lists-prices .single-register-btn:hover::after {
    transform: translateX(5px); }
  .title-date-description-lists-prices .single-target-list {
    list-style: none;
    padding: 0; }
  .title-date-description-lists-prices .single-target-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    color: var(--gray-color); }
  .title-date-description-lists-prices .single-target-list li::before {
    content: '👥';
    position: absolute;
    left: 0;
    font-size: 14px; }
  .title-date-description-lists-prices .single-format-info {
    display: flex;
    flex-direction: column;
    gap: 15px; }
  .title-date-description-lists-prices .single-format-item {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--gray-color); }
  .title-date-description-lists-prices .single-format-item i {
    color: var(--yellow-color);
    width: 20px; }
  .title-date-description-lists-prices .single-fee-amount {
    margin-top: 25px;
    padding: 0;
    background: none;
    display: flex;
    flex-direction: column;
    gap: 15px; }
  .title-date-description-lists-prices .single-fee-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 10px;
    border: 2px solid transparent;
    transition: all 0.3s ease; }
  .title-date-description-lists-prices .single-fee-option:hover {
    border-color: var(--yellow-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); }
  .title-date-description-lists-prices .single-price {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--blue-color); }
  .title-date-description-lists-prices .single-duration {
    font-size: 16px;
    color: var(--gray-color);
    font-weight: 600;
    background: var(--yellow-color);
    padding: 6px 12px;
    border-radius: 20px;
    color: var(--blue-color); }
  .title-date-description-lists-prices .single-includes h4 {
    color: var(--blue-color);
    margin-bottom: 15px; }
  .title-date-description-lists-prices .single-includes ul {
    list-style: none;
    padding: 0; }
  .title-date-description-lists-prices .single-includes li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    color: var(--gray-color); }
  .title-date-description-lists-prices .single-includes i {
    color: var(--yellow-color);
    margin-right: 10px; }
  .title-date-description-lists-prices .single-funding-note {
    margin-top: 20px;
    padding: 15px;
    background: var(--yellow-color);
    border-radius: 8px;
    text-align: center; }
  .title-date-description-lists-prices .single-funding-note p {
    color: var(--blue-color);
    margin: 0;
    font-size: 14px; }
  .title-date-description-lists-prices .single-cert-info {
    display: flex;
    flex-direction: column;
    gap: 20px; }
  .title-date-description-lists-prices .single-cert-item {
    display: flex;
    align-items: flex-start;
    gap: 15px; }
  .title-date-description-lists-prices .single-cert-item i {
    color: var(--yellow-color);
    font-size: 24px;
    margin-top: 5px; }
  .title-date-description-lists-prices .single-cert-item h4 {
    color: var(--blue-color);
    margin-bottom: 5px; }
  .title-date-description-lists-prices .single-cert-item p {
    color: var(--gray-color);
    font-size: 14px;
    margin: 0; }

/* Download Section */
.single-download-section {
  padding: 80px 0;
  background: linear-gradient(135deg, var(--yellow-color) 0%, #f5d659 100%);
  text-align: center; }
  @media (max-width: 768px) {
    .single-download-section {
      padding: 40px 15px; } }

.single-download-content h2 {
  font-family: "Playfair Display", serif;
  font-size: 2.2rem;
  color: var(--blue-color);
  margin-bottom: 40px; }
  @media (max-width: 768px) {
    .single-download-content h2 {
      font-size: 27px;
      line-height: 36px; } }

.single-download-btn {
  display: inline-flex;
  align-items: center;
  background: var(--blue-color);
  color: white;
  padding: 20px 40px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px rgba(0, 51, 102, 0.3); }

.single-download-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(0, 51, 102, 0.4);
  color: white; }

.single-download-btn i {
  margin-right: 12px;
  font-size: 1.2rem; }

.testimonials-v2 {
  /* Elegant Subtitle */
  /* Testimonials Section */ }
  .testimonials-v2 .single-elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px; }
  .testimonials-v2 .single-elegant-subtitle.single-center {
    justify-content: center; }
  .testimonials-v2 .single-line {
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .testimonials-v2 .single-text {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--blue-color);
    font-weight: 600; }
  .testimonials-v2 .single-hero-cta {
    display: inline-flex;
    align-items: center;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    font-size: 16px; }
  .testimonials-v2 .single-hero-cta::after {
    content: '→';
    margin-left: 8px;
    transition: transform 0.3s ease; }
  .testimonials-v2 .single-hero-cta:hover {
    background: var(--blue-color);
    color: var(--white-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .testimonials-v2 .single-hero-cta:hover::after {
    transform: translateX(5px); }
  .testimonials-v2 .single-text.blue {
    color: white; }
  .testimonials-v2 .cta-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px; }
  .testimonials-v2 .single-testimonials {
    padding: 80px 0;
    background: var(--white-color); }
  .testimonials-v2 .single-section-header {
    text-align: center;
    margin-bottom: 60px; }
  .testimonials-v2 .single-section-header h2 {
    font-family: "Playfair Display", serif;
    font-size: 2.5rem;
    color: var(--blue-color);
    margin-bottom: 16px;
    font-weight: 700; }
    @media (max-width: 768px) {
      .testimonials-v2 .single-section-header h2 {
        font-size: 26px; } }
  .testimonials-v2 .single-section-description {
    font-size: 18px;
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto; }
  .testimonials-v2 .single-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    align-items: start;
    grid-auto-rows: auto; }
  .testimonials-v2 .single-testimonial-card {
    background: #f8f9fa;
    padding: 40px 30px;
    border-radius: 15px;
    text-align: center;
    border-left: 4px solid var(--yellow-color);
    height: auto;
    min-height: auto; }
  .testimonials-v2 .single-testimonial-content p {
    font-size: 16px;
    font-style: italic;
    color: var(--blue-color);
    margin-bottom: 20px;
    line-height: 1.6;
    overflow: visible;
    display: block;
    white-space: normal;
    text-overflow: none;
    height: auto;
    max-height: none; }
  .testimonials-v2 .single-testimonial-author {
    font-size: 14px;
    color: var(--gray-color);
    font-weight: 600; }

/* Slick overrides for slider mode */
.testimonials-v2 .single-testimonials-grid.slick-initialized {
  display: block; }
.testimonials-v2 .single-testimonials-grid.slick-initialized .single-testimonial-card {
  margin: 0 20px; }

.trainers-slider {
  /* Trainers Section */
  /* Slick Slider Customization */ }
  .trainers-slider .single-trainers {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); }
  .trainers-slider .single-trainers h2 {
    font-family: "Playfair Display", serif;
    font-size: 2.5rem;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 60px;
    font-weight: 700; }
    @media (max-width: 768px) {
      .trainers-slider .single-trainers h2 {
        font-size: 26px; } }
  .trainers-slider .single-trainer-card {
    background: white;
    border-radius: 20px;
    margin: 0 15px;
    height: auto;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease, transform 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    border: 1px solid rgba(254, 223, 107, 0.2); }
  .trainers-slider .single-trainer-card:hover {
    box-shadow: 0 20px 40px rgba(0, 51, 102, 0.15);
    background: var(--blue-color);
    color: white; }
  .trainers-slider .single-trainer-card:hover .single-trainer-content h3,
  .trainers-slider .single-trainer-card:hover .single-trainer-content p {
    color: white; }
  .trainers-slider .single-trainer-card:hover .single-trainer-content h3::after {
    background: var(--yellow-color); }
  .trainers-slider .single-trainer-card:hover .single-trainer-image img {
    transform: scale(1.05);
    border-color: white;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); }
  .trainers-slider .single-trainer-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 25px 30px 0px;
    margin-bottom: 10px; }
    @media (max-width: 1024px) {
      .trainers-slider .single-trainer-header {
        flex-direction: column;
        align-items: center; } }
  .trainers-slider .single-trainer-image {
    height: 130px;
    width: 130px;
    display: flex;
    justify-content: center;
    align-items: center; }
  .trainers-slider .single-trainer-image img {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--yellow-color);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    background-color: var(--gray-color); }
  .trainers-slider .single-trainer-tags-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
    flex: 1;
    margin-left: 25px;
    max-width: 180px;
    margin-top: 10px; }
    @media (max-width: 768px) {
      .trainers-slider .single-trainer-tags-header {
        margin-left: 0;
        align-items: center; } }
  .trainers-slider .single-tag {
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 6px 12px;
    border-radius: 18px;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid rgba(0, 51, 102, 0.1); }
    @media (max-width: 768px) {
      .trainers-slider .single-tag {
        text-align: center; } }
  .trainers-slider .single-tag:hover {
    background: var(--blue-color);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 51, 102, 0.3); }
  .trainers-slider .single-trainer-content {
    padding: 0px 60px 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    text-align: center; }
    @media (max-width: 1024px) {
      .trainers-slider .single-trainer-content {
        padding: 0px 30px 25px; } }
  .trainers-slider .single-trainer-content h3 {
    font-family: "Playfair Display", serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--blue-color);
    margin-bottom: 20px;
    position: relative; }
  .trainers-slider .single-trainer-content h3::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .trainers-slider .single-trainer-content p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 0;
    overflow: visible;
    display: block;
    text-align: left; }
  .trainers-slider .single-trainers-slider .slick-dots {
    display: none !important; }
  .trainers-slider .single-trainers-slider .slick-list {
    overflow: hidden; }
  .trainers-slider .single-trainers-slider .slick-track {
    will-change: transform; }
  .trainers-slider .single-trainers-slider .slick-prev:hover,
  .trainers-slider .single-trainers-slider .slick-next:hover {
    background: var(--blue-color) !important; }
  .trainers-slider .single-trainers-slider .slick-prev {
    left: 0px !important; }
  .trainers-slider .single-trainers-slider .slick-next {
    right: 0px !important; }
  .trainers-slider .single-trainers-slider .slick-prev,
  .trainers-slider .single-trainers-slider .slick-next {
    width: 60px !important;
    height: 60px !important;
    z-index: 1000 !important;
    background: var(--yellow-color) !important;
    border: none !important;
    border-radius: 50% !important;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    position: absolute !important;
    overflow: hidden !important;
    display: block !important;
    opacity: 1 !important; }
    @media (max-width: 768px) {
      .trainers-slider .single-trainers-slider .slick-prev,
      .trainers-slider .single-trainers-slider .slick-next {
        width: 40px !important;
        height: 40px !important; } }
  .trainers-slider .single-trainers-slider .slick-prev:before {
    content: '❮' !important;
    margin-left: -2px !important; }
  .trainers-slider .single-trainers-slider .slick-next:before {
    content: '❯' !important;
    margin-left: 2px !important; }

/* FAQ Section */
.single-faq-section {
  margin-top: 50px;
  background: #f8f9fa;
  padding-block: 50px; }
  @media (max-width: 1024px) {
    .single-faq-section {
      margin-top: 0px; } }

.single-faq-section.no-bg {
  background: transparent; }

.single-faq-section .single-section-header h2 {
  font-family: "Playfair Display", serif;
  font-size: 2.5rem;
  color: var(--blue-color);
  text-align: center;
  margin-bottom: 60px;
  font-weight: 700;
  position: relative; }
  .single-faq-section .single-section-header h2:after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 2px;
    background: var(--yellow-color); }
  @media (max-width: 1024px) {
    .single-faq-section .single-section-header h2 {
      font-size: 26px;
      line-height: 41px; } }

.single-faq-list {
  max-width: 100%;
  margin: 0 auto; }

.single-faq-item {
  background: var(--white-color);
  border-radius: 15px;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease; }

.single-faq-item:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12); }

.single-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px 30px;
  cursor: pointer;
  transition: all 0.3s ease; }

.single-faq-question:hover {
  background: #f8f9fa; }

.single-faq-question h3 {
  color: var(--blue-color);
  font-weight: 600;
  margin: 0;
  font-size: 1.2rem; }
  @media (max-width: 768px) {
    .single-faq-question h3 {
      font-size: 17px;
      line-height: 26px; } }

.single-faq-toggle {
  background: none;
  border: none;
  color: var(--yellow-color);
  font-size: 1.2rem;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center; }

.single-faq-toggle:hover {
  background: var(--yellow-color);
  color: var(--blue-color); }

.single-faq-answer {
  overflow: hidden;
  height: 0;
  padding: 0;
  /* move padding to inner content to avoid jump */
  transition: height 0.3s ease; }

.single-faq-answer .content {
  padding: 20px 30px 25px; }
  .single-faq-answer .content a {
    color: var(--blue-color);
    text-decoration: underline; }

.single-faq-item.active .single-faq-answer {
  height: auto; }

.single-faq-answer .content > *:first-child {
  margin-top: 0; }

.single-faq-answer .content > *:last-child {
  margin-bottom: 0; }

.single-faq-answer p {
  color: var(--gray-color);
  line-height: 1.6;
  margin: 0; }

/* Upcoming Courses Section */
.single-upcoming-courses {
  padding: 80px 0;
  background: var(--white-color); }
  .single-upcoming-courses .single-section-header {
    text-align: center;
    margin-bottom: 60px; }
  .single-upcoming-courses .single-section-header h2 {
    font-family: "Playfair Display", serif;
    font-size: 2.5rem;
    color: var(--blue-color);
    margin-bottom: 16px;
    font-weight: 600; }
    @media (max-width: 768px) {
      .single-upcoming-courses .single-section-header h2 {
        font-size: 26px; } }
  .single-upcoming-courses .single-section-description {
    font-size: 18px;
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto; }
  .single-upcoming-courses .single-elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px; }
  .single-upcoming-courses .single-elegant-subtitle.single-center {
    justify-content: center; }
  .single-upcoming-courses .single-line {
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .single-upcoming-courses .single-text {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--blue-color);
    font-weight: 600; }
    @media (max-width: 768px) {
      .single-upcoming-courses .single-text {
        font-size: 13px; } }
  .single-upcoming-courses .single-text.blue {
    color: var(--white-color); }
  .single-upcoming-courses .single-info-card {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); }
  .single-upcoming-courses .single-info-card h2 {
    font-family: "Playfair Display", serif;
    font-size: 1.4rem;
    color: var(--blue-color);
    margin-bottom: 20px;
    position: relative;
    padding-top: 15px;
    font-weight: 600; }
  .single-upcoming-courses .single-info-card h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .single-upcoming-courses .single-info-card p {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 15px; }
  .single-upcoming-courses .single-course-date {
    margin-bottom: 25px; }
  .single-upcoming-courses .single-date-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 8px 0; }
    @media (max-width: 768px) {
      .single-upcoming-courses .single-date-item {
        flex-direction: column; } }
  .single-upcoming-courses .single-date-label {
    font-weight: 600;
    color: var(--blue-color); }
  .single-upcoming-courses .single-date-value {
    color: var(--gray-color); }

.single-upcoming-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 40px; }
  @media (max-width: 1024px) {
    .single-upcoming-grid {
      grid-template-columns: 1fr; } }

.single-upcoming-card {
  background: var(--white-color);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease; }

.single-upcoming-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); }

.single-upcoming-image {
  height: 200px;
  overflow: hidden; }

.single-upcoming-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease; }

.single-upcoming-card:hover .single-upcoming-image img {
  transform: scale(1.05); }

.single-upcoming-content {
  padding: 30px; }

.single-upcoming-tag {
  background: var(--yellow-color);
  color: var(--blue-color);
  padding: 6px 12px;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-block;
  margin-bottom: 16px; }

.single-upcoming-content h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.4rem;
  color: var(--blue-color);
  margin-bottom: 15px;
  line-height: 1.3;
  position: relative;
  padding-top: 20px;
  font-weight: 600; }

.single-upcoming-content h3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: var(--yellow-color);
  border-radius: 2px; }

.single-upcoming-content p {
  color: var(--gray-color);
  line-height: 1.6;
  margin-bottom: 25px; }

.single-upcoming-dates {
  margin: 25px 0;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 10px; }

.single-upcoming-cta {
  display: inline-flex;
  align-items: center;
  background: var(--yellow-color);
  color: var(--blue-color);
  padding: 12px 25px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  position: relative; }

.single-upcoming-cta::after {
  content: '→';
  margin-left: 8px;
  color: var(--blue-color);
  font-size: 14px;
  font-family: "Playfair Display", serif;
  transition: all 0.3s ease; }

.single-upcoming-cta:hover {
  background: var(--blue-color);
  color: white; }

.single-upcoming-cta:hover::after {
  transform: translateX(5px);
  color: white; }

/* Responsive Design */
@media (max-width: 1024px) {
  .single-hero-content {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center; }

  .single-hero-text h1 {
    font-size: 3rem; }

  .single-content-grid {
    grid-template-columns: 1fr;
    gap: 40px; }

  .single-trainers-slider .slick-prev {
    left: -60px !important; }

  .single-trainers-slider .slick-next {
    right: -60px !important; } }
.banner-v4 {
  /* Hero Section */ }
  .banner-v4 .elegant-subtitle.center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px; }
  .banner-v4 .elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px; }
  .banner-v4 .elegant-subtitle .text.white {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
    font-weight: 600; }
  .banner-v4 .elegant-subtitle .line {
    width: 40px;
    height: 2px;
    background: var(--yellow-color); }
  .banner-v4 .hero-section {
    position: relative;
    height: 70vh;
    min-height: 600px;
    overflow: hidden; }
  .banner-v4 .hero-container {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center; }
  .banner-v4 .hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }
  .banner-v4 .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }
  .banner-v4 .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 51, 102, 0.8) 0%, rgba(0, 51, 102, 0.6) 50%, rgba(254, 223, 107, 0.3) 100%);
    z-index: 2; }
  .banner-v4 .hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    color: white; }
  .banner-v4 .hero-text {
    max-width: 700px;
    padding: 0 20px; }
  .banner-v4 .hero-text h1 {
    font-family: "Playfair Display", serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.2;
    margin: 20px 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); }
    @media (max-width: 768px) {
      .banner-v4 .hero-text h1 {
        font-size: 36px; } }
  .banner-v4 .hero-description {
    font-size: 20px;
    line-height: 1.6;
    margin: 25px 0;
    opacity: 0.95; }
    @media (max-width: 768px) {
      .banner-v4 .hero-description {
        font-size: 16px; } }
  .banner-v4 .hero-tag {
    display: inline-block;
    margin-top: 30px;
    padding: 12px 24px;
    border-radius: 30px;
    background: rgba(254, 223, 107, 0.9); }
  .banner-v4 .tag-label {
    color: var(--blue-color);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.5px; }
    @media (max-width: 768px) {
      .banner-v4 .tag-label {
        font-size: 11px; } }

.three-cards-grid-v2 {
  /* Courses Section */ }
  .three-cards-grid-v2 .elegant-subtitle.center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px; }
  .three-cards-grid-v2 .elegant-subtitle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px; }
  .three-cards-grid-v2 .elegant-subtitle .text {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--blue-color); }
  .three-cards-grid-v2 .elegant-subtitle .line {
    width: 40px;
    height: 2px;
    background: var(--yellow-color); }
  .three-cards-grid-v2 .intro-content h2 {
    font-family: "Playfair Display", serif;
    font-size: 2.5rem;
    color: var(--blue-color);
    margin-bottom: 20px;
    line-height: 1.2;
    text-align: center;
    font-weight: 600; }
    @media (max-width: 768px) {
      .three-cards-grid-v2 .intro-content h2 {
        font-size: 28px; } }
  .three-cards-grid-v2 .courses-section {
    padding: 100px 0;
    background: #f8f9fa; }
    @media (max-width: 768px) {
      .three-cards-grid-v2 .courses-section {
        padding: 40px 0; } }
  .three-cards-grid-v2 .courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 40px;
    margin-top: 60px; }
    .three-cards-grid-v2 .courses-grid.courses-grid-four-columns {
      grid-template-columns: repeat(4, minmax(274px, 1fr)); }
      @media (max-width: 1200px) {
        .three-cards-grid-v2 .courses-grid.courses-grid-four-columns {
          grid-template-columns: 2fr; } }
      @media (max-width: 1024px) {
        .three-cards-grid-v2 .courses-grid.courses-grid-four-columns {
          grid-template-columns: 1fr; } }
    @media (max-width: 1024px) {
      .three-cards-grid-v2 .courses-grid {
        grid-template-columns: 1fr; } }
  .three-cards-grid-v2 .course-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.4s ease;
    position: relative; }
  .three-cards-grid-v2 .course-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); }
  .three-cards-grid-v2 .card-image {
    position: relative;
    height: 250px;
    overflow: hidden; }
  .three-cards-grid-v2 .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease; }
  .three-cards-grid-v2 .course-card:hover .card-image img {
    transform: scale(1.05); }
  .three-cards-grid-v2 .card-content {
    padding: 35px 30px; }
  .three-cards-grid-v2 .card-label {
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 600;
    display: inline-block;
    margin-bottom: 20px;
    letter-spacing: 0px; }
  .three-cards-grid-v2 .card-content h3.card-title,
  .three-cards-grid-v2 .card-content h2.card-title {
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--blue-color);
    margin-bottom: 20px;
    line-height: 1.3;
    position: relative;
    padding-top: 20px;
    max-width: 200px; }
  .three-cards-grid-v2 .card-content h3.card-title::before,
  .three-cards-grid-v2 .card-content h2.card-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color); }
  .three-cards-grid-v2 .card-content p {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 25px; }
  .three-cards-grid-v2 .card-cta {
    display: inline-flex;
    align-items: center;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 12px 25px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative; }
  .three-cards-grid-v2 .card-cta::after {
    content: '→';
    margin-left: 8px;
    color: var(--blue-color);
    font-size: 14px;
    font-family: "Playfair Display", serif;
    transition: all 0.3s ease; }
  .three-cards-grid-v2 .card-cta:hover {
    background: var(--blue-color);
    color: white; }
  .three-cards-grid-v2 .card-cta:hover::after {
    transform: translateX(5px);
    color: white; }

.image-left-title-undertitle-description {
  /* Why Choose Section */ }
  .image-left-title-undertitle-description .why-choose-section {
    margin-top: 100px;
    background: white; }
    @media (max-width: 1024px) {
      .image-left-title-undertitle-description .why-choose-section {
        margin-top: 40px; } }
  .image-left-title-undertitle-description .why-choose-intro {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    grid-template-areas: 'image content';
    gap: 60px;
    align-items: center;
    margin-bottom: 80px; }
    @media (max-width: 1024px) {
      .image-left-title-undertitle-description .why-choose-intro {
        grid-template-columns: 1fr;
        grid-template-areas: 'image' 'content'; } }
  .image-left-title-undertitle-description .why-choose-intro.reverse {
    grid-template-areas: 'content image'; }
    @media (max-width: 1024px) {
      .image-left-title-undertitle-description .why-choose-intro.reverse {
        grid-template-areas: 'image' 'content'; } }
  .image-left-title-undertitle-description .intro-image {
    position: relative;
    grid-area: image; }
  .image-left-title-undertitle-description .intro-image img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); }
  .image-left-title-undertitle-description .intro-content {
    padding-left: 20px;
    grid-area: content; }
  .image-left-title-undertitle-description .why-choose-intro.reverse .intro-content {
    padding-left: 0;
    padding-right: 20px; }
  .image-left-title-undertitle-description .intro-content h2 {
    font-family: "Playfair Display", serif;
    font-size: 40px;
    color: var(--blue-color);
    margin-bottom: 20px;
    line-height: 1.2;
    font-weight: 700; }
    @media (max-width: 1024px) {
      .image-left-title-undertitle-description .intro-content h2 {
        font-size: 26px;
        line-height: 36px; } }
  .image-left-title-undertitle-description .section-subtitle {
    font-size: 1.1rem;
    color: var(--yellow-color);
    font-weight: 600;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .image-left-title-undertitle-description .intro-text p {
    color: var(--gray-color);
    line-height: 1.7;
    margin-bottom: 20px;
    font-size: 18px; }
    @media (max-width: 1024px) {
      .image-left-title-undertitle-description .intro-text p {
        font-size: 16px; } }

.left-big-card-right-four-cards {
  margin-top: 100px; }
  @media (max-width: 1024px) {
    .left-big-card-right-four-cards {
      margin-top: 50px; } }
  .left-big-card-right-four-cards .gray-bg {
    background-color: #f8f9fa;
    padding-block: 100px; }
    @media (max-width: 1024px) {
      .left-big-card-right-four-cards .gray-bg {
        padding-block: 50px; } }
  .left-big-card-right-four-cards .main-title {
    font-family: "Playfair Display", serif;
    font-size: 48px;
    line-height: 57px;
    color: var(--blue-color);
    font-weight: 700;
    margin: 0;
    position: relative;
    text-align: center; }
    @media (max-width: 1024px) {
      .left-big-card-right-four-cards .main-title {
        font-size: 28px;
        line-height: 36px; } }
  .left-big-card-right-four-cards .main-title:after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 2px;
    background: var(--yellow-color); }
  .left-big-card-right-four-cards .features-layout {
    margin-block: 100px 80px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 50px;
    align-items: start; }
    @media (max-width: 1024px) {
      .left-big-card-right-four-cards .features-layout {
        grid-template-columns: 1fr;
        margin-block: 50px; } }
  .left-big-card-right-four-cards .feature-highlight {
    display: flex;
    align-items: flex-start; }
  .left-big-card-right-four-cards .feature-item.featured {
    background: linear-gradient(135deg, var(--blue-color) 0%, #004080 100%);
    color: white;
    padding: 40px 35px;
    border-radius: 25px;
    box-shadow: 0 15px 40px rgba(0, 51, 102, 0.2);
    display: flex;
    flex-direction: column;
    justify-content: flex-start; }
  .left-big-card-right-four-cards .feature-item.featured h4 {
    color: var(--yellow-color);
    font-size: 28px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px; }
    @media (max-width: 1024px) {
      .left-big-card-right-four-cards .feature-item.featured h4 {
        font-size: 22px; } }
  .left-big-card-right-four-cards .feature-item.featured h4 i {
    color: var(--yellow-color);
    font-size: 32px; }
    @media (max-width: 1024px) {
      .left-big-card-right-four-cards .feature-item.featured h4 i {
        font-size: 26px; } }
  .left-big-card-right-four-cards .feature-item.featured p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 18px;
    line-height: 1.7; }
    @media (max-width: 1024px) {
      .left-big-card-right-four-cards .feature-item.featured p {
        font-size: 16px; } }
  .left-big-card-right-four-cards .features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    position: sticky;
    top: 43px; }
    @media (max-width: 768px) {
      .left-big-card-right-four-cards .features-grid {
        grid-template-columns: 1fr; } }
  .left-big-card-right-four-cards .feature-item {
    background: white;
    padding: 30px 25px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    text-align: left;
    position: relative; }
  .left-big-card-right-four-cards .feature-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12); }
  .left-big-card-right-four-cards .feature-item h4 {
    color: var(--blue-color);
    font-weight: 600;
    margin-bottom: 15px;
    font-size: 24px;
    font-family: "Playfair Display", serif;
    display: flex;
    align-items: center;
    gap: 12px; }
  .left-big-card-right-four-cards .feature-item h4 i {
    color: var(--yellow-color);
    font-size: 28px; }
  .left-big-card-right-four-cards .feature-item p {
    color: var(--gray-color);
    line-height: 1.6;
    margin: 0;
    font-size: 16px; }
  .left-big-card-right-four-cards .closing-text {
    color: var(--gray-color);
    line-height: 1.7;
    font-size: 18px;
    font-style: italic;
    text-align: center;
    margin: 0 auto;
    padding: 30px;
    background: #f8f9fa;
    border-radius: 15px;
    border-left: 4px solid var(--yellow-color);
    margin-bottom: 100px; }
    @media (max-width: 768px) {
      .left-big-card-right-four-cards .closing-text {
        margin-bottom: 50px; } }

.fee-content {
  /* Fee Section */ }
  .fee-content .fee-section {
    padding: 100px 0;
    background: var(--blue-color);
    color: white; }
  .fee-content .fee-content h2 {
    font-family: "Playfair Display", serif;
    font-size: 40px;
    text-align: center;
    margin-bottom: 60px; }
  .fee-content .fee-info {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 60px;
    align-items: start;
    margin-bottom: 60px; }
    @media (max-width: 1024px) {
      .fee-content .fee-info {
        grid-template-columns: 1fr; } }
  .fee-content .fee-amount {
    text-align: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 50px 40px;
    border-radius: 20px;
    backdrop-filter: blur(10px); }
  .fee-content .price {
    display: block;
    font-size: 64px;
    font-weight: 700;
    color: var(--yellow-color);
    margin-bottom: 10px; }
  .fee-content .per-participant {
    font-size: 1.1rem;
    opacity: 0.9; }
  .fee-content .fee-includes h3 {
    font-size: 24px;
    margin-bottom: 30px;
    color: var(--yellow-color);
    font-weight: 700; }
  .fee-content .fee-includes ul {
    list-style: none;
    padding: 0; }
  .fee-content .fee-includes li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 1.1rem; }
  .fee-content .fee-includes i {
    color: var(--yellow-color);
    margin-right: 15px;
    font-size: 1.2rem; }
  .fee-content .funding-info {
    background: rgba(255, 255, 255, 0.1);
    padding: 40px;
    border-radius: 15px;
    backdrop-filter: blur(10px); }
  .fee-content .funding-highlight {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--yellow-color);
    margin-bottom: 25px;
    text-align: center; }
  .fee-content .funding-questions p {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 15px;
    text-align: center; }

.three-cards-grid-v3 {
  /* Section wrapper */
  /* Grid */
  /* Card */
  /* Image */
  /* Content */ }
  .three-cards-grid-v3 .three-cards-grid-v3__section {
    padding: 100px 0;
    background: #f9f9f9; }
    @media (max-width: 768px) {
      .three-cards-grid-v3 .three-cards-grid-v3__section {
        padding: 40px 0; } }
  .three-cards-grid-v3 .three-cards-grid-v3__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 60px; }
    @media (max-width: 768px) {
      .three-cards-grid-v3 .three-cards-grid-v3__grid {
        gap: 20px; } }
  .three-cards-grid-v3 .three-cards-grid-v3__card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    display: block;
    /* support anchor or div */
    text-decoration: none;
    color: inherit; }
  .three-cards-grid-v3 .three-cards-grid-v3__card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); }
  .three-cards-grid-v3 .three-cards-grid-v3__image {
    height: 200px;
    overflow: hidden; }
  .three-cards-grid-v3 .three-cards-grid-v3__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .three-cards-grid-v3 .three-cards-grid-v3__card:hover .three-cards-grid-v3__image img {
    transform: scale(1.05); }
  .three-cards-grid-v3 .three-cards-grid-v3__content {
    padding: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px; }
  .three-cards-grid-v3 .three-cards-grid-v3__title {
    font-size: 18px;
    color: var(--blue-color);
    margin: 0; }
  .three-cards-grid-v3 .three-cards-grid-v3__link {
    color: var(--blue-color);
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease; }
  .three-cards-grid-v3 .three-cards-grid-v3__link:hover {
    color: var(--yellow-color);
    transform: translateX(5px); }

.colaboration-filter {
  background: #f9f9f9;
  margin-top: 100px;
  /* Controls */
  /* Grid */
  /* Card */
  /* Status badge */
  /* No results */ }
  @media (max-width: 1024px) {
    .colaboration-filter {
      margin-top: 50px; } }
  .colaboration-filter .colaboration-filter__controls {
    padding: 60px 0 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto; }
    .colaboration-filter .colaboration-filter__controls .form-group {
      position: relative;
      display: block; }
      .colaboration-filter .colaboration-filter__controls .form-group label {
        display: block;
        font-weight: 600;
        color: var(--main-titles-color);
        margin-bottom: 8px;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 0.5px; }
      .colaboration-filter .colaboration-filter__controls .form-group select {
        width: 100%;
        padding: 16px 20px;
        border: 2px solid #e9ecef;
        border-radius: 12px;
        background: #fff;
        font-size: 16px;
        color: var(--blue-color);
        transition: all 0.3s ease;
        appearance: none;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
        background-position: right 16px center;
        background-repeat: no-repeat;
        background-size: 16px;
        cursor: pointer; }
      .colaboration-filter .colaboration-filter__controls .form-group select:focus {
        outline: none;
        border-color: var(--yellow-color);
        box-shadow: 0 0 0 3px rgba(254, 223, 107, 0.2); }
      .colaboration-filter .colaboration-filter__controls .form-group select:hover {
        border-color: var(--main-titles-color); }
  .colaboration-filter .colaboration-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(300px, 1fr));
    gap: 30px;
    padding: 40px 0 80px; }
  .colaboration-filter .colaboration-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    display: block;
    text-decoration: none;
    color: inherit; }
  .colaboration-filter .colaboration-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); }
  .colaboration-filter .colaboration-card__image {
    position: relative;
    height: 200px;
    overflow: hidden; }
  .colaboration-filter .colaboration-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .colaboration-filter .colaboration-card:hover .colaboration-card__image img {
    transform: scale(1.05); }
  .colaboration-filter .colaboration-status {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff;
    background: var(--gray-color);
    pointer-events: none; }
  .colaboration-filter .colaboration-status.open {
    background: #10b981;
    /* green */ }
  .colaboration-filter .colaboration-status.closed {
    background: var(--gray-color); }
  .colaboration-filter .colaboration-card__content {
    padding: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px; }
  .colaboration-filter .colaboration-card__title {
    font-size: 16px;
    color: var(--blue-color);
    margin: 0;
    max-width: 250px;
    width: 100%;
    font-weight: 600; }
  .colaboration-filter .colaboration-card__link {
    color: var(--blue-color);
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease; }
  .colaboration-filter .colaboration-card__link:hover {
    color: var(--yellow-color);
    transform: translateX(5px); }
  .colaboration-filter .no-results {
    grid-column: 1 / -1;
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); }
    .colaboration-filter .no-results h3, .colaboration-filter .no-results p {
      margin: 0 0 8px; }

.banner-v5 {
  /* Hero */
  /* Meta item lightweight */
  /* Share */ }
  .banner-v5 .article-hero {
    padding-block: 100px;
    background-color: #f7f7f7; }
    @media (max-width: 768px) {
      .banner-v5 .article-hero {
        padding-block: 60px; } }
  .banner-v5 .article-hero .hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
    gap: 32px; }
  @media (max-width: 768px) {
    .banner-v5 .article-hero .hero-grid {
      grid-template-columns: 1fr;
      gap: 20px; } }
  .banner-v5 .article-hero .hero-text {
    min-width: 0; }
  .banner-v5 .article-hero .hero-media {
    min-width: 0; }
  @media (max-width: 768px) {
    .banner-v5 .article-hero .hero-media {
      order: 1; }
    .banner-v5 .article-hero .hero-text {
      order: 2; } }
  .banner-v5 .article-hero .hero-media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08); }
  .banner-v5 .article-hero .article-category {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    font-weight: 600;
    font-size: 12px;
    color: var(--blue-color);
    background: #fff; }
  .banner-v5 .article-hero h1 {
    margin: 16px 0 16px;
    font-family: "Playfair Display", serif;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.2;
    color: var(--blue-color); }
  .banner-v5 .article-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0 0;
    border-top: 1px solid #f0f2f5; }
    @media (max-width: 768px) {
      .banner-v5 .article-meta {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start; } }
  .banner-v5 .article-meta .meta-left {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 14px; }
  .banner-v5 .article-meta .meta-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap; }
  .banner-v5 .article-meta .dot {
    opacity: .6; }
  .banner-v5 .share-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap; }
  .banner-v5 .share-btn {
    appearance: none;
    border: 1px solid var(--yellow-color);
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s, box-shadow .2s; }
  .banner-v5 .share-btn:hover,
  .banner-v5 .share-btn:focus {
    background: #f9fafb;
    border-color: var(--yellow-color);
    color: var(--blue-color);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06); }
  .banner-v5 .meta-item {
    display: inline-flex;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    gap: 5px; }
  .banner-v5 .meta-label {
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0;
    color: #6b7280;
    font-weight: bold; }
  .banner-v5 .meta-value {
    font-size: 12px;
    font-weight: 600;
    color: #374151; }
  .banner-v5 .meta-separator {
    display: inline-block;
    width: 4px;
    height: 4px;
    background: #d1d5db;
    border-radius: 50%;
    margin: 0 6px;
    align-self: center; }
  .banner-v5 .share-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #6b7280;
    margin-right: 2px; }
  .banner-v5 .share-btn--blue {
    background: var(--blue-color);
    color: #fff;
    border-color: var(--blue-color); }
  .banner-v5 .share-btn--blue-color:hover,
  .banner-v5 .share-btn--blue-color:focus {
    color: #fff;
    filter: brightness(0.95);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); }

.title-image-description {
  margin-top: 20px;
  /* Article headings: yellow overline */ }
  .title-image-description.first-block {
    margin-top: 100px; }
    @media (max-width: 768px) {
      .title-image-description.first-block {
        margin-top: 50px; } }
  .title-image-description.last-block {
    margin-bottom: 100px; }
    @media (max-width: 768px) {
      .title-image-description.last-block {
        margin-bottom: 50px; } }
  .title-image-description .article-content .article-figure {
    margin: 20px 0 24px; }
  .title-image-description .article-content .article-figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08); }
  .title-image-description .article-content p {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 24px;
    font-size: 16px; }
  .title-image-description .article-content h2,
  .title-image-description .article-content h3,
  .title-image-description .article-content h4,
  .title-image-description .article-content h5 {
    margin: 32px 0 16px;
    font-family: "Playfair Display", serif;
    font-size: clamp(24px, 3vw, 30px);
    color: var(--blue-color);
    font-weight: 600; }
  .title-image-description .article-content h2,
  .title-image-description .article-content h3,
  .title-image-description .article-content h4,
  .title-image-description .article-content h5 {
    position: relative; }
  .title-image-description .article-content h2::after,
  .title-image-description .article-content h3::after,
  .title-image-description .article-content h4::after,
  .title-image-description .article-content h5::after {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: var(--yellow-color); }

.related-news {
  /* Related */
  /* Related headings: yellow overline */
  /* Card image: full width, consistent height, cover */
  /* Read more button inside cards */ }
  .related-news .related-posts {
    padding: 70px 0;
    background: #f7f7f7; }
  .related-news .related-posts .section-label {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    font-weight: 600;
    font-size: 12px;
    color: var(--blue-color);
    background: #fff; }
  .related-news .related-posts h2 {
    margin: 14px 0 6px;
    font-family: "Playfair Display", serif;
    color: var(--blue-color);
    font-size: clamp(24px, 3.5vw, 30px);
    font-weight: 700; }
  .related-news .related-posts-grid h2,
  .related-news .related-posts-grid h3,
  .related-news .related-posts-grid h4 {
    position: relative; }
  .related-news .related-posts-grid h2::after,
  .related-news .related-posts-grid h3::after,
  .related-news .related-posts-grid h4::after {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: var(--yellow-color); }
  .related-news .related-posts .section-description {
    color: #6b7280;
    margin: 0 0 22px; }
  .related-news .related-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px; }
    @media (max-width: 768px) {
      .related-news .related-posts-grid {
        grid-template-columns: repeat(1, 1fr); } }
  .related-news .related-post-card {
    display: block;
    background: #fff;
    border: 1px solid #eef0f3;
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s, border-color .2s; }
  .related-news .related-post-card img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover; }
  .related-news .related-post-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.08);
    border-color: #e5e7eb; }
  .related-news .related-post-card .card-content {
    padding: 40px 18px 34px;
    display: inline-flex;
    flex-direction: column;
    align-items: self-start;
    text-transform: uppercase;
    gap: 10px; }
  .related-news .related-post-card h3 {
    margin: 0 0 8px;
    font-size: 18px;
    color: var(--blue-color);
    font-weight: 600; }
  .related-news .related-post-card .card-excerpt {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 24px;
    font-size: 16px;
    text-transform: none; }
  .related-news .related-post-card .card-label {
    display: inline-block;
    background: rgba(0, 51, 102, 0.08);
    color: var(--blue-color);
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 500;
    text-transform: capitalize; }
  .related-news .related-post-card .btn-read-more {
    display: inline-block;
    margin-top: 12px;
    padding: 8px 16px;
    background: var(--blue-color);
    color: #fff;
    border: 1px solid var(--blue-color);
    border-radius: 25px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s, box-shadow .2s; }
  .related-news .related-post-card .btn-read-more:hover,
  .related-news .related-post-card .btn-read-more:focus {
    background: var(--yellow-color);
    border-color: var(--yellow-color);
    color: var(--blue-color);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); }

.news-grid {
  /* Hero/top section */
  /* Listing wrapper */
  /* Archive wrapper (two-column layout) */
  /* In sidebar, stack buttons vertically */
  /* Balance columns count inside main area */
  /* Grid */
  /* Card */
  /*.news-content h3::after {
      content: '';
      position: absolute;
      top: -10px;
      left: 0;
      width: 30px;
      height: 2px;
      background-color: var(--yellow-color, var(--yellow-color));
  }*/
  /* Utility: hide full content container in cards */
  /* Responsive */
  /* Optional: simple popup style overrides if we decide to remove inline styles in the future */
  /* ===== Filters ===== */
  /* Inline buttons */
  /* ===== Load more ===== */ }
  .news-grid .page-hero {
    padding: 80px 0 50px;
    /* background: linear-gradient(180deg, rgba(0, 51, 102, 0.06) 0%, rgba(0, 0, 0, 0) 100%);*/ }
  .news-grid .page-hero h1 {
    font-family: "Playfair Display", serif;
    font-size: 42px;
    line-height: 1.2;
    color: var(--blue-color);
    margin-bottom: 10px;
    font-weight: 700; }
  .news-grid .page-hero .page-subtitle {
    color: var(--gray-color);
    font-size: 16px; }
  .news-grid .news-listing {
    padding: 30px 0 100px; }
  .news-grid .news-archive {
    padding: 30px 0 100px; }
  .news-grid .news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    /* main left, sidebar right */
    gap: 40px; }
    @media (max-width: 1200px) {
      .news-grid .news-layout {
        grid-template-columns: 1fr;
        gap: 20px; } }
  .news-grid .news-main {
    min-width: 0; }
    @media (max-width: 1200px) {
      .news-grid .news-main {
        order: 2; } }
  .news-grid .news-sidebar {
    align-self: start;
    position: sticky;
    top: 100px;
    /* keeps below header */ }
    @media (max-width: 1200px) {
      .news-grid .news-sidebar {
        order: 1;
        position: relative;
        top: 0; } }
  .news-grid .filter-panel {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05); }
  .news-grid .sidebar-title {
    font-family: "Playfair Display", serif;
    font-size: 18px;
    color: var(--blue-color);
    margin: 0 0 12px; }
  .news-grid .news-sidebar .filters-wrapper {
    align-items: stretch; }
  .news-grid .news-sidebar .filter-buttons {
    flex-direction: column;
    gap: 8px;
    row-gap: 8px;
    overflow: visible; }
  .news-grid .news-sidebar .filter-btn {
    width: 100%;
    text-align: left; }
  .news-grid .news-layout .news-main .news-grid {
    grid-template-columns: repeat(2, 1fr); }
    @media (max-width: 1200px) {
      .news-grid .news-layout .news-main .news-grid {
        grid-template-columns: 1fr;
        gap: 20px; } }
  .news-grid .news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px; }
  .news-grid .news-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column; }
  .news-grid .news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.1); }
  .news-grid .news-image {
    position: relative;
    overflow: hidden;
    height: 320px; }
  .news-grid .news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease; }
  .news-grid .news-card:hover .news-image img {
    transform: scale(1.06); }
  .news-grid .news-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px; }
    .news-grid .news-content .news-category-container {
      display: flex;
      flex-wrap: wrap;
      gap: 8px; }
  .news-grid .news-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap; }
  .news-grid .news-date {
    color: var(--gray-color);
    font-size: 13px; }
  .news-grid .news-category {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--yellow-color);
    color: var(--blue-color);
    font-weight: 600;
    font-size: 12px; }
  .news-grid .news-content h3 {
    font-family: "Playfair Display", serif;
    font-size: 22px;
    line-height: 1.35;
    color: var(--blue-color);
    margin: 4px 0 0;
    position: relative;
    font-weight: 600; }
  .news-grid .news-excerpt {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 24px;
    font-size: 16px; }
  .news-grid .button-container {
    display: inline-flex;
    align-items: start;
    gap: 8px; }
    .news-grid .button-container .news-read-more {
      background: var(--yellow-color);
      color: var(--main-titles-color);
      padding: 12px 24px;
      border-radius: 5px;
      text-decoration: none;
      font-weight: 400;
      font-size: 14px;
      text-transform: uppercase;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden; }
  .news-grid .news-read-more::after {
    content: '→';
    left: 7px;
    position: relative;
    font-family: "Playfair Display", serif;
    transition: all 0.2s ease; }
  .news-grid .news-card:hover .news-read-more::after {
    left: 10px; }
  .news-grid .news-card:hover .news-read-more {
    gap: 12px;
    background: var(--blue-color);
    color: var(--white-color); }
  .news-grid .news-full-content {
    display: none; }
  @media (max-width: 1200px) {
    .news-grid .news-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 700px) {
    .news-grid .page-hero {
      padding: 60px 0 0px; }
    .news-grid .page-hero h1 {
      font-size: 34px; }
    .news-grid .news-grid {
      grid-template-columns: 1fr;
      gap: 20px; }
    .news-grid .news-content {
      padding: 16px; } }
  .news-grid #simple-popup .popup-content h2 {
    font-family: "Playfair Display", serif;
    color: var(--blue-color); }
  .news-grid .news-filters {
    padding: 10px 0 20px; }
  .news-grid .filters-wrapper {
    display: flex;
    gap: 16px;
    align-items: flex-end;
    flex-wrap: wrap; }
  .news-grid .filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    row-gap: 10px;
    overflow-x: auto;
    padding-bottom: 6px; }
  .news-grid .filter-btn {
    background: #fff;
    color: #111;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease; }
  .news-grid .filter-btn:hover {
    background: var(--yellow-color);
    color: var(--blue-color);
    border-color: var(--yellow-color); }
  .news-grid .filter-btn:focus-visible {
    outline: 2px solid var(--yellow-color);
    outline-offset: 2px; }
  .news-grid .filter-btn.is-active {
    background: var(--yellow-color);
    color: var(--blue-color);
    border-color: var(--yellow-color);
    box-shadow: 0 8px 20px rgba(254, 223, 107, 0.25); }
  .news-grid .load-more-wrap {
    text-align: center;
    margin-top: 30px; }
  .news-grid .load-more-btn {
    display: inline-block;
    padding: 12px 22px;
    border-radius: 999px;
    background: var(--blue-color);
    color: #fff;
    border: none;
    font-weight: 600;
    cursor: pointer;
    transition: all ease 0.5s;
    box-shadow: 0 8px 20px rgba(0, 51, 102, 0.25); }
  .news-grid .load-more-btn:hover {
    transform: translateY(-1px);
    background: var(--yellow-color);
    color: var(--blue-color); }
  .news-grid .load-more-btn:active {
    transform: translateY(0); }
  .news-grid .hidden-by-load {
    display: none !important; }

.four-columns-grid-v1 .related-what-we-do {
  padding: 70px 0;
  background: #f9f9f9; }
.four-columns-grid-v1 .related-what-we-do .section-label {
  display: inline-block;
  font-weight: 600;
  color: var(--blue-color);
  background: var(--yellow-color);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  margin-bottom: 12px; }
.four-columns-grid-v1 .related-what-we-do h2 {
  font-family: "Playfair Display", serif;
  font-size: 32px;
  color: var(--blue-color);
  margin-bottom: 8px;
  font-weight: 700; }
.four-columns-grid-v1 .related-what-we-do .section-description {
  color: var(--gray-color);
  max-width: 900px;
  margin-bottom: 28px; }
.four-columns-grid-v1 .related-what-we-do .related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px; }
  @media (max-width: 1200px) {
    .four-columns-grid-v1 .related-what-we-do .related-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 1024px) {
    .four-columns-grid-v1 .related-what-we-do .related-grid {
      grid-template-columns: 1fr; } }
  .four-columns-grid-v1 .related-what-we-do .related-grid.three-columns-grid-v1 {
    grid-template-columns: repeat(3, 1fr); }
    @media (max-width: 1024px) {
      .four-columns-grid-v1 .related-what-we-do .related-grid.three-columns-grid-v1 {
        grid-template-columns: 1fr; } }
.four-columns-grid-v1 .related-what-we-do .related-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
  transition: transform .2s ease, box-shadow .2s ease; }
.four-columns-grid-v1 .related-card .card-label {
  display: inline-block;
  font-weight: 600;
  color: var(--blue-color);
  background: var(--yellow-color);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  margin-bottom: 12px; }
.four-columns-grid-v1 .related-what-we-do .related-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.1); }
.four-columns-grid-v1 .related-what-we-do .card-image {
  aspect-ratio: 16/10;
  overflow: hidden; }
.four-columns-grid-v1 .related-what-we-do .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease; }
.four-columns-grid-v1 .related-what-we-do .related-card:hover .card-image img {
  transform: scale(1.06); }
.four-columns-grid-v1 .related-what-we-do .card-content {
  padding: 32px 16px 10px;
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 8px; }
.four-columns-grid-v1 .related-what-we-do .card-content h3 {
  font-family: "Playfair Display", serif;
  color: var(--blue-color);
  font-size: 20px;
  margin: 0;
  position: relative;
  font-weight: 600; }
.four-columns-grid-v1 .related-what-we-do .card-content h3::after {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: var(--yellow-color, var(--yellow-color)); }
.four-columns-grid-v1 .related-what-we-do .card-content p {
  color: var(--gray-color);
  line-height: 1.6;
  margin-bottom: 24px;
  font-size: 16px; }
.four-columns-grid-v1 .related-what-we-do .card-cta {
  background: var(--yellow-color);
  color: var(--main-titles-color);
  padding: 12px 24px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden; }
.four-columns-grid-v1 .related-what-we-do .card-cta:hover {
  background-color: var(--blue-color);
  color: var(--white-color); }

.free-slider-v1 {
  /* Slick Slider Customization */ }
  .free-slider-v1 .free-slider {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); }
  .free-slider-v1 h2 {
    font-family: "Playfair Display", serif;
    font-size: 2.5rem;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 60px;
    font-weight: 700; }
  .free-slider-v1 .free-slider-items {
    display: block; }
  .free-slider-v1 .free-slide-card {
    background: white;
    border-radius: 20px;
    margin: 0 15px;
    height: auto;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease, transform 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    border: 1px solid rgba(254, 223, 107, 0.2); }
    .free-slider-v1 .free-slide-card:hover {
      box-shadow: 0 20px 40px rgba(0, 51, 102, 0.15);
      background: var(--blue-color);
      color: white; }
      .free-slider-v1 .free-slide-card:hover .free-slide-content h3, .free-slider-v1 .free-slide-card:hover .free-slide-content p {
        color: var(--white-color); }
  .free-slider-v1 .free-slide-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 25px 30px 0px;
    margin-bottom: 10px; }
  .free-slider-v1 .free-slide-image {
    height: 130px;
    width: 130px;
    display: flex;
    justify-content: center;
    align-items: center; }
  .free-slider-v1 .free-slide-image img {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--yellow-color);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    background-color: var(--gray-color); }
  .free-slider-v1 .free-slide-tags-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
    flex: 1;
    margin-left: 25px;
    max-width: 180px;
    margin-top: 10px; }
  .free-slider-v1 .single-tag {
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 6px 12px;
    border-radius: 18px;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid rgba(0, 51, 102, 0.1);
    white-space: nowrap; }
  .free-slider-v1 .free-slide-content {
    padding: 0px 25px 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    text-align: center; }
  .free-slider-v1 .free-slide-content h3 {
    font-family: "Playfair Display", serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--blue-color);
    margin-bottom: 20px;
    position: relative; }
  .free-slider-v1 .free-slide-content h3::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .free-slider-v1 .free-slide-content p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 20px;
    flex-grow: 1;
    display: block;
    text-align: left; }
  .free-slider-v1 .free-slide-button {
    align-self: center;
    display: inline-block;
    padding: 10px 18px;
    border-radius: 24px;
    background: var(--yellow-color);
    color: var(--blue-color);
    font-weight: 700;
    text-decoration: none;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0, 51, 102, 0.1); }
  .free-slider-v1 .free-slide-button:hover {
    background: var(--blue-color);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 5px 15px rgba(0, 51, 102, 0.3); }
  .free-slider-v1 .free-slider-items .slick-dots {
    display: none !important; }
  .free-slider-v1 .free-slider-items .slick-list {
    overflow: hidden; }
  .free-slider-v1 .free-slider-items .slick-track {
    will-change: transform; }
  .free-slider-v1 .free-slider-items .slick-prev,
  .free-slider-v1 .free-slider-items .slick-next {
    width: 60px !important;
    height: 60px !important;
    z-index: 1000 !important;
    background: var(--yellow-color) !important;
    border: none !important;
    border-radius: 50% !important;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    position: absolute !important;
    overflow: hidden !important;
    display: block !important;
    opacity: 1 !important; }
  .free-slider-v1 .free-slider-items .slick-prev:hover,
  .free-slider-v1 .free-slider-items .slick-next:hover {
    background: var(--blue-color) !important; }
  .free-slider-v1 .free-slider-items .slick-prev {
    left: -13px !important; }
  .free-slider-v1 .free-slider-items .slick-next {
    right: -13px !important; }
  .free-slider-v1 .free-slider-items .slick-prev:before,
  .free-slider-v1 .free-slider-items .slick-next:before {
    font-family: 'Arial', sans-serif !important;
    font-size: 22px !important;
    color: var(--white-color) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    position: relative !important;
    z-index: 2 !important;
    opacity: 1 !important; }
  .free-slider-v1 .free-slider-items .slick-prev:before {
    content: '❮' !important;
    margin-left: -2px !important; }
  .free-slider-v1 .free-slider-items .slick-next:before {
    content: '❯' !important;
    margin-left: 2px !important; }

/* Timeline Block
   Dynamic block with ACF fields integration
*/
.timeline-block {
  padding: 100px 0;
  background: var(--white-color);
  /* Core timeline layout */
  /* Reveal animation */
  /* Alternate left/right */
  /* Dot */
  /* Card */
  /* Decorative edge for cards towards the center line */
  /* Connector lines from card edge to the center dot */
  /* Responsive */
  /* Load More functionality */ }
  @media (max-width: 992px) {
    .timeline-block {
      padding: 40px 0; } }
  .timeline-block .timeline-header {
    text-align: center;
    margin-bottom: 48px; }
    .timeline-block .timeline-header h2 {
      font-family: "Playfair Display", serif;
      font-size: 40px;
      line-height: 1.2;
      color: var(--blue-color);
      margin: 0;
      font-weight: 700; }
      @media (max-width: 768px) {
        .timeline-block .timeline-header h2 {
          font-size: 32px;
          line-height: 1.3; } }
  .timeline-block .timeline {
    position: relative;
    max-width: 1200px;
    margin: 0 auto; }
  .timeline-block .timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 4px;
    transform: translateX(-50%);
    background: var(--blue-color); }
  .timeline-block .timeline-list {
    list-style: none;
    padding: 0;
    margin: 0; }
  .timeline-block .timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 80px;
    align-items: center;
    margin: 36px 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s ease, transform .6s ease; }
  .timeline-block .timeline-item.in-view {
    opacity: 1;
    transform: none; }
  .timeline-block .timeline-item:nth-child(odd) .timeline-card {
    grid-column: 1; }
  .timeline-block .timeline-item:nth-child(even) .timeline-card {
    grid-column: 2; }
  .timeline-block .timeline-dot {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--white-color);
    border: 4px solid var(--yellow-color);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    z-index: 2; }
  .timeline-block .timeline-card {
    background: var(--white-color);
    border-radius: 16px;
    padding: 0;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
    position: relative;
    overflow: hidden; }
  .timeline-block .timeline-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
    border-radius: 16px 16px 0 0; }
  .timeline-block .timeline-date {
    color: var(--blue-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin: 0 0 6px;
    padding: 20px 24px 0;
    font-size: 14px; }
  .timeline-block .timeline-title {
    margin: 0;
    color: var(--gray-color);
    font-size: 18px;
    line-height: 1.6;
    font-weight: 500;
    padding: 0 24px 20px; }
  .timeline-block .timeline-item:nth-child(odd) .timeline-card {
    border-left: 3px solid var(--gray-color); }
  .timeline-block .timeline-item:nth-child(even) .timeline-card {
    border-right: 3px solid var(--gray-color); }
  .timeline-block .timeline-item:nth-child(odd) .timeline-card::before,
  .timeline-block .timeline-item:nth-child(even) .timeline-card::before {
    content: '';
    position: absolute;
    top: 50%;
    height: 2px;
    width: 40px;
    background: var(--blue-color);
    opacity: 0.15;
    transform: translateY(-50%); }
  .timeline-block .timeline-item:nth-child(odd) .timeline-card::before {
    right: -40px; }
  .timeline-block .timeline-item:nth-child(even) .timeline-card::before {
    left: -40px; }
  @media (max-width: 992px) {
    .timeline-block .timeline-item {
      grid-template-columns: 24px 1fr;
      gap: 16px 16px;
      margin: 24px 0;
      align-items: start; }
    .timeline-block .timeline-line {
      left: 12px;
      transform: none;
      width: 3px;
      background: rgba(0, 0, 0, 0.06); }
    .timeline-block .timeline-dot {
      left: 4px;
      top: 90px;
      transform: translateY(0); }
    .timeline-block .timeline-card {
      grid-column: 2 !important; }
    .timeline-block .timeline-item:nth-child(odd) .timeline-card,
    .timeline-block .timeline-item:nth-child(even) .timeline-card {
      border-left: 3px solid var(--gray-color);
      border-right: 0 !important; }
    .timeline-block .timeline-item:nth-child(odd) .timeline-card::before,
    .timeline-block .timeline-item:nth-child(even) .timeline-card::before {
      left: -28px;
      right: auto;
      width: 28px; } }
  @media (max-width: 576px) {
    .timeline-block .timeline-title {
      font-size: 16px;
      line-height: 1.5; } }
  .timeline-block .timeline-item-hidden {
    display: none; }
  .timeline-block .timeline-load-more-wrapper {
    position: relative;
    text-align: center;
    margin-top: 60px;
    padding-top: 40px;
    z-index: 10; }
    @media (max-width: 768px) {
      .timeline-block .timeline-load-more-wrapper {
        margin-top: 40px;
        padding-top: 30px; } }
  .timeline-block .timeline-load-more-btn {
    position: relative;
    display: inline-block;
    padding: 16px 48px;
    background: var(--blue-color);
    color: var(--white-color);
    border: none;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 600;
    font-family: "Playfair Display", serif;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 8px 20px rgba(0, 51, 102, 0.2);
    z-index: 10; }
    .timeline-block .timeline-load-more-btn:hover {
      background: #004080;
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(0, 51, 102, 0.3); }
    .timeline-block .timeline-load-more-btn:active {
      transform: translateY(0); }
    .timeline-block .timeline-load-more-btn:focus {
      outline: 2px solid var(--yellow-color);
      outline-offset: 4px; }
    .timeline-block .timeline-load-more-btn.hidden {
      display: none; }
    @media (max-width: 768px) {
      .timeline-block .timeline-load-more-btn {
        padding: 14px 36px;
        font-size: 16px; } }

.image-slider-left-title-undertitle-description {
  /* Why Choose Section */ }
  .image-slider-left-title-undertitle-description .why-choose-section {
    padding: 100px 0;
    background: white; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .why-choose-section {
        padding: 40px 0; } }
    .image-slider-left-title-undertitle-description .why-choose-section.gray-bg {
      background-color: #f8f9fa; }
  .image-slider-left-title-undertitle-description .why-choose-intro {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    grid-template-areas: 'image content';
    gap: 60px;
    align-items: center;
    margin-bottom: 80px; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .why-choose-intro {
        grid-template-columns: 1fr;
        grid-template-areas: 'image' 'content';
        margin-bottom: 0px; } }
  .image-slider-left-title-undertitle-description .why-choose-intro.reverse {
    grid-template-areas: 'content image'; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .why-choose-intro.reverse {
        grid-template-areas: 'image' 'content'; } }
  .image-slider-left-title-undertitle-description .intro-image {
    position: relative;
    grid-area: image;
    max-width: 755px;
    width: 100%;
    overflow: hidden; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .intro-image {
        max-width: 100%; } }
  .image-slider-left-title-undertitle-description .image-slider-wrapper {
    position: relative;
    width: 100%;
    max-width: 755px;
    overflow: hidden;
    opacity: 0; }
    .image-slider-left-title-undertitle-description .image-slider-wrapper.slick-initialized {
      display: block;
      opacity: 1; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .image-slider-wrapper {
        max-width: 100%; } }
  .image-slider-left-title-undertitle-description .slider-item {
    position: relative;
    width: 100%;
    outline: none; }
  .image-slider-left-title-undertitle-description .image-slider-wrapper .slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0; }
  .image-slider-left-title-undertitle-description .image-slider-wrapper .slick-track {
    display: flex;
    align-items: center; }
  .image-slider-left-title-undertitle-description .image-slider-wrapper .slick-slide {
    float: none;
    height: auto; }
    .image-slider-left-title-undertitle-description .image-slider-wrapper .slick-slide > div {
      width: 100%; }
  .image-slider-left-title-undertitle-description .intro-image img,
  .image-slider-left-title-undertitle-description .slider-item img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 20px;
    display: block; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .intro-image img,
      .image-slider-left-title-undertitle-description .slider-item img {
        height: 300px;
        border-radius: 15px; } }
    @media (max-width: 576px) {
      .image-slider-left-title-undertitle-description .intro-image img,
      .image-slider-left-title-undertitle-description .slider-item img {
        height: 250px; } }
  .image-slider-left-title-undertitle-description .intro-image::before {
    content: '';
    position: absolute;
    top: -15px;
    left: -15px;
    right: 15px;
    bottom: 15px;
    background: linear-gradient(45deg, var(--yellow-color), var(--blue-color));
    border-radius: 25px;
    opacity: 0.1;
    z-index: -1;
    max-width: 755px; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .intro-image::before {
        top: -10px;
        left: -10px;
        right: 10px;
        bottom: 10px;
        border-radius: 20px; } }
  .image-slider-left-title-undertitle-description .intro-content {
    padding-left: 20px;
    grid-area: content; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .intro-content {
        padding-left: 0; } }
  .image-slider-left-title-undertitle-description .why-choose-intro.reverse .intro-content {
    padding-left: 0;
    padding-right: 20px; }
  .image-slider-left-title-undertitle-description .intro-content h2 {
    font-family: "Playfair Display", serif;
    font-size: 40px;
    color: var(--blue-color);
    margin-bottom: 20px;
    line-height: 1.2;
    font-weight: 700; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .intro-content h2 {
        font-size: 28px;
        line-height: 36px; } }
  .image-slider-left-title-undertitle-description .section-subtitle {
    font-size: 1.1rem;
    color: var(--yellow-color);
    font-weight: 600;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .image-slider-left-title-undertitle-description .intro-text p {
    color: var(--gray-color);
    line-height: 1.7;
    margin-bottom: 20px;
    font-size: 18px; }
    @media (max-width: 1024px) {
      .image-slider-left-title-undertitle-description .intro-text p {
        font-size: 16px; } }

/* Conferences Block: Filters + Grid (scoped) */
.conferences-block {
  /* Filters Section */
  /* Conferences Grid */
  /* Status states for conferences */
  /* No Results */
  /* Accessibility focus */
  /* Responsive */ }
  .conferences-block .conferences-filters {
    padding: 60px 0;
    background: #fff;
    border-bottom: 1px solid #eee; }
  .conferences-block .filters-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto; }
  .conferences-block .filter-group {
    position: relative; }
  .conferences-block .filter-group label {
    display: block;
    font-weight: 600;
    color: var(--main-titles-color);
    margin-bottom: 8px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .conferences-block .filter-dropdown {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    background: #fff;
    font-size: 16px;
    color: var(--blue-color);
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 16px center;
    background-repeat: no-repeat;
    background-size: 16px;
    cursor: pointer; }
  .conferences-block .filter-dropdown:focus {
    outline: none;
    border-color: var(--yellow-color);
    box-shadow: 0 0 0 3px rgba(254, 223, 107, 0.2); }
  .conferences-block .filter-dropdown:hover {
    border-color: var(--main-titles-color); }
  .conferences-block .conferences-grid {
    padding: 80px 0;
    background: #f8f9fa; }
  .conferences-block .conferences-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 40px; }
  .conferences-block .conference-card {
    display: block;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    position: relative;
    text-decoration: none;
    color: inherit;
    /* animation */
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards; }
  .conferences-block .conference-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 51, 102, 0.15);
    text-decoration: none; }
  .conferences-block .conference-image {
    position: relative;
    height: 240px;
    overflow: hidden;
    margin: 30px; }
  .conferences-block .conference-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: #fff;
    transition: transform 0.6s ease; }
  .conferences-block .conference-card:hover .conference-image img {
    transform: scale(1.1); }
  .conferences-block .conference-statuses {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end; }
    @media screen and (max-width: 768px) {
      .conferences-block .conference-statuses {
        right: 50%;
        transform: translateX(50%);
        width: 100%;
        align-items: center; } }
  .conferences-block .conference-status {
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .conferences-block .conference-status.open {
    background: #10b981;
    color: #fff; }
  .conferences-block .conference-status.ongoing {
    background: #f59e0b;
    color: #fff; }
  .conferences-block .conference-status.ended {
    background: var(--gray-color);
    color: #fff; }
  .conferences-block .conference-content {
    padding: 32px; }
  .conferences-block .conference-title {
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--main-titles-color);
    margin-bottom: 16px;
    line-height: 1.3;
    min-height: 62px;
    position: relative;
    padding-top: 20px; }
  .conferences-block .conference-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .conferences-block .conference-description {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 24px;
    font-size: 16px; }
  .conferences-block .conference-meta-wrapper {
    margin-bottom: 24px; }
  .conferences-block .conference-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px; }
  .conferences-block .conference-meta:last-child {
    margin-bottom: 0; }
  .conferences-block .meta-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--gray-color);
    text-transform: uppercase; }
  .conferences-block .meta-tag {
    background: rgba(0, 51, 102, 0.08);
    color: var(--main-titles-color);
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 500; }
  .conferences-block .conference-date {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 12px; }
    @media screen and (max-width: 768px) {
      .conferences-block .conference-date {
        flex-direction: column;
        align-items: flex-start; } }
  .conferences-block .date-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--yellow-color);
    border-radius: 50%;
    flex-shrink: 0; }
  .conferences-block .date-icon i {
    font-size: 20px;
    color: var(--main-titles-color); }
  .conferences-block .date-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px; }
  .conferences-block .date-row {
    display: flex;
    align-items: center;
    gap: 8px; }
  .conferences-block .date-label {
    font-size: 12px;
    color: var(--gray-color);
    text-transform: uppercase;
    font-weight: 600; }
  .conferences-block .date-value {
    font-size: 16px;
    font-weight: 700;
    color: var(--main-titles-color); }
  .conferences-block .conference-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--yellow-color);
    color: var(--main-titles-color);
    padding: 12px 24px;
    border-radius: 5px;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; }
  .conferences-block .conference-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease; }
  .conferences-block .conference-cta::after {
    content: '→';
    color: var(--main-titles-color);
    transition: all 0.3s ease; }
  .conferences-block .conference-card:hover .conference-cta::before {
    left: 100%; }
  .conferences-block .conference-card:hover .conference-cta {
    background: var(--main-titles-color);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .conferences-block .conference-card:hover .conference-cta::after {
    color: #fff;
    transform: translateX(3px); }
  .conferences-block .no-results {
    text-align: center;
    padding: 80px 20px;
    color: var(--gray-color); }
  .conferences-block .no-results h3 {
    font-size: 1.5rem;
    margin-bottom: 16px;
    color: var(--main-titles-color); }
  .conferences-block .no-results p {
    font-size: 16px; }
  .conferences-block .filter-dropdown:focus,
  .conferences-block .conference-card:focus {
    outline: 3px solid var(--secondary);
    outline-offset: 2px; }
  @media (max-width: 1024px) {
    .conferences-block .conferences-container {
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 30px; } }
  @media (max-width: 768px) {
    .conferences-block .filters-wrapper {
      grid-template-columns: 1fr;
      gap: 20px; }
    .conferences-block .conferences-container {
      grid-template-columns: 1fr;
      gap: 25px; }
    .conferences-block .conference-content {
      padding: 24px; } }
  @media (max-width: 480px) {
    .conferences-block .conference-image {
      height: 200px; }
    .conferences-block .filter-dropdown {
      padding: 14px 16px;
      font-size: 14px; }
    .conferences-block .date-icon {
      width: 40px;
      height: 40px; }
    .conferences-block .date-icon i {
      font-size: 16px; } }

.banner-v6 {
  /* Hero */
  /* Meta item for conference date */
  /* Conference CTA Button */
  /* Share */ }
  .banner-v6 .conference-hero {
    padding-block: 100px;
    background-color: #f7f7f7; }
    @media (max-width: 768px) {
      .banner-v6 .conference-hero {
        padding-block: 60px; } }
  .banner-v6 .conference-hero .hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
    gap: 32px; }
  @media (max-width: 768px) {
    .banner-v6 .conference-hero .hero-grid {
      grid-template-columns: 1fr;
      gap: 20px; } }
  .banner-v6 .conference-hero .hero-text {
    min-width: 0; }
  .banner-v6 .conference-hero .hero-media {
    min-width: 0; }
  @media (max-width: 768px) {
    .banner-v6 .conference-hero .hero-media {
      order: 1; }
    .banner-v6 .conference-hero .hero-text {
      order: 2; } }
  .banner-v6 .conference-hero .hero-media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08); }
  .banner-v6 .conference-hero h1 {
    margin: 0 0 24px;
    font-family: "Playfair Display", serif;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.2;
    color: var(--blue-color); }
  .banner-v6 .conference-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 24px 0 0;
    border-top: 1px solid #f0f2f5; }
    @media (max-width: 768px) {
      .banner-v6 .conference-meta {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start; } }
  .banner-v6 .conference-meta .meta-left {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap; }
    @media (max-width: 768px) {
      .banner-v6 .conference-meta .meta-left {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px; } }
  .banner-v6 .conference-meta .meta-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap; }
  .banner-v6 .share-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap; }
  .banner-v6 .share-btn {
    appearance: none;
    border: 1px solid var(--yellow-color);
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s, box-shadow .2s; }
  .banner-v6 .share-btn:hover,
  .banner-v6 .share-btn:focus {
    background: #f9fafb;
    border-color: var(--yellow-color);
    color: var(--blue-color);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06); }
  .banner-v6 .meta-item.meta-date {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e7eb; }
  .banner-v6 .meta-item.meta-date i {
    font-size: 20px;
    color: var(--yellow-color);
    flex-shrink: 0; }
  .banner-v6 .meta-info {
    display: flex;
    flex-direction: column;
    gap: 4px; }
  .banner-v6 .meta-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    font-weight: 700; }
  .banner-v6 .meta-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--blue-color); }
  .banner-v6 .conference-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background: var(--yellow-color);
    color: var(--blue-color);
    border: 2px solid var(--yellow-color);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(254, 223, 107, 0.3); }
  .banner-v6 .conference-cta i {
    font-size: 16px; }
  .banner-v6 .conference-cta:hover,
  .banner-v6 .conference-cta:focus {
    background: var(--blue-color);
    color: #fff;
    border-color: var(--blue-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 51, 102, 0.25);
    text-decoration: none; }
  .banner-v6 .share-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #6b7280;
    margin-right: 2px; }
  .banner-v6 .share-btn--blue {
    background: var(--blue-color);
    color: #fff;
    border-color: var(--blue-color); }
  .banner-v6 .share-btn--blue-color:hover,
  .banner-v6 .share-btn--blue-color:focus {
    color: #fff;
    filter: brightness(0.95);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); }

.carousel-imagens-block {
  margin: 40px auto; }
  .carousel-imagens-block .carousel-imagens-container {
    position: relative;
    max-width: 100%;
    margin: 0 auto; }
    .carousel-imagens-block .carousel-imagens-container .carousel-imagens-slider {
      position: relative; }
      .carousel-imagens-block .carousel-imagens-container .carousel-imagens-slider .carousel-slide {
        outline: none; }
        .carousel-imagens-block .carousel-imagens-container .carousel-imagens-slider .carousel-slide .slide-image-container {
          position: relative;
          overflow: hidden;
          border-radius: 12px;
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); }
          .carousel-imagens-block .carousel-imagens-container .carousel-imagens-slider .carousel-slide .slide-image-container .carousel-image {
            width: 100%;
            height: 800px;
            object-fit: cover;
            display: block;
            transition: transform 0.3s ease; }
            @media (max-width: 768px) {
              .carousel-imagens-block .carousel-imagens-container .carousel-imagens-slider .carousel-slide .slide-image-container .carousel-image {
                height: 300px; } }
    .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev,
    .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(255, 255, 255, 0.9);
      border: none;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.3s ease;
      z-index: 10;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
      @media (max-width: 768px) {
        .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev,
        .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next {
          width: 40px;
          height: 40px; } }
      .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev i,
      .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next i {
        font-size: 18px;
        color: #333; }
        @media (max-width: 768px) {
          .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev i,
          .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next i {
            font-size: 14px; } }
      .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev:hover,
      .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next:hover {
        background: white;
        transform: translateY(-50%) scale(1.1);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); }
      .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev:focus,
      .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next:focus {
        outline: 2px solid #007cba;
        outline-offset: 2px; }
    .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev {
      left: 20px; }
      @media (max-width: 768px) {
        .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-prev {
          left: 10px; } }
    .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next {
      right: 20px; }
      @media (max-width: 768px) {
        .carousel-imagens-block .carousel-imagens-container .carousel-navigation .carousel-next {
          right: 10px; } }
    .carousel-imagens-block .carousel-imagens-container .carousel-dots {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 30px;
      gap: 12px; }
      .carousel-imagens-block .carousel-imagens-container .carousel-dots .slick-dots {
        display: flex !important;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 12px; }
        .carousel-imagens-block .carousel-imagens-container .carousel-dots .slick-dots li button {
          width: 12px;
          height: 12px;
          border-radius: 50%;
          border: none;
          background: #d1d5db;
          cursor: pointer;
          transition: all 0.3s ease;
          font-size: 0;
          padding: 0; }
          .carousel-imagens-block .carousel-imagens-container .carousel-dots .slick-dots li button:hover {
            background: #9ca3af;
            transform: scale(1.2); }
          .carousel-imagens-block .carousel-imagens-container .carousel-dots .slick-dots li button:focus {
            outline: 2px solid #007cba;
            outline-offset: 2px; }
        .carousel-imagens-block .carousel-imagens-container .carousel-dots .slick-dots li.slick-active button {
          background: #007cba;
          transform: scale(1.3); }
  .carousel-imagens-block .slick-list {
    border-radius: 12px;
    overflow: hidden; }
  .carousel-imagens-block .slick-track {
    display: flex;
    align-items: center; }
  .carousel-imagens-block .slick-slide > div {
    height: 100%; }
  .carousel-imagens-block.loading .carousel-imagens-slider {
    min-height: 500px;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
    border-radius: 12px; }
    @media (max-width: 768px) {
      .carousel-imagens-block.loading .carousel-imagens-slider {
        min-height: 300px; } }

@keyframes loading {
  0% {
    background-position: 200% 0; }
  100% {
    background-position: -200% 0; } }
.alignfull .carousel-imagens-block .carousel-imagens-container {
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw); }

.alignwide .carousel-imagens-block .carousel-imagens-container {
  max-width: 1200px; }

.related-conferences {
  padding: 80px 0;
  background: #f8f9fa;
  /* Responsive */ }
  .related-conferences h2 {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    font-weight: 600;
    color: var(--main-titles-color);
    margin-bottom: 40px;
    text-align: center; }
  .related-conferences .related-conferences-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 40px; }
  .related-conferences .conference-card {
    display: block;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    position: relative;
    text-decoration: none;
    color: inherit;
    /* animation */
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards; }
  .related-conferences .conference-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 51, 102, 0.15);
    text-decoration: none; }
  .related-conferences .conference-image {
    position: relative;
    height: 240px;
    overflow: hidden;
    margin: 30px; }
  .related-conferences .conference-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: #fff;
    transition: transform 0.6s ease; }
  .related-conferences .conference-card:hover .conference-image img {
    transform: scale(1.1); }
  .related-conferences .conference-status {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .related-conferences .conference-status.open {
    background: #10b981;
    color: #fff; }
  .related-conferences .conference-status.ongoing {
    background: #f59e0b;
    color: #fff; }
  .related-conferences .conference-status.ended {
    background: var(--gray-color);
    color: #fff; }
  .related-conferences .conference-content {
    padding: 32px; }
  .related-conferences .conference-title {
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--main-titles-color);
    margin-bottom: 16px;
    line-height: 1.3;
    min-height: 62px;
    position: relative;
    padding-top: 20px; }
  .related-conferences .conference-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .related-conferences .conference-description {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 24px;
    font-size: 16px; }
  .related-conferences .conference-meta-wrapper {
    margin-bottom: 24px; }
  .related-conferences .conference-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px; }
  .related-conferences .conference-meta:last-child {
    margin-bottom: 0; }
  .related-conferences .meta-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--gray-color);
    text-transform: uppercase; }
  .related-conferences .meta-tag {
    background: rgba(0, 51, 102, 0.08);
    color: var(--main-titles-color);
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 500; }
  .related-conferences .conference-date {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 12px; }
  .related-conferences .date-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--yellow-color);
    border-radius: 50%;
    flex-shrink: 0; }
  .related-conferences .date-icon i {
    font-size: 20px;
    color: var(--main-titles-color); }
  .related-conferences .date-info {
    flex: 1; }
  .related-conferences .date-label {
    font-size: 12px;
    color: var(--gray-color);
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 4px; }
  .related-conferences .date-value {
    font-size: 16px;
    font-weight: 700;
    color: var(--main-titles-color); }
  .related-conferences .conference-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--yellow-color);
    color: var(--main-titles-color);
    padding: 12px 24px;
    border-radius: 5px;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; }
  .related-conferences .conference-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease; }
  .related-conferences .conference-cta::after {
    content: '→';
    color: var(--main-titles-color);
    transition: all 0.3s ease; }
  .related-conferences .conference-card:hover .conference-cta::before {
    left: 100%; }
  .related-conferences .conference-card:hover .conference-cta {
    background: var(--main-titles-color);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }
  .related-conferences .conference-card:hover .conference-cta::after {
    color: #fff;
    transform: translateX(3px); }
  @media (max-width: 1024px) {
    .related-conferences .related-conferences-grid {
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 30px; } }
  @media (max-width: 768px) {
    .related-conferences .related-conferences-grid {
      grid-template-columns: 1fr;
      gap: 25px; }
    .related-conferences .conference-content {
      padding: 24px; } }
  @media (max-width: 480px) {
    .related-conferences .conference-image {
      height: 200px; }
    .related-conferences .date-icon {
      width: 40px;
      height: 40px; }
    .related-conferences .date-icon i {
      font-size: 16px; } }

/* YouTube Block */
.youtube-block {
  padding: 80px 0; }
  .youtube-block .youtube-title {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    font-weight: 600;
    color: var(--main-titles-color);
    text-align: center;
    margin: 0 0 30px 0;
    line-height: 1.2; }
  .youtube-block .youtube-wrapper {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    /* Maintain 16:9 ratio */
    aspect-ratio: 16 / 9;
    background: #000; }
  .youtube-block .youtube-label {
    max-width: 1100px;
    margin: 12px auto 0;
    color: var(--gray-color);
    font-size: 16px;
    line-height: 1.4;
    text-align: left; }
  .youtube-block .youtube-embed {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 0; }
  @media (max-width: 768px) {
    .youtube-block {
      padding: 60px 0; }
      .youtube-block .youtube-title {
        font-size: 1.6rem;
        margin-bottom: 24px; } }

/**
 * Search Functionality Styles
 * 
 * Includes styles for:
 * - Search popup overlay
 * - Search results page
 * - Uniform search result cards
 * - Responsive design
 * 
 * @package FCL
 */
.search-icon {
  cursor: pointer;
  transition: all 0.3s ease; }
  .search-icon:hover {
    opacity: 0.7;
    transform: scale(1.05); }
  .search-icon:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px; }

.search-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none; }
  .search-popup.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all; }

.search-popup-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px; }

.search-popup-inner {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 40px;
  max-width: 700px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  transform: scale(0.9);
  transition: transform 0.3s ease; }
  .search-popup.active .search-popup-inner {
    transform: scale(1); }
  @media (max-width: 768px) {
    .search-popup-inner {
      padding: 30px 20px; } }

.search-popup-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: transparent;
  border: none;
  font-size: 24px;
  color: #666;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease; }
  .search-popup-close:hover {
    background: #f5f5f5;
    color: #333;
    transform: rotate(90deg); }
  .search-popup-close:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px; }

.search-popup-content {
  text-align: center; }

.search-popup-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--blue-color);
  margin: 0 0 30px; }
  @media (max-width: 768px) {
    .search-popup-title {
      font-size: 24px;
      margin-bottom: 20px; } }

.search-form-popup {
  width: 100%; }

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background: #f8f9fa;
  border: 2px solid #e0e0e0;
  border-radius: 50px;
  overflow: hidden;
  transition: all 0.3s ease; }
  .search-input-wrapper:focus-within {
    border-color: rgba(0, 0, 0, 0.75);
    box-shadow: 0 0 0 4px rgba(0, 115, 170, 0.1); }

.search-input {
  flex: 1;
  padding: 16px 24px;
  border: none;
  background: transparent;
  font-size: 16px;
  color: var(--blue-color);
  outline: none; }
  .search-input::placeholder {
    color: var(--blue-color); }
  @media (max-width: 768px) {
    .search-input {
      padding: 14px 20px;
      font-size: 15px; } }

.search-submit {
  background: var(--blue-color);
  border: none;
  color: #fff;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 50%;
  margin-right: 4px; }
  .search-submit:hover {
    background: #005a87;
    transform: scale(1.05); }
  .search-submit:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px; }
  .search-submit i {
    font-size: 18px; }
  @media (max-width: 768px) {
    .search-submit {
      width: 45px;
      height: 45px; }
      .search-submit i {
        font-size: 16px; } }

body.search-popup-open {
  overflow: hidden; }

.search-results-page {
  padding: 60px 0;
  min-height: 60vh; }
  @media (max-width: 768px) {
    .search-results-page {
      padding: 40px 0; } }

.search-header {
  margin-bottom: 50px; }
  @media (max-width: 768px) {
    .search-header {
      margin-bottom: 30px; } }

.search-header-content {
  margin-bottom: 30px; }

.search-title {
  font-size: 36px;
  font-weight: 700;
  color: #333;
  margin: 0;
  line-height: 1.3; }
  @media (max-width: 768px) {
    .search-title {
      font-size: 26px; } }
  .search-title .search-count {
    color: rgba(0, 0, 0, 0.75); }
  .search-title .search-query {
    color: #666;
    font-style: italic; }

.search-form-wrapper {
  max-width: 600px;
  width: 100%;
  margin: 0 auto; }

.search-form-inline {
  width: 100%; }

.search-input-group {
  position: relative;
  display: flex;
  align-items: center;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 50px;
  overflow: hidden;
  transition: all 0.3s ease; }
  .search-input-group:focus-within {
    border-color: #0073aa;
    box-shadow: 0 0 0 4px rgba(0, 115, 170, 0.1); }
  .search-input-group .search-input {
    flex: 1;
    padding: 14px 24px;
    border: none;
    background: transparent;
    font-size: 15px;
    color: #333;
    outline: none; }
    .search-input-group .search-input::placeholder {
      color: #999; }
    @media (max-width: 768px) {
      .search-input-group .search-input {
        padding: 12px 20px;
        font-size: 14px; } }
  .search-input-group .search-submit-btn {
    background: rgba(0, 0, 0, 0.75);
    border: none;
    color: #fff;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 50%;
    margin-right: 3px; }
    .search-input-group .search-submit-btn:hover {
      background: #005a87;
      transform: scale(1.05); }
    .search-input-group .search-submit-btn:focus {
      outline: 2px solid rgba(0, 0, 0, 0.75);
      outline-offset: 2px; }
    .search-input-group .search-submit-btn i {
      font-size: 16px; }
    @media (max-width: 768px) {
      .search-input-group .search-submit-btn {
        width: 42px;
        height: 42px; }
        .search-input-group .search-submit-btn i {
          font-size: 14px; } }

.search-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 30px;
  margin-bottom: 60px; }
  @media (max-width: 768px) {
    .search-results-grid {
      grid-template-columns: 1fr;
      gap: 20px;
      margin-bottom: 40px; } }

.search-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column; }
  .search-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); }

.search-card-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%; }

.search-card-image-wrapper {
  position: relative;
  width: 100%;
  padding-top: 60%;
  background: #f5f5f5;
  overflow: hidden; }
  .search-card-image-wrapper.search-card-no-image {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }

.search-card-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease; }
  .search-card:hover .search-card-image {
    transform: scale(1.05); }

.search-card-placeholder {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  color: rgba(255, 255, 255, 0.5); }

.search-card-type-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(10px);
  color: #fff;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px; }

.search-card-content {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column; }
  @media (max-width: 768px) {
    .search-card-content {
      padding: 20px; } }

.search-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #333;
  margin: 0 0 12px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }
  @media (max-width: 768px) {
    .search-card-title {
      font-size: 18px; } }

.search-card-excerpt {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 16px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.search-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px; }

.search-card-tag {
  display: inline-block;
  background: #f0f0f0;
  color: #666;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500; }

.search-card-meta {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0; }

.search-card-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #999; }
  .search-card-date i {
    font-size: 14px; }

.search-pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px; }
  .search-pagination .page-numbers {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center; }
    .search-pagination .page-numbers li {
      margin: 0; }
    .search-pagination .page-numbers a,
    .search-pagination .page-numbers span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      height: 44px;
      padding: 0 16px;
      background: #fff;
      border: 2px solid #e0e0e0;
      border-radius: 8px;
      color: #666;
      text-decoration: none;
      font-weight: 600;
      transition: all 0.3s ease; }
      .search-pagination .page-numbers a:hover,
      .search-pagination .page-numbers span:hover {
        background: #0073aa;
        border-color: #0073aa;
        color: #fff; }
      .search-pagination .page-numbers a.current,
      .search-pagination .page-numbers span.current {
        background: #0073aa;
        border-color: #0073aa;
        color: #fff;
        pointer-events: none; }
      .search-pagination .page-numbers a.dots,
      .search-pagination .page-numbers span.dots {
        border: none;
        background: transparent;
        pointer-events: none; }
      .search-pagination .page-numbers a i,
      .search-pagination .page-numbers span i {
        font-size: 14px; }
  @media (max-width: 768px) {
    .search-pagination {
      margin-top: 30px; }
      .search-pagination .page-numbers {
        gap: 6px; }
        .search-pagination .page-numbers a,
        .search-pagination .page-numbers span {
          min-width: 40px;
          height: 40px;
          padding: 0 12px;
          font-size: 14px; } }

.search-no-results {
  text-align: center;
  padding: 80px 20px;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .search-no-results {
      padding: 60px 20px; } }

.search-no-results-icon {
  font-size: 80px;
  color: #ddd;
  margin-bottom: 30px; }
  @media (max-width: 768px) {
    .search-no-results-icon {
      font-size: 60px;
      margin-bottom: 20px; } }

.search-no-results-title {
  font-size: 32px;
  font-weight: 700;
  color: #333;
  margin: 0 0 16px; }
  @media (max-width: 768px) {
    .search-no-results-title {
      font-size: 24px; } }

.search-no-results-text {
  font-size: 16px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 40px; }

.search-suggestions {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 30px;
  text-align: left; }
  @media (max-width: 768px) {
    .search-suggestions {
      padding: 20px; } }

.search-suggestions-title {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin: 0 0 16px; }

.search-suggestions-list {
  list-style: none;
  padding: 0;
  margin: 0; }
  .search-suggestions-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 12px;
    font-size: 15px;
    color: #666;
    line-height: 1.6; }
    .search-suggestions-list li:last-child {
      margin-bottom: 0; }
    .search-suggestions-list li::before {
      content: '•';
      position: absolute;
      left: 8px;
      color: #0073aa;
      font-weight: 700; }

.search-card-link:focus {
  outline: 2px solid #0073aa;
  outline-offset: 4px; }

@media (prefers-contrast: high) {
  .search-card {
    border: 2px solid #000; }

  .search-popup-overlay {
    background: rgba(0, 0, 0, 0.95); } }
@media (prefers-reduced-motion: reduce) {
  .search-popup,
  .search-popup-inner,
  .search-card,
  .search-card-image,
  .search-submit,
  .search-popup-close {
    transition: none; } }
.slider-pages {
  margin-top: 100px;
  padding-bottom: 100px; }
  @media (max-width: 768px) {
    .slider-pages {
      margin-top: 40px;
      padding-bottom: 40px; } }
  .slider-pages .slick-slide {
    margin: 0 30px; }
  .slider-pages .slick-track {
    margin: 0 -30px;
    padding-block: 30px; }
  .slider-pages .slider-pages-grid {
    display: grid;
    gap: 40px;
    margin-top: 60px; }
  .slider-pages .slider-pages-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); }
  .slider-pages .slider-pages-grid .slider-pages-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); }
  .slider-pages .slider-pages-image {
    position: relative;
    height: 240px;
    overflow: hidden; }
  .slider-pages .slider-pages-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; }
  .slider-pages .slider-pages-card:hover .slider-pages-image img {
    transform: scale(1.05); }
  .slider-pages .slider-pages-content {
    padding: 30px; }
  .slider-pages .slider-pages-content h3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--yellow-color);
    border-radius: 2px; }
  .slider-pages .slider-pages-content h3 {
    font-size: 20px;
    color: var(--blue-color);
    margin-bottom: 15px;
    padding-top: 20px;
    line-height: 1.4;
    font-weight: 600;
    font-family: "Playfair Display", serif;
    position: relative; }
  .slider-pages .slider-pages-content p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 20px; }
  .slider-pages .button-container .slider-pages-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--yellow-color);
    color: var(--blue-color);
    padding: 12px 24px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; }
  .slider-pages .slider-pages-cta:hover {
    background: var(--blue-color);
    color: var(--white-color); }
  .slider-pages .slider-pages-cta::after {
    content: '→';
    color: var(--blue-color);
    font-size: 14px;
    font-family: "Playfair Display", serif;
    transition: all 0.3s ease; }
  .slider-pages .slider-pages-cta:hover::after {
    color: var(--white-color);
    transform: translateX(3px); }
  .slider-pages .slider-pages-slider-nav {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px; }
    .slider-pages .slider-pages-slider-nav .slider-pages-prev,
    .slider-pages .slider-pages-slider-nav .slider-pages-next {
      position: relative;
      z-index: 10;
      background: rgba(255, 255, 255, 0.9);
      border: 2px solid var(--yellow-color);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.3s ease; }
      .slider-pages .slider-pages-slider-nav .slider-pages-prev:hover,
      .slider-pages .slider-pages-slider-nav .slider-pages-next:hover {
        background: var(--yellow-color);
        color: var(--blue-color); }
      .slider-pages .slider-pages-slider-nav .slider-pages-prev i,
      .slider-pages .slider-pages-slider-nav .slider-pages-next i {
        font-size: 18px;
        color: var(--blue-color); }
      @media (max-width: 768px) {
        .slider-pages .slider-pages-slider-nav .slider-pages-prev,
        .slider-pages .slider-pages-slider-nav .slider-pages-next {
          width: 40px;
          height: 40px; }
          .slider-pages .slider-pages-slider-nav .slider-pages-prev i,
          .slider-pages .slider-pages-slider-nav .slider-pages-next i {
            font-size: 14px; } }

.simple-text-block {
  padding: 80px 0;
  background-color: #fff; }
  @media (max-width: 1024px) {
    .simple-text-block {
      padding: 60px 0; } }
  @media (max-width: 768px) {
    .simple-text-block {
      padding: 40px 0; } }
  .simple-text-block .simple-text-content {
    margin: 0 auto;
    color: var(--gray-color);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    line-height: 1.8; }
    .simple-text-block .simple-text-content h1, .simple-text-block .simple-text-content h2, .simple-text-block .simple-text-content h3, .simple-text-block .simple-text-content h4, .simple-text-block .simple-text-content h5, .simple-text-block .simple-text-content h6 {
      font-family: "Playfair Display", serif;
      color: var(--blue-color);
      font-weight: 700;
      margin-top: 40px;
      margin-bottom: 20px;
      line-height: 1.3; }
      .simple-text-block .simple-text-content h1:first-child, .simple-text-block .simple-text-content h2:first-child, .simple-text-block .simple-text-content h3:first-child, .simple-text-block .simple-text-content h4:first-child, .simple-text-block .simple-text-content h5:first-child, .simple-text-block .simple-text-content h6:first-child {
        margin-top: 0; }
    .simple-text-block .simple-text-content h1 {
      font-size: 42px; }
      @media (max-width: 768px) {
        .simple-text-block .simple-text-content h1 {
          font-size: 32px; } }
    .simple-text-block .simple-text-content h2 {
      font-size: 36px; }
      @media (max-width: 768px) {
        .simple-text-block .simple-text-content h2 {
          font-size: 28px; } }
    .simple-text-block .simple-text-content h3 {
      font-size: 28px; }
      @media (max-width: 768px) {
        .simple-text-block .simple-text-content h3 {
          font-size: 24px; } }
    .simple-text-block .simple-text-content h4 {
      font-size: 24px; }
      @media (max-width: 768px) {
        .simple-text-block .simple-text-content h4 {
          font-size: 20px; } }
    .simple-text-block .simple-text-content h5 {
      font-size: 20px; }
      @media (max-width: 768px) {
        .simple-text-block .simple-text-content h5 {
          font-size: 18px; } }
    .simple-text-block .simple-text-content h6 {
      font-size: 18px; }
      @media (max-width: 768px) {
        .simple-text-block .simple-text-content h6 {
          font-size: 16px; } }
    .simple-text-block .simple-text-content p {
      margin-bottom: 20px;
      color: var(--gray-color); }
      .simple-text-block .simple-text-content p:last-child {
        margin-bottom: 0; }
    .simple-text-block .simple-text-content a {
      color: var(--blue-color);
      text-decoration: underline;
      transition: color 0.3s ease; }
      .simple-text-block .simple-text-content a:hover {
        color: var(--yellow-color);
        text-decoration: none; }
    .simple-text-block .simple-text-content ul, .simple-text-block .simple-text-content ol {
      margin: 24px 0;
      padding-left: 30px; }
      .simple-text-block .simple-text-content ul li, .simple-text-block .simple-text-content ol li {
        margin-bottom: 12px;
        color: var(--gray-color);
        line-height: 1.8; }
        .simple-text-block .simple-text-content ul li:last-child, .simple-text-block .simple-text-content ol li:last-child {
          margin-bottom: 0; }
    .simple-text-block .simple-text-content ul {
      list-style-type: disc; }
      .simple-text-block .simple-text-content ul ul {
        list-style-type: circle;
        margin-top: 12px; }
        .simple-text-block .simple-text-content ul ul ul {
          list-style-type: square; }
    .simple-text-block .simple-text-content ol {
      list-style-type: decimal; }
      .simple-text-block .simple-text-content ol ol {
        list-style-type: lower-alpha;
        margin-top: 12px; }
        .simple-text-block .simple-text-content ol ol ol {
          list-style-type: lower-roman; }
    .simple-text-block .simple-text-content blockquote {
      margin: 32px 0;
      padding: 24px 32px;
      border-left: 4px solid var(--yellow-color);
      background-color: var(--light-gray-color);
      font-style: italic;
      color: var(--blue-color); }
      .simple-text-block .simple-text-content blockquote p {
        margin-bottom: 0; }
      .simple-text-block .simple-text-content blockquote cite {
        display: block;
        margin-top: 12px;
        font-size: 14px;
        font-style: normal;
        color: var(--gray-color); }
        .simple-text-block .simple-text-content blockquote cite:before {
          content: "— "; }
    .simple-text-block .simple-text-content strong, .simple-text-block .simple-text-content b {
      font-weight: 700;
      color: var(--blue-color); }
    .simple-text-block .simple-text-content em, .simple-text-block .simple-text-content i {
      font-style: italic; }
    .simple-text-block .simple-text-content code {
      padding: 2px 6px;
      background-color: var(--gray-medium-color);
      border-radius: 3px;
      font-family: 'Courier New', monospace;
      font-size: 14px;
      color: var(--blue-color); }
    .simple-text-block .simple-text-content pre {
      margin: 24px 0;
      padding: 20px;
      background-color: var(--gray-medium-color);
      border-radius: 6px;
      overflow-x: auto; }
      .simple-text-block .simple-text-content pre code {
        padding: 0;
        background-color: transparent;
        border-radius: 0; }
    .simple-text-block .simple-text-content hr {
      margin: 40px 0;
      border: 0;
      border-top: 2px solid var(--gray-medium-color); }
    .simple-text-block .simple-text-content table {
      width: 100%;
      margin: 32px 0;
      border-collapse: collapse; }
      .simple-text-block .simple-text-content table thead {
        background-color: var(--blue-color); }
        .simple-text-block .simple-text-content table thead th {
          padding: 16px;
          text-align: left;
          font-weight: 700;
          color: #fff;
          border: 1px solid var(--blue-color); }
      .simple-text-block .simple-text-content table tbody tr:nth-child(even) {
        background-color: var(--light-gray-color); }
      .simple-text-block .simple-text-content table tbody tr:hover {
        background-color: var(--gray-medium-color); }
      .simple-text-block .simple-text-content table tbody td {
        padding: 14px 16px;
        border: 1px solid #ddd;
        color: var(--gray-color); }
    .simple-text-block .simple-text-content img {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 32px auto;
      border-radius: 6px; }
    .simple-text-block .simple-text-content figure {
      margin: 32px 0; }
      .simple-text-block .simple-text-content figure img {
        margin: 0 auto; }
      .simple-text-block .simple-text-content figure figcaption {
        margin-top: 12px;
        text-align: center;
        font-size: 14px;
        color: var(--gray-color);
        font-style: italic; }
  .simple-text-block.alignwide .container-fcl {
    max-width: calc(var(--container) + 200px); }
  .simple-text-block.alignfull .container-fcl {
    max-width: 100%; }
