﻿@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700;900&display=swap');

:root {
    --dark-blue: #07064B;
    --light-blue: #2725A7;
    --light-blue-opacity: #6F6DFC;
    --black: #131313;
    --black-opacity: #AFAEAE;
    --black-opacity-2-0: #705e5e;
    --gray: #F5F5F5;
    --main-background: #F2F0F0;
    --red: #C02828;
    --green: #28C033;
    --border-radius: 5px;
}

/*#region GLOBAL COMPONENTS*/

html {
    font-size: 16px;
}

body {
    min-height: 100%;
    font-family: 'Roboto', sans-serif !important;
    background: var(--main-background);
    padding-top: 50px;
    position: relative;
    scroll-behavior: smooth;
    color: var(--black);
    padding: 0 10px;
}
/*Comportamento predefinito per tutti i tag anchor*/
a {
    text-decoration: none;
}

    a:hover {
        text-decoration: underline;
    }

    a, a:hover {
        color: var(--dark-blue);
    }

.custom-hover:hover {
    text-decoration: none;
}

input[type="checkbox"] {
    width: auto !important;
    height: auto !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
}

footer {
    right: 0;
    bottom: 0;
    left: 0;
    margin-top: 3rem;
}

    footer a {
        text-decoration: underline;
    }
#brand p{
    font-size: 17px;
}
#Riconoscimenti p {
    font-size: 17px;
}

.grecaptcha-badge {
    visibility: hidden;
}
#container {
    min-height: 550px;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1300px !important;
    }
}

p {
    line-height: 2.2;
    margin: 0;
    font-size: 1rem;
}

ul {
    line-height: 2.2;
    font-size: 1rem;
}

a {
    font-size: 1rem;
}

img {
    width: 100%;
}

.cover {
    object-fit: cover;
    object-position: center;
}

#goToTopButton {
    display: none;
    position: fixed;
    bottom: 85px;
    right: 15px;
    z-index: 99;
    outline: none;
    color: white;
    cursor: pointer;
    font-size: 20px;
    background-color: var(--dark-blue);
    height: 50px;
    width: 50px;
    padding: 0;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    border: 0;
}

hr {
    border-top: 1px solid var(--gray);
}

#close {
    position: absolute;
    top: 40%;
    right: 20px;
    color: var(--black-opacity);
    z-index: 2;
    text-decoration: none;
    cursor: pointer;
}


/*#endregion GLOBALCOMPONENTS*/

/*#region UTILS*/
.color-black, .color-black:hover {
    color: var(--black);
}

.bg-black {
    background: var(--black);
}

.color-light-blue {
    color: var(--light-blue);
}

.color-dark-blue {
    color: var(--dark-blue);
}

.bg-white {
    background: white;
}

.text-white, text-white:hover {
    color: white !important;
}


.bg-blue {
    background: var(--dark-blue);
}

.bg-light-blue {
    background: var(--light-blue);
}

.backgroundColor--white {
    background-color: #FFF;
}

.font-normal {
    font-weight: normal;
}

.font-bold {
    font-weight: bold;
}

.font-lighter {
    font-weight: lighter;
}

.w-100 {
    width: 100% !important;
}

.w-50 {
    width: 50% !important;
}

.h-100 {
    height: 100%;
}

.opacity-50 {
    opacity: .5;
}

.position-relative {
    position: relative !important;
}

.position-absolute.bottom-0 {
    position: absolute;
    bottom: 0px;
}

.d-flex {
    display: flex !important;
}

.align-items-center {
    display: flex;
    align-items: center !important;
}

