:root {
    --portalThemeColor4: #1a365f;
    --portalThemeColor9: #2fc2e0;
    --borderRadius: 6px;
}
a
{
    color: var(--portalThemeColor4);
}
a:hover {
    color: var(--portalThemeColor9);
    text-decoration: none;
}
body {
    background: linear-gradient(135deg, #2a4874 0%, #2f5aa6 10%, #495bbd 40%, #6c4fae 100%);
    background-attachment: fixed;
    background-size: cover;
}
.crmEntityFormView, .entitylist, .modal-content, .popover-content {
    border-radius: var(--borderRadius); 
    border: 1px solid #f2f2f2;
}
.crmEntityFormView .actions {
    margin: 20px 28px;
}
.entity-form
{
    padding-top: 20px;
}
@media (max-width: 767px) {
    .crmEntityFormView .cell {
        margin-bottom: 15px;
        padding: 0px 5px;
    }
    .crmEntityFormView .actions {
    margin: 20px 5px;
}
}
.page-header
{
    color: white;
    text-align: center;
    margin: 10px 0 10px;
    padding-bottom: 0px;
}
.page-header h1
{
    color: white;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 40px;

}
.breadcrumb {
    margin-bottom: 0px;
}
.breadcrumb > li a {
    color: var(--portalThemeColor4);
}
.breadcrumb > .active {
    color: white;
}
.btn-primary
{
    color: #ffffff;
    background-color: var(--portalThemeColor4);
    border-color: var(--portalThemeColor4);
    border-radius: var(--borderRadius);
}
.btn-default {
    border-radius: var(--borderRadius);
}
.btn.btn-primary.button.submit-btn
{
    margin-left: 28px;
}
.alert.alert-block.alert-warning{
    background-color: #1a365fa1;
    color: white;
    border-radius: 6px;
}
.text .form-control
{
    border-radius: var(--borderRadius);
}
.form-control.picklist
{
    border-radius: var(--borderRadius);
}
input.form-control.lookup
{
    border-radius: var(--borderRadius);
}
.btn.btn-default.clearlookupfield {
    height: 35px !important;
    box-sizing: border-box !important;
}
.btn.btn-default.launchentitylookup
{
    height: 35px !important;
    box-sizing: border-box !important;
}
#primarycontactid_name + .text-muted[aria-hidden="true"] {
    display: none !important;
}

div[role="toolbar"]{
    border-radius: var(--borderRadius) var(--borderRadius) 0 0;
}
div[role="textbox"]{
    border-radius: 0 0 var(--borderRadius) var(--borderRadius) !important;
}
.btn-primary:hover
{
    color: #ffffff !important;
    background-color: var(--portalThemeColor9);
    border-color: var(--portalThemeColor9);
}
.btn-success
{
    border-radius: 6px;
}
.btn-danger{
    border-radius: 6px;
}
#content_form {
    margin-bottom: 5px;
}

