/* FONTS */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Yellowtail&display=swap');

.yellowtail-regular {
  font-family: "Yellowtail", cursive;
  font-weight: 400;
  font-style: normal;
}
.ibm-plex-serif-thin {
  font-family: "IBM Plex Serif", serif;
  font-weight: 100;
  font-style: normal;
}
.ibm-plex-serif-extralight {
  font-family: "IBM Plex Serif", serif;
  font-weight: 200;
  font-style: normal;
}
.ibm-plex-serif-light {
  font-family: "IBM Plex Serif", serif;
  font-weight: 300;
  font-style: normal;
}
.ibm-plex-serif-regular {
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  font-style: normal;
}
.ibm-plex-serif-medium {
  font-family: "IBM Plex Serif", serif;
  font-weight: 500;
  font-style: normal;
}
.ibm-plex-serif-semibold {
  font-family: "IBM Plex Serif", serif;
  font-weight: 600;
  font-style: normal;
}
.ibm-plex-serif-bold {
  font-family: "IBM Plex Serif", serif;
  font-weight: 700;
  font-style: normal;
}
.ibm-plex-serif-thin-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 100;
  font-style: italic;
}
.ibm-plex-serif-extralight-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 200;
  font-style: italic;
}
.ibm-plex-serif-light-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 300;
  font-style: italic;
}
.ibm-plex-serif-regular-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  font-style: italic;
}
.ibm-plex-serif-medium-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 500;
  font-style: italic;
}
.ibm-plex-serif-semibold-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 600;
  font-style: italic;
}
.ibm-plex-serif-bold-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 700;
  font-style: italic;
}

/* MENU */
.mod-menu {
    justify-content: center;
}
.mod-menu > li.current > a {
    border-bottom: 1px solid white;
    text-decoration:none;
}
.container-header nav {
    margin-top: 0;
    padding: 0;
}
/* START OF GOOGLE GEMINI-GENERATED CSS */
/* 1. RESET: Keep this to hide the template's stubborn default lines */
.metismenu.mod-menu .metismenu-item > a,
.metismenu.mod-menu .metismenu-item.active > a,
.metismenu.mod-menu .metismenu-item.current > a {
    text-decoration: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
}
.metismenu.mod-menu .metismenu-item > a::after,
.metismenu.mod-menu .metismenu-item.active > a::after {
    display: none !important;
    content: none !important;
}
/* 2. NEW ANIMATION: Centers the starting point */
.metismenu.mod-menu .metismenu-item > a {
    background-image: linear-gradient(white,pink);
    background-size: 0% 2px;
    background-position: center 100%; /* CHANGED: Starts in the middle */
    background-repeat: no-repeat;
    transition: background-size 0.3s ease-in-out; 
    padding-bottom: 1px; 
}/* 3. HOVER EFFECT: Slide the line in */
.metismenu.mod-menu .metismenu-item > a:hover {
    background-size: 100% 2px;
}
/* 4. CURRENT PAGE: Keep the line solid for the active page */
.metismenu.mod-menu .metismenu-item.current > a {
    background-size: 100% 2px !important;
}
/* Apply the same underline logic to dropdown menu links */
.metismenu.mod-menu .metismenu-item ul a {
    background-image: linear-gradient(#your-color, #your-color);
    background-size: 0% 2px;
    background-position: center 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s ease-in-out;
    padding-bottom: 2px;
    display: inline-block; /* Ensures the line matches text width, not the whole box */
}
/* Animate the dropdown link on hover */
.metismenu.mod-menu .metismenu-item ul a:hover {
    background-size: 100% 2px;
}
/* Style the 'current' page if it's inside a dropdown */
.metismenu.mod-menu .metismenu-item ul .current > a {
    background-size: 100% 2px !important;
}
/* END OF GOOGLE GEMINI-GENERATED CSS */
@media (width <= 991.98px) {
    .container-header {
        position: fixed !important;
        width: 100vw;
    }
}
/* BODY BASICS */
.back-to-top-link {
    border-radius: 2em;
}
p, div {
    font-family: "IBM+Plex+Serif", serif;
    font-size: max(10pt, 1.5dvw) !important;
    font-weight: normal;
}
h1{
    font-family: Yellowtail;
    font-size: max(14pt,3.0dvw) !important;
    margin-bottom: 5px;
    text-align: center;
}
h2{
    font-family: "IBM+Plex+Serif", serif;
    font-size: max(12pt,2.0dvw) !important;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
}
h3{
    font-family: "IBM+Plex+Serif", serif;
    font-size: max(10pt, 1.5dvw) !important;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
}
h4 {
    font-family: "IBM+Plex+Serif", serif;
    font-size: max(9pt, 1.3dvw) !important;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
}
h5{
    font-family: "IBM+Plex+Serif", serif;
    font-size: max(7pt,1.0dvw) !important;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
}
h6 {
    font-family: "IBM+Plex+Serif", serif;
    font-size: max(7pt,0.8dvw) !important;
    font-weight: normal;
    margin-bottom: 5px;
    text-align: center;
}

/* BLOCKS */
.container-component>*+*, .container-sidebar-left>*+*, .container-sidebar-right>*+* {
    margin-top: 0;
}
.card {
    --card-border-width: 0;
}
hr {
    margin: 0;
    padding-bottom: 10px;
}
.blog-items,
.wrapper-fluid .site-grid {
    grid-gap: 0 !important;
}
.block-text {
    font-size: 14pt;
    text-align: center;
}
.block-red-first {
    background-color: #5e0405;
    padding: 0;
    margin: 0;
}
.block-red {
    color: white;
    background-color: #5e0405;
    width: auto;
    text-align: center;
    padding: 0px 100px 40px 100px;
}
.block-white {
    color: black;
    background-color: white;
    width: auto;
    text-align: center;
    padding: 0px 100px 40px 100px;
}
.block-black {
    color: #faef70;
    background-color: black;
    width: auto;
    text-align: center;
    padding: 0px 100px 40px 100px;
}
@media screen and (max-width:100rem) {
    .block-red,
    .block-black,
    .block-white {
        padding: 0px 40px 30px 40px;
    }
}
@media screen and (max-width:80rem) {
    .block-red,
    .block-black,
    .block-white {
        padding: 0px 20px 30px 20px;
    }
}
@media screen and (max-width:62rem) {
    .block-red,
    .block-black,
    .block-white {
        padding: 10px 10px;
    }
    .block-red-first {
        padding: 20px;
    }
}

/* OVERALL SITE */
:root {
    --cassiopeia-color-primary: #5e0405;
    --cassiopeia-color-link: #30638d;
    --link-color: #30638d;
    --link-color-rgb: 48, 99, 141;
    --cassiopeia-color-hover: #5e0405;
    --link-hover-color: #954b56;
    --link-hover-color-rgb: 149, 75, 86;
}

.platform-content {
    padding:0 !important;
}
.row > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.fa-fw {
  color: #99996e;
}

/* GALLERY */
.slideplus-above>.slideplus-caption, .slideplus-below>.slideplus-caption
{
    height: 54px !important;
}
.slideplus-content {
    margin-bottom: 10px;
}
/* MEDIABOX */
#wf-mediabox-modal-description {
    text-align: center;
}