.rotate-90deg {
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.rotate-Neg90deg {
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.border-radius {
    border-radius: var(--border-radius);
}

.border-bottom-radius {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

.border-top-radius {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-top-left-radius: var(--border-radius) !important;
    border-top-right-radius: var(--border-radius) !important;
}

.float-right {
    float: right;
}

.text-decoration {
    text-decoration: underline;
}

.row-large {
    margin-right: -30px !important;
    margin-left: -30px !important;
}

.no-border {
    border: none !important;
}

.header-banner h2 {
    margin-top: 0;
}

.header-banner .banner-img {
    height: 220px;
    width: auto;
}

.modal-dialog-centered {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    min-height: calc(100% - 1rem);
}

/*#endregion UTILS*/
/* #region BUTTONS */
button {
    font-weight: bold;
}

.main-button {
    padding: 15px 30px;
    border-radius: var(--border-radius);
    background: var(--light-blue);
    border: 1px solid var(--light-blue);
    color: white;
    font-weight: bold;
    text-decoration: none !important;
    border: none;
}

    .main-button:hover {
        padding: 15px 30px;
        border-radius: var(--border-radius);
        background: var(--dark-blue);
        border: 1px solid var(--dark-blue);
        color: white;
        font-weight: bold;
        text-decoration: none !important;
        border: none;
    }


.main-button-2 {
    padding: 15px 30px;
    border-radius: var(--border-radius);
    background: var(--light-blue);
    border: 1px solid var(--light-blue);
    color: white;
    font-weight: bold;
    text-decoration: none !important;
    border: none;
}

    .main-button-2:hover {
        padding: 15px 30px;
        border-radius: var(--border-radius);
        background: #6f6dfca3;
        border: 1px solid #6f6dfca3;
        color: white;
        font-weight: bold;
        text-decoration: none !important;
        border: none;
    }

    .main-button-2:disabled, .main-button:disabled:hover {
        opacity: .4;
        pointer-events: none;
    }

.sfondo-bianco {
    background-color: #fff;
    border-radius: 5px;
}

.main-button:disabled, .main-button:disabled:hover {
    opacity: .4;
    pointer-events: none;
}

.ranking-detail-menu .press-button, .ranking-detail-menu .press-button:hover {
    background: var(--main-background);
    border: 0;
    border-radius: 0;
    color: var(--dark-blue) !important;
}

    .ranking-detail-menu .press-button:first-child {
        border-top-left-radius: var(--border-radius) !important;
        border-bottom-left-radius: var(--border-radius) !important
    }

    .ranking-detail-menu .press-button:last-child {
        border-top-right-radius: var(--border-radius) !important;
        border-bottom-right-radius: var(--border-radius) !important
    }

    .ranking-detail-menu .press-button.active {
        border: 0;
        border-radius: var(--border-radius);
    }

.press-button, .press-button:hover {
    padding: 15px 25px;
    background: white;
    border: 1px solid white;
    color: var(--black-opacity) !important;
    text-decoration: none !important;
    font-weight: bold;
}

    .press-button.active {
        pointer-events: none;
        cursor: default;
        border-radius: var(--border-radius);
        background: var(--light-blue);
        border: 1px solid var(--light-blue);
        color: white !important;
        z-index: 1;
    }

.tag-button {
    background: rgba(250, 255, 255, 0.15);
    padding: 15px 30px;
    border-radius: var(--border-radius);
    color: white !important;
    font-weight: bold;
    text-decoration: none !important;
    border: none;
}

.alternative-button, .alternative-button-trend {
    background: var(--light-blue);
    border-radius: var(--border-radius);
    padding: 15px 30px;
    font-weight: bold;
    text-decoration: none !important;
    transition: .4s;
}

@media screen and (max-width: 992px){
    .alternative-button-trend{
        padding: 12px;
    }
}

    .alternative-button:hover {
        background: #6f6dfca3;
    }

    .alternative-button-trend:hover {
        background: var(--dark-blue);
    }

.alternative-black-button {
    background: var(--light-blue);
    border: 1px solid var(--light-blue);
    color: white !important;
    border-radius: var(--border-radius);
    padding: 15px 20px;
    display: block;
    text-align: center;
    font-weight: bold;
    font-weight: bold;
    text-decoration: none !important;
    transition: 0.4s;
}

    .alternative-black-button:hover {
        background: var(--dark-blue);
        border: 1px solid var(--black);
    }

.icon-select {
    position: absolute;
    top: 35%;
    left: 25%;
}

#closeSearch {
    cursor: pointer;
}

.small-icon-select {
    position: absolute;
    top: 40%;
    left: 25%;
}

.icon {
    height: 15px;
    width: 15px;
    border-radius: 0;
    display: flex;
}

.icon-no-d-flex {
    height: 15px;
    width: 15px;
    border-radius: 0;
}

.small-icon {
    height: 10px;
    width: 10px;
    border-radius: 0;
    display: flex;
}

.medium-icon {
    height: 12px;
    width: 12px;
    border-radius: 0;
    display: flex;
}

.large-icon {
    height: 24px;
    width: 24px;
    border-radius: 0;
    display: flex;
}

/* #endregion BUTTONS */
/*#region BOXCertifacete*/
.box-white {
    padding: 7rem;
    background: white;
    border-radius: var(--border-radius);
}

.box-blue {
    padding: 3rem !important;
    background: var(--dark-blue);
    border-radius: var(--border-radius);
}

.new-box-blue {
    padding: 1rem 3rem !important;
    background: var(--dark-blue);
    border-radius: var(--border-radius);
}

@media screen and (max-width: 1200px) {
    .new-box-blue {
        padding: 2.5rem 1rem !important;
    }
}



.footer-white {
    padding: 6rem !important;
}
/*#endregion BOXCertifacete*/

/* #region CONTENTPAGE */

.content-page {
    margin-top: 4px;
}


.content-second-title {
    text-align: left;
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 0;
    white-space: normal; /* permette il ritorno a capo */
    overflow-wrap: break-word;
}

/* #region TOPDISEMPRE*/

.box-white {
    padding: 6rem;
    background: white;
    border-radius: var(--border-radius);
}

.manager-name {
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0;
}

.top-di-sempre-detail p {
    line-height: 2.2;
}

.top-di-sempre-title a {
    color: white;
    font-weight: bold;
    text-decoration: none;
}

.citazioni-box {
    position: relative;
    background: var(--light-blue);
    padding: 3rem 3rem 3rem 13rem !important;
    margin: 2rem 0;
    color: white;
    font-size: 2rem;
}

    .citazioni-box::after {
        content: "";
        position: absolute;
        top: 0;
        left: 3rem;
        background: url(/img/citazione.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        height: 60px;
        width: 15%;
    }

    .citazioni-box i {
        font-style: normal;
        font-size: 1.4rem;
        font-weight: bold;
    }
/* #endregion TOPDISEMPRE*/

/*#region CONTATTI*/
#contact_form label, #download_form label, #newsletter_form label, #login_form label {
    color: var(--black);
    font-weight: normal;
}

#contact_form input, #contact_form textarea, #download_form textarea {
    width: 100%;
    background: var(--gray);
    border: 2px solid var(--gray);
    border-radius: var(--border-radius);
    padding: 15px;
    outline: 0;
}

#download_form input {
    background: var(--gray);
    border: 2px solid var(--gray);
    border-radius: var(--border-radius);
    padding: 15px;
    outline: 0;
}