.open>.dropdown-menu{
    background-color: var(--portalThemeColor4, #ffffff);
}
.open>.dropdown-menu>li>a{
    color: var(--portalThemeOnColor9, #2fc2e0);
}


.open .dropdown-menu > li > a:hover,.dropdown-menu > .active > a:hover{
    color: var(--portalThemeColor9);
    background-color: var(--portalThemeOnColor4);
    text-decoration: Underline;

}
.dropdown-menu>.active>a{
    color: var(--portalThemeColor4, #ffffff);
    background-color: var(--portalThemeOnColor9, #2fc2e0);
    text-decoration: Underline;

}
.open .dropdown-menu>.active>a:focus, .open .dropdown-menu>.active>a:hover{
    color: var(--portalThemeColor9);
    background-color: var(--portalThemeColor4);
    text-decoration: none;
}
.login-btn
{
    color: white;
}
.login-btn:hover, .login-btn:focus
{
    color: var(--portalThemeColor9);
}
body 
{
    font-family: "Montserrat", "Segoe UI Semibold", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.navbar-static-top.navbar-inverse {
    background-color: var(--portalThemeColor4);
    border-color: transparent;
}
.navbar-static-top.navbar .menu-bar > .navbar-nav > li > a {
    font-family: "Montserrat", "Segoe UI Semibold", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1em;
    font-weight: normal;
    color: white;
}
.navbar-static-top.navbar .menu-bar > .navbar-nav > li > a:hover {
    color: var(--portalThemeColor9);
}
.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
    color: var(--portalThemeColor9);
    background-color: transparent;
    border-bottom: none;
}
.dropdown-toggle:hover, .dropdown-toggle:focus 
{
    color: var(--portalThemeColor9);
    background-color: transparent;
}
.navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus  {
    color: var(--portalThemeColor9);
    background-color: transparent;
}
.navbar-inverse .navbar-nav > .open > a 
{
     background-color: var(--portalThemeColor4);
}
.navbar-inverse .navbar-nav .open .dropdown-menu {
    background-color: var(--portalThemeColor4);
}
.dropdown-menu,
.dropdown-menu > li > a {
    border-radius: 6px !important;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: white;
    margin-right: 3px;
}
.navbar-collapse.collapse.in{
    background-color: var(--portalThemeColor4);
}
.navbar-inverse .navbar-toggle, .navbar-inverse .navbar-toggle:hover {
    background-color: var(--portalThemeColor9);
    border-color: var(--portalThemeColor9);
    border-radius: var(--borderRadius);
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus
{
    color: var(--portalThemeColor9) !important;
    background-color: transparent;
    text-decoration: none;
    border: none;
    padding: 3px 20px;
}
@media (min-width: 1200px) {
    .navbar-nav>li>a:hover {
        padding-top: 14.5px !important;
        padding-bottom: 14.5px !important;
    }
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Montserrat", "Segoe UI Semibold", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.navbar-nav, .navbar-icon {
    color: white;
}
.navbar-brand {
    padding: 0px;

}
.homelink
{
    height: 50px;
}
.username{
     color: white;
}
.username:hover
{
    color: var(--portalThemeColor9);
}
.dyna-footer {
    padding: 20px 0;
    background-color: var(--portalThemeColor4) !important;
    color: #ffffff;
}

/* Proper vertical centering of columns */
.dyna-footer .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/* Left logo */
.footerLogo {
    height: 55px;
    width: auto;
    display: block;
    margin: 0 auto;
}

/* Remove forced centering inside the columns */
.left-footer,
.right-footer {
    display: flex;
    flex-direction: column;
}

/* Text block */
.footer-info {
    text-align: center;
    color: #E9E9E9;
    margin: 0;
    line-height: 1.5;
}

.footer-info a {
    color: #E9E9E9 !important;
    text-decoration: underline;
}

/* Mobile */
@media (max-width: 767px) {
    .footer-info {
        text-align: center;
        margin-top: 20px;
    }
    .footerLogo {
        margin-bottom: 15px;
    }
    .right-footer {
        width: 100%;
    }
    .left-footer {
        width: 100%;
    }
}
@media (min-width: 992px) {
    .right-footer {
        width: 65%;
    }
    .left-footer {
        width: 35%;
    }
}
/* Altezza piena */

/* html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body > :not(header):not(.navbar):not(.topbar):not(footer):not(.footer) {
    flex: 1 0 auto;
}

footer, .footer {
    flex-shrink: 0;
    margin-top: auto !important;
} */
/* =======================================================
   FIX FOOTER STICKY (Versione Sicura per Power Pages)
   ======================================================= */

/* 1. Assicuriamo che html e body siano alti almeno il 100% dello schermo */
html, body {
    height: 100%;
    margin: 0;
}

/* 2. Rendiamo il body un contenitore Flex verticale */
body {
    display: flex;
    flex-direction: column;
}

/* 3. IL TRUCCO: Invece di espandere "tutto tranne il footer",
     diciamo al footer di avere un margine superiore automatico.
     Questo spinge il footer in fondo se c'è spazio vuoto, 
     ma non rompe gli altri div in alto. */
footer, .footer {
    margin-top: auto !important;
}
/* Homepage ONLY */
body.home-page {
    background: linear-gradient(135deg, #2a4874 0%, #2f5aa6 10%, #495bbd 40%, #6c4fae 100%);
    /* background: linear-gradient(155deg,rgba(26, 54, 95, 0.86) 0%, rgba(100, 47, 224, 0.86) 40%, rgba(126, 97, 194, 0.94) 100%); */
    background-attachment: fixed;  /* smooth scrolling */
    background-size: cover;
    background-repeat: no-repeat;
}

/* Ensure content is transparent so gradient shows through */
body[data-sitemap-state="/"] .pageHeight,
body[data-sitemap-state="/"] .page-copy {
    background: transparent !important;
}

/* HERO WRAPPER */
/* ============================
   HERO SECTION
   ============================ */

.dyna-hero {
    width: 100%;
    height: 280px;
    background-size: cover;
    background-position: center;
    position: relative;
    margin: 0;
    padding: 0;
}

/* DARK BLUE OVERLAY (2-column layout) */
.dyna-hero-overlay {
    width: 100%;
    height: 100%;
    background: var(--portalThemeColor4);
    display: flex;
    justify-content: space-between;
    align-items: center;       /* <-- vertical centering restored */
    padding: 40px;
    border-radius: 30px;
    text-align: left;
}

/* Keep text left but prevent it from occupying the entire row */
.hero-left {
    flex: 1;
    max-width: 70%;            /* <-- prevents full-width stretch */
}

/* Right column with SVG */
.hero-right {
    width: 30%;                /* <-- defines the right side space */
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* TITLE */
.dyna-hero-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 38px;
    line-height: 1.3;
    margin: 0;
    color: #ffffff;
}

/* COLORS */
.dyna-hero-title .light {
    color: #e9e9e9;
    font-weight: 300;
}

.dyna-hero-title .welcome {
    color: #ffffff;
    font-weight: 300;
}

.dyna-hero-title .brand {
    color: #32bde8;
    font-weight: 600;
}

/* SVG aligned with title height */
.hero-svg {
    /* height: 1em;    
    width: auto;
    color: white; */
    margin-left: 20px;
    stroke-width: 2.5;
    fill: white;
    height: 125px;
}

/* Optional thicker stroke on large screens */
@media (min-width: 768px) {
    .hero-svg {
        /* height: 1.2em; */
        stroke-width: 3;
    }
}

/* MOBILE */
@media (max-width: 767px) {

    .dyna-hero {
        height: auto;
        padding-bottom: 20px;
    }

    .dyna-hero-overlay {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 20px;
    }

    .hero-left {
        width: 100%;
    }

    .dyna-hero-title {
        font-size: 28px;
        text-align: center;
    }

    .hero-right {
        /* margin-top: 20px;
        justify-content: center; */
        display: none;
    }

    /* .hero-svg {
    } */
}

/* Riga completa */
.help-row {
    width: 100%;
    display: flex;
    justify-content: center;
}

.help-title{
    color: white;
}
/* Colonna sinistra */
.help-left, .help-right {
    display: none;
}

/* Wrapper box */
/* Wrapper */
.home-card-wrapper {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 40px;
    max-width: 1000px;
    width: 100%;
}

/* Box cliccabili */
.home-card {
    background:var(--portalThemeColor4);
    border-radius: 22px;
    padding: 40px 30px;
    width: 240px;
    height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-decoration: none;
    color: white;
    transition: transform .25s ease, box-shadow .25s ease;
    cursor: pointer;
}

.home-card.light-card {
    background: var(--portalThemeColor4);
    color: white;
}
.home-card.light-card:hover {
    color: white;
}
.home-card.first-card:hover
{
    color: white !important;
}
.home-card.light-card:focus {
    color: white;
    text-decoration: none;
}
.home-card.first-card:focus
{
    color: white !important;
    text-decoration: none;
}

/* Hover effect */
.home-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 35px rgba(0,0,0,0.22);
}

/* Icon */
.home-card-icon {
    width: 70px;
    height: 70px;
    margin-bottom: 18px;
    fill: none;    /* ensures SVG stays white */
}

/* Text */
.home-card-text {
    margin-top: 10px;
    font-size: 20px;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
    .home-card-wrapper {
        justify-content: center;
        flex-wrap: wrap;
    }

    .home-card {
        width: 85%;
        height: auto;
    }
}

.page-heading 
{
    padding-top: 10px;
}
.case-header
{
    text-align: center;
}
.resolution 
{
   background: #fff;
   border-radius: var(--borderRadius);
    margin: 0px 23px;
    margin-bottom: 5px;

}
.resolution h3
{
    padding-top: 5px;
    margin-top: 15px;

}
.resolution-txt
{
    text-align: center;
    padding-bottom: 5px;
}
.label-success
{
    font-size: 15px;
}
body[data-page="SignIn"] .content-container {
    background: #fff;
}
.signinpage, .redeempage,.registerpage
{
    background-color: white;
    border-radius: var(--borderRadius);
}