.form-check {
    font-size: 12px;
    margin-bottom: 15px
}

    .form-check .privacyLink {
        font-size: 12px !important;
        text-decoration: underline !important;
    }

.form-control-feedback {
    display: none !important;
}

.help-block {
    color: var(--red) !important;
    display: block;
    font-size: 0.8rem;
}

.panel-default {
    border: 0;
}

    .panel-default > .panel-heading {
        color: var(--black);
        background-color: var(--main-background);
        border: 0;
        padding: 2rem 0;
        border: none;
    }

.panel-collapse {
    background-color: var(--main-background);
}

.panel-body {
    border-top: 0 !important;
    line-height: 2.2;
    padding: 0 0 1rem 0;
}

.panel-title a, .panel-title:hover a {
    color: var(--black);
    font-weight: bold;
    font-size: 1rem;
    text-decoration: none;
}

.wrapper-trends {
    position: relative; 
}

@media screen and (max-width: 768px) {
    .wrapper-trends img {
        width: 100%;
        display: block;
        height: 150px;
    }
}

.wrapper-trends img {
    width: 100%;
    display: block;
}

.wrapper-trends a.alternative-button-trend {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}


.collapsed .rotate {
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transition: 0.4s;
}

.panel-title a:not(.collapsed) .rotate {
    -ms-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    transition: 0.4s;
}

#user_name:focus,
#text_message:focus,
#email:focus,
#company_name:focus {
    border: 2px solid var(--dark-blue);
}

.form-width {
    width: 70% !important;
}

/*#endregion CONTATTI*/
/* #endregion CONTENTPAGE*/
/* #region ERROR404*/

.content-err {
    background: var(--dark-blue);
    padding: 6rem 7rem;
    color: white;
    border-radius: var(--border-radius);
}

.error-text {
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* #endregion ERROR404*/

/* #region MANAGER*/
.manager-title {
    background: var(--dark-blue);
    text-align: center;
    padding: 2rem 2px;
    position: absolute;
    bottom: -77px;
    left: 0;
    right: 0;
    font-size: 1rem;
    font-weight: bold;
    color: white;
}


.card-custom {
    background-color: var(--dark-blue);
    color: white;
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

.img-card-manager {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.manager-title a {
    color: white;
    font-weight: bold;
    text-decoration: none !important;
}

.padding-bottom-card {
    padding-bottom: 4rem;
}

.imgDetailManager {
    height: 426px !important;
}

.relatedItems .manager-card-image img {
    height: 110px
}

.manager-title-small {
    padding: 1rem 2px !important;
    bottom: -55px !important;
}

    .manager-title-small a {
        font-size: 14px;
    }

.manager-card-image img {
    object-fit: cover;
    object-position: top;
    height: 100%;
}

/* #endregion TOPMANAGER*/

/* #region SEARCH*/
.categoryContent {
    background: url('/SharingFolder/TopManager/it/Content/image/headerAllPage.jpg') center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 220px;
    padding: 4rem 7rem;
    color: white;
    border-radius: var(--border-radius);
}

input#inputSearch {
    height: 100%;
    box-shadow: none;
    border: 0;
    font-size: 1rem;
    padding: 15px;
}

.button-search {
    width: 70px;
    height: 50px;
    border: none !important;
    background: var(--light-blue) !important;
}

.btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: none;
    border-color: none !important;
}

.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
    outline: none !important;
    outline-offset: none !important;
}

.btn-primary:hover {
    color: #fff;
    background-color: none;
    border-color: none;
}


/* #endregion SEARCH*/

/*#region Press*/
#NewsContent img {
    width: 100% !important;
    max-width: 600px !important;
    height: auto !important;
}

.news-banner {
    max-height: 30px;
    width: 105px;
    filter: grayscale(1);
}

/*#endregion*/
/* #region DOWNLOAD*/
.modal-header .close {
    margin-top: -70px;
    font-size: 1.6rem;
}

#contact_form_download input {
    width: 100%;
    background: var(--gray);
    border: 0;
    padding: 15px;
    outline: 0;
}

.close {
    font-weight: normal !important;
    opacity: 0.9 !important;
}

.modal-content {
    border-radius: var(--border-radius);
    padding: 25px;
    box-shadow: none !important;
    border: none !important;
}

@media (min-width: 768px) {
    .modal-dialog {
        width: 750px !important;
        margin: 0 auto;
    }
}
/* #endregion DOWNLOAD*/


/* #region NEWSLETTER*/
#newsletter_form input, #login_form input {
    width: 100%;
    background: var(--gray);
    border: 2px solid var(--gray);
    border-radius: var(--border-radius);
    padding: 15px;
    outline: 0;
}

#user_name_newsletter:focus, #user_surname_newsletter:focus, #email_newsletter:focus, #company_name_newsletter:focus {
    border: 2px solid var(--dark-blue);
}
/* #endregion NEWSLETTER*/

/* #region PAGINATION*/
.page_navigation.navigation-top-manager a, .alt_page_navigation.navigation-top-manager a {
    padding: 10px 15px;
    border: 0;
    font-size: 1rem;
    font-family: unset;
}

.navigation-top-manager .active_page, .navigation-top-manager .active_page:hover {
    background: var(--dark-blue) !important;
}

.page_navigation a:hover, .alt_page_navigation a:hover {
    background-color: rgba(7, 6, 75, .4) !important;
}

.page_navigation .previous_link, .page_navigation .previous_link:hover,
.page_navigation .next_link, .page_navigation .next_link:hover {
    background: transparent !important;
    color: var(--dark-blue);
}

.paginationDisabledButton {
    background-color: #e2e2e2 !important;
    cursor: not-allowed !important;
    color: grey !important;
    border: 1px solid grey !important;
}

/*#endregion PAGINATION*/

/*#region CLUSTER and RANKING DETAIL*/
.tooltip {
    right: 10px;
    top: -30px;
    position: relative;
    display: inline-block;
    opacity: initial;
    font-size: inherit;
    z-index: 1;
}


    .tooltip .tooltiptext {
        margin-left: 10px;
        width: 330px;
        font-size: 16px;
        visibility: hidden;
        position: absolute;
        z-index: 2;
        padding: 15px 30px;
        border-radius: 5px;
        background: var(--light-blue);
        color: white;
        font-weight: bold;
        text-decoration: none !important;
        transition: 0.4s;
    }

    .tooltip .tooltiptext_right {
        right: 37px;
    }

    .tooltip .tooltiptext_left {
        left: 37px;
    }

    .tooltip:hover .tooltiptext {
        visibility: visible;
    }

.button-cluster:hover {
    color: white;
    text-decoration: none;
}

.button-cluster:focus {
    color: white;
    text-decoration: none;
    outline: none;
}

h4.cluster-variation-name {
    font-weight: bold;
}

.clusterBox:hover .cluster-variation-name img {
    filter: invert(1)
}

.manager-detail-photo img {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.manager-detail-photo-company {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    height: 75px;
    padding-top: 15px;
    text-align: center;
    object-position: top;
}

    .manager-detail-photo-company img {
        width: 50%;
        max-width: 150px;
        height: 100%;
    }

.manager-detail-position-big {
    font-size: 2.5rem;
    font-weight: bold;
    border-right: 1px solid var(--black-opacity);
    color: var(--dark-blue);
}

.manager-detail-position {
    font-size: 2rem;
    font-weight: bold;
    border-right: 1px solid var(--black-opacity);
    color: var(--dark-blue);
}


.manager-detail-label {
    font-size: 1rem;
    font-weight: normal;
}

.button-cluster {
    font-size: 1rem;
    color: white;
    background: var(--light-blue);
    text-align: center;
    display: inline-block;
    padding: 5px 15px;
    border-radius: var(--border-radius);
}

.no-border {
    border: 0 !important;
}

#manager-gallery img {
    object-fit: cover;
    object-position: top;
}

.scoreTrendDescription {
    color: var(--black-opacity);
    font-size: 0.8rem;
}

.social-icon-cluster .fa {
    padding: 0px 15px;
    font-size: 20px !important;
}

.m-l-20 {
    margin-left: 20px;
}

.data_score2 {
    font-size: 20px;
}

.clusterBox {
    border: 1px solid;
    padding: 15px;
    border-radius: var(--border-radius);
}

    .clusterBox:hover {
        background-color: var(--light-blue);
        border: 1px solid var(--light-blue);
    }

        .clusterBox:hover .cluster-variation-name {
            color: white;
        }

        .clusterBox:hover .cluster-variation-avg-box {
            background: rgba(250, 255, 255, 0.15);
        }

        .clusterBox:hover .cluster-variation-avg {
            color: white;
        }

.cluster-variation-avg-box {
    text-align: center;
    align-items: center;
    padding: 10px;
    border-radius: var(--border-radius);
    background-color: var(--main-background);
}

.p-10 {
    padding: 10px;
}


.overlay-card-cluster {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    right: 15px;
    border-radius: var(--border-radius);
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(40, 38, 166, .75);
}


/*#endregion CLUSTER*/

/*#region CLASSIFICA2020/2021*/

.ranking-card p {
    line-height: 1.2;
}

.ranking-card > .wrap-header {
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
}

.manager-card-small .wrap-header {
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    font-size: 16px;
}

    .manager-card-small .wrap-header p {
        line-height: 1.0;
    }

.ranking-card {
    display: grid;
    grid-template-rows: auto 1fr auto; /* header - contenuto - footer */
    background: #fff;
    border-radius: var(--border-radius, 0.5rem);
    overflow: hidden;
    height: 100%; /* uniforma le card */
    position: relative; /* per stretched-link */
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    justify-content: space-between;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-radius: var(--border-radius);
}

.manager-card-small {
    border-radius: var(--border-radius);
    height: 250px;
}

.card-img-small {
    max-height: 150px;
}

.manager-photo img {
    border-radius: var(--border-radius);
}

.manager-card-small p {
    font-size: 14px;
}

.logo-company-small {
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
}

    .logo-company-small img {
        width: 70px;
        padding: 10px 0;
    }

.ranking-card p, .ranking-card div {
    font-size: 20px;
}

.cardImg {
    max-height: 220px;
    overflow: hidden;
}

    .cardImg img {
        min-height: 220px;
        object-fit: cover;
    }

.wrapper-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
    padding: 1rem;
}

.wrapper-executive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
    gap: 0.75rem;
    padding: 0.5rem;
}

.cardFooter {
    width: 100%;
    height: 50px;
    display: flex;
    background: var(--dark-blue);
    align-items: center;
    justify-content: center;
    color: white;
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}
/* --- Logo azienda--- */

.logo-company {
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
}

    .logo-company img {
        width: 100px;
        padding: 10px 0;
    }


.card-company-footer {
    display: grid;
    grid-template-columns: 1fr 5fr; /* 1:5 */
    width: 100%;
    line-height: 1.2;
}
/* Colori/bordi dei due blocchi, senza position absolute */
.bg-first-position-card {
    background-color: var(--light-blue, #5bc0de);
    border-bottom-left-radius: var(--radius);
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
}

.bg-position-card {
    background-color: var(--dark-blue, #0d6efd);
    border-bottom-right-radius: var(--radius);
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
}

.stretched-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}

.ranking-card .no-link-area, .ranking-card .no-link-area a {
    position: relative;
    z-index: 2;
}

.wiki-img {
    overflow: hidden;
    max-height: 215px;
    width: 100%;
}


    .wiki-img img {
        width: 100%;
        max-height: 200px;
        object-fit: cover !important;
        object-position: center;
    }

@media (max-width: 768px) {
    .body-card {
        padding: 16px;
    }

        .body-card strong {
            font-size: 1.05rem !important;
        }

        .body-card img {
            width: 92% !important;
            max-width: 440px;
        }

    .card-company-footer .position {
        font-size: .95rem !important;
    }
}
/*#endregion CLASSIFICA2020/2021*/

/* #region FOOTER*/

.footer-social {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.social-icon .fa,
.social-icon .fa-brands {
    padding: 0px 15px;
    font-size: 30px !important;
    transition: 0.4s;
}

    .social-icon .fa:hover,
    .social-icon .fa-brands:hover {
        color: var(--light-blue);
    }

.footer-button {
    padding: 15px 4rem;
    background: none;
    border: 1px solid white;
    border-radius: var(--border-radius);
}
/*#endregion FOOTER*/

/* #region RESPONSIVE 768 */
@media screen and (max-width: 768px) {
    html {
        font-size: 14px;
    }

    body {
        padding: 0 1rem;
    }

    .box-white {
        padding: 2rem 1rem !important;
    }

    .box-blue {
        padding: 1rem !important;
    }

    .header-banner {
        padding: 2rem !important;
    }

    .content-title {
        font-size: 1.8rem;
    }

    .content-second-title {
        font-size: 1.2rem;
    }

    .font-m {
        font-size: 1.6rem !important;
    }

    .footer-white {
        padding: 1rem !important;
    }
    /*    .content-page{
        margin-top: 6.5rem;
    }*/
    .citazioni-box {
        padding: 1rem !important;
        margin: 2rem 0 !important;
    }
}

/*#endregion RESPONSIVE 768*/
@media (min-width: 768px) and (max-width: 992px) {
    .external-image {
        max-height: 67px;
        object-fit: cover;
    }
    /*    .content-page{
        margin-top: 6.5rem;
    }*/
}

@media (min-width: 992px) and (max-width: 1200px) {
    .external-image {
        max-height: 98px;
        object-fit: cover;
    }
    /*    .content-page {
        margin-top: 8.5rem;
    }*/
}




@media (max-width: 1200px) {
    .main-button, .alternative-button,
    .main-button:hover, .alternative-button:hover {
        padding: 15px 20px;
    }
}
/* #region RESPONSIVE 992 */
/* #region RESPONSIVE 1200 */
@media (max-width: 1200px) {
    .manager-detail-photo img {
        object-position: top
    }

    .manager-detail-position {
        border-right: 0;
    }

    .citazioni-box {
        padding: 2rem !important;
    }

        .citazioni-box::after {
            display: none;
        }

    .header-banner .banner-img {
        height: auto;
        width: 100%;
    }
}


@media (min-width: 1200px) {

    .row:has(.col-20) {
        margin-left: -26px;
        margin-right: -23px;
    }

    .col-20 {
        -ms-flex: 0 0 19.5% !important;
        flex: 0 0 19.5% !important;
        max-width: 19.5% !important;
        margin-left: 0.5% !important;
        margin-bottom: 0.5% !important;
    }

    .col-27 {
        -ms-flex: 0 0 13.78% !important;
        flex: 0 0 13.78% !important;
        max-width: 13.78% !important;
        margin-left: 0.5% !important;
        margin-bottom: 0.5% !important;
    }

    .external-image {
        max-height: 63px;
        object-fit: cover;
    }

        .external-image.top10 {
            max-height: 60px;
            object-fit: cover;
        }
}
/*#endregion RESPONSIVE 1200*/

@media(min-width: 992px) {
    .manager-card-component:nth-child(-n+4) {
        padding-top: 0 !important;
    }

    .manager-card-small:nth-child(-n+6) {
        padding-top: 0 !important;
    }
}


/* #region Box Cookie policy */
#privacypolicy---preferences-center, .privacypolicy---pc-dialog .cc-cp-body-tabs-item-link {
    font-family: 'Roboto', sans-serif;
}

.privacypolicy---palette-light.privacypolicy---nb {
    background-color: var(--dark-blue) !important;
}

.privacypolicy---palette-light .cc-nb-okagree {
    color: var(--main-background) !important;
    background-color: var(--light-blue) !important;
    border: 1px solid var(--light-blue) !important;
    border-radius: var(--border-radius);
    display: block;
    width: 55% !important;
    margin-left: 45% !important;
}

.privacypolicy---palette-light .cc-nb-changep {
    color: var(--black) !important;
    background-color: var(--main-background) !important;
    border: 1px solid var(--black) !important;
    border-radius: var(--border-radius);
    display: block;
    width: 55% !important;
    margin-left: 45% !important;
}

.privacypolicy---palette-light .cc-nb-reject {
    color: var(--dark-blue) !important;
    background-color: var(--main-background) !important;
    border: 1px solid var(--black) !important;
    border-radius: var(--border-radius);
    display: block;
    width: 55% !important;
    margin-left: 45% !important;
}

@media (max-width: 768px) {
    .privacypolicy---palette-light .cc-nb-okagree,
    .privacypolicy---palette-light .cc-nb-changep,
    .privacypolicy---palette-light .cc-nb-reject {
        width: 100% !important;
        margin-left: 0 !important;
    }
    /*ceckbox mobile*/
    input[type=checkbox] {
        -webkit-transform: scale(1,1) !important;
        padding: 0 !important;
        margin-left: 0px !important;
    }
}

.privacypolicy---palette-light .cc-nb-text {
    color: #fff !important;
}

.cc-nb-text a {
    color: #fff !important;
}

.privacypolicy---palette-light .cc-pc-head-lang select:focus {
    box-shadow: none !important;
}

.privacypolicy---palette-light .cc-cp-foot-save {
    margin-right: 10px !important;
    background: var(--light-blue) !important;
    padding: 10px 20px !important;
    border-radius: var(--border-radius);
    color: white;
}

div#privacypolicy---nb:not(.privacypolicy---is-hidden) {
    padding: 50px 16% 50px 15%;
    display: flex;
    justify-content: center
}

.privacypolicy---palette-light .cc-cp-body-tabs-item-link:focus {
    box-shadow: none !important;
}

.cc-pc-head-title-text {
    display: none !important;
}
/*end cookie*/

/** modifiche res pagina cluster*/
@media screen and (max-width: 992px) {
    .manager-detail-position {
        border: none;
    }

    .cluster-variation-avg-box {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

    span.manager-score-variation.d-none.d-md-inline-block {
        right: 0px;
        top: 4px;
        border-top-left-radius: var(--border-radius);
        border-bottom-left-radius: var(--border-radius);
    }

    .manager-score {
        border-top-right-radius: var(--border-radius);
        border-bottom-right-radius: var(--border-radius);
    }
    /*metodologia*/
    .last-img-metodologia {
        height: 100% !important;
    }

    .border-radius-mobile {
        border-radius: var(--border-radius);
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    /*topdisempre*/
    .top-di-sempre-title {
        padding: 1rem !important;
        bottom: -47px !important;
        font-size: 0.8rem !important;
    }

    #top-di-sempre img {
        height: 120px !important;
    }

    /*managercard*/
    .manager-title {
        padding: 1rem !important;
        bottom: -47px !important;
        font-size: 0.8rem !important;
    }
}

@media (min-width: 400px) and (max-width: 767px) {
    /*topdisempre*/
    #top-di-sempre img {
        height: 385px !important;
    }
    /*managercard*/
    .manager-card-image img {
        height: 385px !important;
    }
}

@media screen and (max-width: 767px) {
    /*search*/
    input#inputSearch {
        height: 40px;
        font-size: 14px;
        padding-left: 20px;
    }

    .button-search {
        width: 45px;
        height: 40px;
    }

    .categoryContent {
        padding: 6rem 2rem;
    }
}

@media screen and (max-width: 1200px) {

    .img-cluster {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .content-title {
        padding-top: 1.5rem;
    }

    /*metodologia*/
    .margin-top-res {
        margin-top: 2rem;
    }

    .position-absolute.bottom-0 {
        position: relative;
        bottom: 0px;
    }

    .imgDetailManager {
        height: 100% !important;
    }
}


@media screen and (max-width: 500px) {
    /*managerdetail X*/
    .tooltip .tooltiptext {
        margin-left: 7px;
        width: 235px;
        font-size: 12px;
        padding: 10px 16px;
    }

    .has-feedback {
        margin-left: 0px !important;
    }

    .icon-cluster {
        display: none;
    }
    /*form contatti*/
    .form-width {
        width: 100% !important;
    }
    /*box header allpage*/
    .imgHeaderAllPage {
        height: unset !important;
    }
}

.animationUp, .animationUp_card {
    transition: 0.5s;
    display: block;
}


    .animationUp:hover {
        transform: translateY(-3px);
        transition: 0.5s;
        box-shadow: 5px 5px 15px rgba(175, 174, 174, .4);
        display: block;
    }

    .animationUp_card:hover {
        transform: translateY(-3px);
        transition: 0.5s;
    }

        .animationUp_card:hover .ranking-card {
            box-shadow: 5px 5px 15px rgba(175, 174, 174, .4);
        }

.animationUp_row .col-20:hover {
    transform: translateY(-3px);
    transition: 0.5s;
}

    .animationUp_row .col-20:hover .ranking-card {
        box-shadow: 5px 5px 15px rgba(175, 174, 174, .4);
    }

@media screen and (max-width: 407px) {
    .press-button, .press-button:hover {
        padding: 10px;
    }
}
/*fix menu mobile*/
@media (max-width: 375px) {
    #MenuTop .nav > li > a {
        padding: 15px 190px 15px 30px !important;
    }
}

.arrow-news {
    position: absolute;
    top: 47px;
}

    .arrow-news i {
        color: white;
        font-size: 30px;
    }

    .arrow-news.left {
        left: -25px;
        right: 100%;
    }

    .arrow-news.right {
        right: -25px;
    }

.manager-cluster-trend-container,
.position-trend-container,
.manager-trend-container,
.company-stocks-trend-container {
    position: relative;
    overflow: hidden; /* evita che il ::before esca */
}

    .manager-cluster-trend-container::before,
    .position-trend-container::before,
    .manager-trend-container::before,
    .company-stocks-trend-container::before {
        content: "";
        position: absolute;
        top: 70px;
        inset: 0; /* occupa tutto il contenitore */
        opacity: 0.1;
        background: url(/img/logoTM.svg) no-repeat;
        background-size: 40%; /* logo piccolo e centrato */
        pointer-events: none;
        background-position-x: center; /* non blocca clic su contenuto */
    }

/* 🔹 Mobile: riduco altezza e logo */
@media (max-width: 768px) {
    .manager-cluster-trend-container::before,
    .position-trend-container::before,
    .manager-trend-container::before,
    .company-stocks-trend-container::before {
        height: 150px; /* meno spazio verticale */
        background-size: 60%; /* logo più piccolo */
        background-position: center;
    }
}


.news-ranking-detail .content-second-title {
    font-size: 1.3rem;
}

.news-ranking-detail p {
    font-size: 14px;
}


/* Assicurati che il contenitore del carosello abbia posizione relativa */
.slick-slider {
    position: relative;
}

/* Stile delle frecce generiche */
.buttonprev,
.buttonnext {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1rem;
    color: var(--dark-blue); /* colore chiaro, cambia se necessario */
    background-color: transparent;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    cursor: pointer;
}

/* Posizione delle frecce ai lati */
.buttonprev {
    left: -10px; /* o 0 se vuoi dentro il carosello */
}

.buttonnext {
    right: -10px; /* o 0 se vuoi dentro il carosello */
}

/*img del manager in detail manager*/
@media only screen and (max-width: 1200px) and (min-width: 425px) {

    .manager-detail-photo img {
        max-height: none !important;
    }
}

/* #region CONTACT FORM */
#contact_success_message {
    display: none;
}

#contact_error_message {
    display: none;
}

.form-control-feedback.glyphicon-remove {
    display: none !important;
}
/* #endregion */
.cluster-variation-slick .slick-slide {
    border-right: 4px solid white;
}

.prev-cluster-variation-slick {
    font-size: 30px;
    position: absolute;
    top: 8px;
    left: -20px;
    cursor: pointer;
}

.next-cluster-variation-slick {
    font-size: 30px;
    position: absolute;
    top: 8px;
    right: -20px;
    cursor: pointer;
}

.slick-disabled {
    opacity: 0.2
}

@media screen and (max-width: 1200px) {
    .press-button, .press-button:hover {
        padding: 15px 20px;
    }
}

.player-yt {
    position: absolute;
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    bottom: 0;
    left: 15px;
    right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .scroll-container-mobile {
        overflow-x: auto;
        flex-wrap: nowrap !important;
    }
}

.custom-badge-mobile {
    width: 124px;
}


.media-square-200 {
    width: 250px;
    height: 200px;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
}

    /* L’immagine riempie il quadrato */
    .media-square-200 > img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }



@media screen and (max-width: 767.98px) {
    .custom-badge-mobile {
        width: 120px;
    }

    .media-square-200 {
        margin: 0 auto
    }
}

/* Tablet (solo md: 768px–991.98px) */
@media screen and (min-width: 768px) and (max-width: 1199.98px) {
    .custom-badge-mobile {
        width: 130px;
    }
}

@media screen and (max-width: 1199.98px) {
    .timbroHome {
        width: 225px !important;
    }
}

@media (max-width: 767px) {
    .form-check {
        padding: 0px !important;
    }
}

/*#region CHI-SIAMO*/
.outer {
    border-left: 2px solid var(--black-opacity);
    position: relative;
    left: -128px;
    left: 50px;
    width: calc(100% - 50px);
}

.no-border {
    border: none !important;
}

.time-line-content {
    margin-left: 68px;
    width: calc(100% - 68px);
    height: 120px;
    margin-bottom: 1rem;
}

.card-time-line {
    position: relative;
    margin: 0 0 20px 20px;
    padding: 10px;
    margin: 0;
    padding: 10px 0;
}

.info-time-line {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-left: 0;
}

.title-time-line {
    display: inline-flex;
    position: relative;
    margin-left: 0;
    align-items: center;
}



.info-time-line {
    margin-left: 150px;
    margin-left: 0;
}

.title-time-line::before {
    position: absolute;
    left: -180px;
    bottom: -8px;
    background: var(--dark-blue);
    padding: 10px 30px !important;
    border-radius: var(--border-radius);
    color: white;
}

.button-year {
    background: var(--dark-blue);
    padding: 10px 30px !important;
    border-radius: var(--border-radius);
    color: white;
    margin-right: 5%;
}

@media screen and (max-width: 1200px) {

    .time-line-content {
        height: 100% !important;
    }
}

@media screen and (min-width: 768px) {
    .outer {
        left: 55px !important;
        width: calc(100% - 12% + 15px) !important;
    }

    .time-line-content {
        width: calc(100% - 68px);
        margin-left: 88px;
    }
}

@media screen and (min-width: 968px) {

    .time-line-content {
        width: calc(100% - 68px);
        margin-left: 100px;
    }
}

@media screen and (min-width: 1200px) {

    .time-line-content {
        width: calc(100% - 68px);
        margin-left: 114px;
    }
}

/*#endregion CHI-SIAMO*/

/*#Region Metodologia*/

.wrapper-met-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}

.wrapper-met-center {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 2fr; /* prima 1/3, seconda 2/3 */
    gap: 50px;
}

.wrapper-met-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-top: 48px;
}

    .wrapper-met-bottom img {
        object-fit: contain;
    }

.wrapper-box {
    margin-top: 20px;
    margin-bottom: 48px;
}


/* ——— MOBILE: Titolo → Immagine → Testo ——— */
@media screen and (max-width: 1200px) {

    .wrapper-met-center h1 {
        width: 100%;
        text-align: left;
    }
    /* Wrapper in colonna (override del grid desktop) */
    .wrapper-met-top,
    .wrapper-met-center,
    .wrapper-met-bottom {
        display: flex !important;
        flex-direction: column;
        gap: 24px;
    }

        /* Larghezza piena per i figli diretti (utile con display:contents) */
        .wrapper-met-top > *,
        .wrapper-met-center > *,
        .wrapper-met-bottom > * {
            width: 100%;
            margin-top: 0;
        }

        /* Immagini responsive */
        .wrapper-met-top img,
        .wrapper-met-center img,
        .wrapper-met-bottom img {
            width: 100%;
            height: auto;
            display: block;
        }

        .wrapper-met-top .item:nth-child(2) {
            display: contents;
        }

            .wrapper-met-top .item:nth-child(2) > h1 {
                order: 1;
            }
            /* Titolo */
            .wrapper-met-top .item:nth-child(2) > p {
                order: 2;
            }
        /* P1 */
        .wrapper-met-top .item:nth-child(1) {
            order: 3;
        }
        /* IMG1 */
        .wrapper-met-top .item:nth-child(3) {
            order: 4;
        }
        /* P2 */
        .wrapper-met-top .item:nth-child(4) {
            order: 5;
        }
        /* IMG2 */
        .wrapper-met-top .item:nth-child(5) {
            order: 6;
        }
        /* P3 */
        .wrapper-met-top .item:nth-child(6) {
            order: 7;
        }
        /* IMG3 */

        .wrapper-met-center .item:nth-child(2),
        .wrapper-met-center .item:nth-child(4),
        .wrapper-met-center .item:nth-child(6) {
            display: contents;
        }

            /* Blocco 1 */
            .wrapper-met-center .item:nth-child(2) > h1 {
                order: 1;
            }

        .wrapper-met-center .item:nth-child(1) {
            order: 2;
        }

        .wrapper-met-center .item:nth-child(2) > p {
            order: 3;
        }

        /* Blocco 2 */
        .wrapper-met-center .item:nth-child(4) > h1 {
            order: 4;
        }

        .wrapper-met-center .item:nth-child(3) {
            order: 5;
        }

        .wrapper-met-center .item:nth-child(4) > p {
            order: 6;
        }

        /* Blocco 3 */
        .wrapper-met-center .item:nth-child(6) > h1 {
            order: 7;
        }

        .wrapper-met-center .item:nth-child(5) {
            order: 8;
        }

        .wrapper-met-center .item:nth-child(6) > p {
            order: 9;
        }

        .wrapper-met-bottom .item:nth-child(1) {
            display: contents;
        }

            .wrapper-met-bottom .item:nth-child(1) > h1 {
                order: 1;
            }

        .wrapper-met-bottom .item:nth-child(2) {
            order: 2;
        }

        .wrapper-met-bottom .item:nth-child(1) > p {
            order: 3;
        }
}
/*#End Region Metodologia*/

.wrapper-card-small {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* responsive */
    gap: 1rem; /* spazio tra card */
    padding: 1rem;
}

/* Griglia responsive */
.wrapper-executive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

/* Card */
.executive-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: var(--border-radius, 0.5rem);
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    overflow: hidden;
    height: 100%;
}

/* Corpo con il logo */
.executive-card-body {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    height: 100px; /* tutte uguali */
}

    .executive-card-body img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

/* Footer */
.executive-card-footer {
    display: flex;
    width: 100%;
}

    .executive-card-footer .position {
        font-size: 0.85rem;
        text-align: center;
    }

    .executive-card-footer .bg-light-blue {
        background-color: var(--light-blue, #5bc0de);
        border-bottom-left-radius: var(--border-radius, 0.5rem);
    }

    .executive-card-footer .bg-blue {
        background-color: var(--dark-blue, #0d6efd);
        border-bottom-right-radius: var(--border-radius, 0.5rem);
    }

/* Titolo sezione */
.sidebar-title {
    font-size: 1rem;
    font-weight: 600;
}

/* Responsive adattamento testi */
@media (max-width: 768px) {
    .executive-card-footer .position {
        font-size: 0.75rem;
        padding: 0.35rem;
    }

    .cardImg {
        max-height: 300px;
        overflow: hidden;
    }

    .executive-card-body {
        height: 80px;
    }

    .cardImg img {
        max-height: 300px;
    }
}
