@font-face {
    font-family: 'FSGC';
    src: url('/assets/vendors/fonts/qaranta/qaranta-bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
    ascent-override: 90%;
    descent-override: 10%;
    line-gap-override: 0%;
}

:root {
    --main-primary: #5EB3E4;
    --main-primary-rgb: 94, 179, 228;
    --main-secondary: #DAA900;
    --main-secondary-rgb: 218, 171, 0;
    --main-tertiary: #9A9B9E;
    --main-dark: #141C32;

    --female: #861F57;
    --female-rgb: 134, 31, 87;

    --info: #ddeeed;
    --success: #c9f8d7;
    --warning: #ffe4ad;
    --danger: #ffc6c2;
    --primary: #3B68ED;
    --primary-light: #EAEDF7;
    --secondary: #2B4CAD;
    --tertiary: #C4D2FA;
    --badge: #E15560;
    --gray: #ABABAB;
    --gray-light: #DBDBDB;

    --info-border: #2b4cad;
    --success-border: #003809;
    --warning-border: #5d3600;
    --danger-border: #7c3130;
    --primary-border: #06509e;
    --secondary-border: #b370a6;

    --bs-dropdown-link-hover-bg: #EAEDF7;
    --bs-border-radius: 5px;
    --bs-border-color-translucent: rgba(0,0,0,.08);

    --main-primary-border: #2B4CAD;
    --main-secondary-border: #3B68ED;
}

body { font-family: 'Roboto', serif; color: var(--main-dark); }
a { color: var(--main-primary); text-decoration: underline; }
.dt-search > input { font-family: 'Roboto', serif; }

.bg-dark { background-color: var(--main-dark) !important; }
.text-dark { color: var(--main-dark) !important; }
.bg-primary { background-color: var(--main-primary) !important; }
.bg-primary-light { background-color: var(--primary-light) !important; }
.text-primary { color: var(--main-primary) !important; }
.bg-secondary { background-color: var(--main-secondary) !important; }
.text-secondary { color: var(--main-secondary) !important; }
.bg-tertiary { background-color: var(--main-tertiary) !important; }
.text-tertiary { color: var(--main-tertiary) !important; }
.bg-gray-light { background-color: var(--gray-light) !important; }
.bg-female { background-color: var(--female) !important; }

.text-icon-success { color: #198754; }
.text-icon-danger { color: #dc3545; }
.text-icon-primary { color: var(--main-primary); }
.text-icon-secondary { color: var(--main-secondary); }

.news-carousel { display: flex; }
.news-item { padding: 10px; border: 1px solid #ddd; background: #fff; text-align: left; }
.news-item img { width: 100%; height: auto; }
.news-date { font-size: 12px; color: gray; }
.news-title { font-weight: bold; font-size: 18px; margin-top: 5px; }
.news-description { font-size: 14px; color: #555; }
.read-more { display: block; margin-top: 10px; color: blue; text-decoration: none; }

.over-menu-social { display: block; overflow: auto; padding: 0px; margin: 0px; list-style: none; }
.over-menu-social > li { display: inline; margin-right: 10px; font-size: 16px; }
.over-menu-social > li > a { color: white; text-decoration: none; }
.over-menu-items { display: block; padding: 0px; margin: 0px; list-style: none; width: 100%; text-align: right; }
.over-menu-items > li { display: inline; margin-left: 15px; font-size: 16px; }
.over-menu-items > li > a { color: white; text-decoration: none; }
.footer_bar_items { display: block; overflow: auto; width: 100%; text-align: right; padding: 0px; list-style: none; margin: 0px; }
.footer_bar_items > li { display: inline; margin-left: 15px; }
.footer_bar_items > li > a { color: var(--main-tertiary); text-decoration: none; }
footer a { text-decoration: none; }
.footer_columns { border: 1px solid var(--main-tertiary); border-left: 0px; border-right: 0px; color: var(--main-tertiary); }
.footer_columns h5 { color: white; text-transform: uppercase; margin-bottom: 20px; }
.footer_columns .list-unstyled li > a { color: var(--main-tertiary); }
.footer_columns .list-unstyled li { margin-bottom: 15px; }
.footer_bar { color: var(--main-tertiary); font-size: 14px; }
.company_info { line-height: 35px; }
.partners_logos { padding: 0px; margin: 0px; display: flex; overflow: auto; width: 100%; list-style: none; align-items: center; max-width: 400px; }
.partners_logos > li { width: 150px; margin: auto; }

h1.page-banner { font-family: 'FSGC'; font-size: clamp(1.7rem, 6vw, 3rem); }

.breadcrumbs { display: block; overflow: auto; width: 100%; padding: 0px; margin: 0px; }
.breadcrumbs > li { display: inline; }
.breadcrumbs > li::after { font-family: 'Font Awesome 6 Pro'; content: '\f054'; margin-left: 8px; font-size: 12px; color: var(--main-tertiary); }
.breadcrumbs > li:last-child:after { content: ''; }
.breadcrumbs > li > a { color: var(--main-tertiary) !important; }
.breadcrumbs > li:last-child > a { color: var(--main-primary) !important; }

input.form-control[type="text"], input.form-control[type="number"], input.form-control[type="email"] { border-radius: 0px; padding: 15px 10px 15px; }
.input-group > button { background: none; border: none; position: absolute; right: 10px; top: 15px; color: var(--main-tertiary); }

.live-dot-menu { display: inline-block; width: 8px; height: 8px; background: white; border-radius: 100px; margin-right: 2px; margin-bottom: 1.5px; border: 1px solid var(--main-dark); }
.live-dot-menu-active { position: relative; width: 8px; height: 8px; }
.live-dot-menu-active::before { content: ""; position: absolute; width: 8px; height: 8px; background-color: red; border-radius: 50%; z-index: 2; }
.live-dot-menu-active::after { content: ""; position: absolute; width: 9px; height: 9px; background-color: rgba(255, 0, 0, 0.9); border-radius: 50%; animation: pulse 1.5s infinite; z-index: 1; filter: blur(2px); }

.slider-container { width: 100%; height: 85vh; position: relative; overflow: hidden; }
.slider .slide { position: relative; height: 100vh; display: flex; align-items: center; justify-content: center; color: white; text-align: center; background-size: cover; background-position: center; }
.slider-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(var(--main-secondary-rgb), 0.6); }
.slick-slide:nth-child(even) .slider-overlay { background: rgba(var(--main-primary-rgb), 0.6); }
.slick-slide .female-slide .slider-overlay { background: rgba(var(--female-rgb), 0.6); } /* Colore Overlay Slide Femminile */
.slider-content { position: absolute; z-index: 2; display: block; width: 100%; left: clamp(0.8rem, 3vw, 6rem); bottom: 120px; }
.slider-content p { font-size: 20px; margin-bottom: 20px; }
.slider-content .btn { display: inline-block; padding: 12px 24px; background: #ffd700; color: black; text-decoration: none; font-weight: bold; border-radius: 5px; text-transform: uppercase; }
.slider-container .slick-prev, .slider-container .slick-next { z-index: 100; position: absolute; top: 77vh; right: 40px; background: none; border: none; font-size: 40px; color: white; }
.slider-container .slick-prev { right: 100px; }
.slider-content h1 { font-size: clamp(1.7rem, 6vw, 3rem); margin-bottom: 10px; font-family: 'FSGC'; width: 100vw; padding-right: clamp(5rem, 15vw, 10rem); display: block; overflow: auto; text-align: left; }
.slider-content p { display: block; overflow: auto; width: 100vw; padding-right: clamp(5rem, 15vw, 10rem); text-align: left; font-size: 20px; }
.slider-content .btn { background: none; color: white; font-family: 'FSGC'; font-size: 18px; text-align: left; display: block; padding: 0px; margin-top: 40px; height: 110px; line-height: 50px; }
.slider-discover-more { display: block; height: 50px; width: 50px; line-height: 50px; overflow: hidden; background: var(--main-secondary); text-align: center; border-radius: 200px; left: 70px; }

.input-focus-custom .dt-search > input:focus { border-color: var(--main-dark); box-shadow: none; }
.pagination-custom .pagination { margin: 0 }
#pagination-links > li.page-item > a, .pagination-custom .pagination > li.page-item > a { border-radius: 100px; margin-left: 10px; display: block; width: 35px; height: 35px; line-height: 20px; text-align: center; color: var(--main-tertiary); font-size: 10px; overflow: hidden; }
#pagination-links > li.page-item.active > a, .pagination-custom .pagination > li.page-item.active > a { background: var(--main-secondary); color: white; border-color: var(--main-secondary); }
.dt-info { padding: 0px !important; font-size: 14px; }
.table-icon { text-align: center !important; }

.news-block .card { border-radius: 0px; }
.news-block .card-image { display: block; overflow: auto; width: 100%; height: 200px; background-size: cover; background-repeat: no-repeat; background-color: var(--main-primary); }
.news-block .card-date { color: var(--main-tertiary); text-transform: uppercase; font-size: 14px; line-height: 24px; }
.news-block .card-title { font-size: 28px; height: 100px; color: var(--main-dark); display: block; overflow: hidden }
.news-block .card-text { height: 80px; }
.news-block .card-footer { background: white; }
.news-block .card-footer > a, .survey-block .card-footer > a , .event-block .card-footer > a { display: block; overflow: auto; width: 100%; color: var(--main-tertiary); text-decoration: none; text-transform: uppercase; }
.news-block .card-footer > a > span, .survey-block .card-footer > a > span, .event-block .card-footer > a > span { float: right; }

.event-block .card { border-radius: 0px; }
.event-block .card-image { display: block; overflow: auto; width: 100%; height: 200px; background-size: cover; background-repeat: no-repeat; background-color: var(--main-primary); }
.event-block .card-date { font-family: 'FSGC'; color: var(--main-tertiary); text-transform: uppercase; font-size: 14px; line-height: 24px; }
.event-block .card-title { font-family: 'FSGC'; font-size: 28px; color: var(--main-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.event-block .card-text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; max-height: 120px;}
.event-block .card-footer { background: white; }
.event-block .card-footer > a, .survey-block .card-footer > a { display: block; overflow: auto; width: 100%; color: var(--main-tertiary); text-decoration: none; text-transform: uppercase; }

.survey-block .card-image { display: block; overflow: auto; width: 100%; height: 240px; background-size: cover; background-repeat: no-repeat; background-color: var(--main-primary); }
.survey-block .card-body { height: 140px; }
.survey-block .card-title { font-size: 20px; }
.survey-block .card-footer { background: transparent; border-top: 1px solid var(--main-tertiary); }
.survey-block .card-image { position: relative; height: 200px; background-size: cover; background-position: center; }
.survey-block .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); color: inherit; z-index: 1; font-size: 1.5rem; text-transform: uppercase; }

.news-categories.card { border-radius: 0px; border: none; }
.news-categories .list-group { --icon-space: 1.3em; list-style: none; }
.news-categories .card-header { background: white; text-transform: uppercase; border: none; }
.news-categories .list-group-item { border: none; padding-left: var(--icon-space); }
.news-categories .list-group-item > a { color: var(--main-dark); }
.news-categories .list-group-item:before { content: "\f054"; font-family: 'Font Awesome 6 Pro'; display: inline-block; margin-left: calc( var(--icon-space) * -1 ); width: var(--icon-space); }

.latest-news.card { border: none; }
.latest-news .card-header { background: white; border: none; text-transform: uppercase; }
.latest-news .image-block { display: block; overflow: auto; width: 100px; height: 100px; background-size: cover; background-color: var(--main-primary); }
.latest-news .card-date { color: var(--main-tertiary); text-transform: uppercase; font-size: 14px; }
.latest-news .card-title { text-decoration: none; color: var(--main-dark); display: block; overflow: hidden; width: 100%; height: 75px; font-weight: bold; }

.section-title { font-family: 'FSGC'; font-size: clamp(1.7rem, 6vw, 3rem); text-transform: uppercase; }
.section-subtitle { font-family: 'FSGC'; font-size: 24px; text-transform: uppercase; }
.official-communications-carousel .slick-arrow, .news-carousel .slick-arrow, .next-games-carousel .slick-arrow, .players-carousel .slick-arrow, .survey-carousel .slick-arrow, .latest-games-carousel .slick-arrow { position: absolute; background: none; border: none; right: 5px; top: -80px; font-size: 25px; }
.survey-carousel .slick-arrow { top: -45px; }
.official-communications-carousel .slick-prev, .news-carousel .slick-prev, .next-games-carousel .slick-prev, .players-carousel .slick-prev, .survey-carousel .slick-prev, .latest-games-carousel .slick-prev { right: 45px; }

.live-block .card, .others-players-block .card, .latest-games-block .card, .event-block .card { min-height: 485px; }

.text-small { font-size: 0.9rem }
.text-responsive { font-size: clamp(0.7rem, 2.5vw, 1.5rem); }
.img-responsive { width: 100%; }
.table-text-responsive { font-size: clamp(0.85rem, 2.5vw, 1.0rem); }

.live-carousel .slick-next { position: absolute; background: none; border: none; right: 5px; top: 520px; font-size: 25px; color: var(--primary-light); }
.live-carousel .slick-prev { position: absolute; background: none; border: none; left: 5px; top: 520px; font-size: 25px; color: var(--primary-light); }
.live-carousel > .slick-arrow i { color: var(--primary-light); }

.dots-wrapper {
    position: absolute;
    top: -37px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0;
    display: flex;
    overflow: hidden;
    height: 20px;
    align-items: center;
    box-sizing: border-box;
}
.live-carousel .dots-wrapper { top: 530px; }
.dots-wrapper .slick-dots { display: flex; flex-direction: row; margin: 0; padding: 0; transition: transform 0.12s cubic-bezier(0.4,0,0.2,1); }
.dots-wrapper .slick-dots li { display: inline-flex; margin-right: 10px; box-sizing: border-box; }
.news-carousel .slick-dots { position: absolute; top: 520px; left: 50%; transform: translateX(-50%); }
.slick-dots li { display: inline; margin-right: 10px; }
.slick-dots li button { font-size: 0; width: 10px; height: 10px; padding: 5px; border-radius: 100px; background: transparent; border: none; border: 1px solid var(--primary-light);}
.slick-dots li.slick-active button { background: var(--primary-light); }
.news-carousel .slick-dots { position: absolute; top: -45px; padding: 0; margin: 0; }

.live-section, .live-page { background-size: cover; background-position: center; background-repeat: no-repeat; }
.live-block .card .card-header .row .col-2, .next-games-block .card .card-header .row .col-2, .latest-games-block .card .card-header .row .col-2 { font-size: 30px; font-family: 'FSGC'; }
.latest-games-block .card .card-header .row, .live-block .card .card-header .row { min-height: 175px }

.live-dot { position: relative; width: 10px; height: 10px; }
.live-dot::before { content: ""; position: absolute; width: 10px; height: 10px; background-color: white; border-radius: 50%; z-index: 2; }
.live-dot::after { content: ""; position: absolute; width: 10px; height: 10px; background-color: rgba(255, 255, 255, 0.9); border-radius: 50%; animation: pulse 1.5s infinite; z-index: 1; filter: blur(2px); }

.live-dot-title { position: relative; width: 13px; height: 13px; }
.live-dot-title::before { content: ""; position: absolute; width: 13px; height: 13px; background-color: red; border-radius: 50%; z-index: 2; }
.live-dot-title::after { content: ""; position: absolute; width: 12px; height: 12px; background-color: rgba(255, 0, 0, 0.9); border-radius: 50%; animation: pulse 1.5s infinite; z-index: 1; filter: blur(2px); }

.bg-live { background-color: #ff0000; }
.bg-finished { background-color: var(--main-tertiary); }
.bg-starting_soon, .bg-on_field { background-color: var(--main-primary); }
.bg-scheduled { background-color: var(--main-secondary); }

.text-fsgc { font-family: 'FSGC'; }
.text-finished { color: var(--main-tertiary); }
.text-starting_soon, .text-on_field { color: var(--main-primary); }
.text-scheduled { color: var(--main-secondary); }

.fsgc-btn, .fsgc-btn-sponsor, .fsgc-btn-maps { font-family: 'FSGC'; text-decoration: none; color: var(--main-dark); text-transform: uppercase; position: relative; overflow: hidden; width: fit-content; padding-right: 20px; border-radius: 100px; z-index: 1; display: inline-block; }
.fsgc-btn > span { margin-right: 6px; display: inline-block; width: 40px; height: 40px; line-height: 38px; font-size: 18px; color: white; border-radius: 100px; transition: background-color 0.3s ease; }
.fsgc-btn-maps { color: var(--main-primary); }
.fsgc-btn::before, .fsgc-btn-sponsor::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; transform: scaleX(0); transition: transform 0.3s ease; transform-origin: left; }
.fsgc-btn:hover { color: white; }
.fsgc-btn:hover::before, .fsgc-btn-sponsor:hover::before { transform: scaleX(1); }
.fsgc-btn-primary > span { background: var(--main-primary); }
.fsgc-btn-primary::before, .fsgc-btn-primary-sponsor::before { background-color: var(--main-primary); }
.fsgc-btn-secondary > span { background: var(--main-secondary); }
.fsgc-btn-secondary::before { background-color: var(--main-secondary); }

.fsgc-btn-sponsor > span { margin-right: 6px; display: inline-block; line-height: 38px; font-size: 18px; border-radius: 100px; transition: background-color 0.3s ease; }
.fsgc-btn-sponsor:hover { color: white; cursor: pointer;}

.fsgc-btn-league { font-family: 'FSGC'; text-decoration: none; color: var(--main-dark); text-transform: none; width: fit-content; padding-right: 20px; border-radius: 0px; z-index: 1; display: inline-block; height: 100% }
.fsgc-btn-league > span { font-size: clamp(0.85rem, 1.5vw, 1rem); }
.fsgc-btn-league:hover > i { color: white; }

.nav-pills .fsgc-btn > .btn-label { width: auto !important; height: auto !important; line-height: normal !important; padding: 0 !important; border-radius: 0 !important; background: none !important; color: var(--main-primary) !important; font-weight: 600; }
.nav-pills .fsgc-btn-primary:hover > .btn-label { color: white !important; }

.sponsor-section .d-flex > button { margin-right: 6px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; line-height: 38px; font-size: 18px; font-family: 'FSGC'; text-transform: uppercase; text-decoration: none; color: white; background: var(--main-primary); border-radius: 100px; border: none; cursor: pointer; transition: transform 0.3s; }
.sponsor-section .d-flex > button > i { margin: 0; padding: 0; transition: transform 0.3s; }
.sponsor-section .d-flex > button[aria-expanded="true"] > i { transform: rotate(90deg); }

.single-news.card { border: none; }
.single-news .card-date { text-transform: uppercase; color: var(--main-tertiary); }
.single-news .card-title, .history .card-title { font-weight: bold; font-size: 38px; }
.single-news .card-disclaimer { font-weight: 200; font-style: italic; color: var(--main-tertiary); }
.single-news .sharing-bar { width: 100%; background: var(--main-dark); margin: 0px; }
.single-news .sharing-bar .social-network { padding: 0px 20px 0px; display: block; overflow: auto; width: 100%; text-align: right; margin: 0px; }
.single-news .sharing-bar .social-network > li { display: inline; margin-left: 10px; }
.single-news .sharing-bar .social-network > li > a { color: white; font-size: 18px; }

.single-event .card-date { text-transform: uppercase; color: var(--main-tertiary); }
.single-event .card-title, .history .card-title { font-family: 'FSGC'; font-weight: bold; font-size: 38px; }
.single-event .card-disclaimer { font-weight: 200; font-style: italic; color: var(--main-tertiary); }
.single-event .sharing-bar { width: 100%; background: var(--main-dark); margin: 0px; }
.single-event .sharing-bar .social-network { padding: 0px 20px 0px; display: block; overflow: auto; width: 100%; text-align: right; margin: 0px; }
.single-event .sharing-bar .social-network > li { display: inline; margin-left: 10px; }
.single-event .sharing-bar .social-network > li > a { color: white; font-size: 18px; }

.official-communication-block > .card, .live-block > .card, .others-players-block .card, .survey-block > .card { border-radius: 0px; background: transparent; border: 1px solid var(--main-tertiary); }
.official-communication-block > .card-title { font-size: 28px; }
.official-communication-block > .card-date { font-size: 14px; }
.official-communication-block .card-footer { border-top: 1px solid var(--main-tertiary); }
.official-communication-block .card-footer > a, .live-block .card-footer > a, .next-games-block .card-footer > a, .latest-games-block .card-footer > a { display: block; width: 100%; text-transform: uppercase; font-family: 'FSGC'; text-decoration: none; }
.official-communication-block .card-footer > a > span, .live-block .card-footer > a > span, .next-games-block .card-footer > a > span, .latest-games-block .card-footer > a > span { float: right; }

.live-block > .card, .others-players-block .card { background: var(--main-dark); }
.live-block .card-body, .others-players-block .card-body { border-width: 1px 0; border-style: solid; border-color: var(--main-tertiary); }

.next-games-block > .card, .latest-games-block > .card { border-radius: 0px; background: transparent; }
.next-games-block > .card, .next-games-block > .card .card-header, .next-games-block > .card .card-body, .next-games-block > .card .card-footer, .latest-games-block > .card, .latest-games-block > .card .card-header, .latest-games-block > .card .card-body, .latest-games-block > .card .card-footer { background: white; }

.others-players-block > .card a > p { font-size: 20px; }

.event-section { position: relative; height: 80vh; width: 100%; overflow: hidden; }

span.help-block { color: #ff0000; font-size: 12px; bottom: 20px; border: none; display: block; right: 0px; }

.video-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.text-overlay-vid { position: absolute; bottom: 20px; left: 0; right: 0; z-index: 3; padding: 15px; }
.event-section .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, var(--main-dark) 35%, transparent 75%), linear-gradient(to right, var(--main-dark) 5%, transparent 20%), linear-gradient(to left, var(--main-dark) 5%, transparent 20%); z-index: 2; pointer-events: none; }

.video-vote-highlight { width: 100%; min-height: 250px; }

.top-content-banner-block > .bg-image { background-size: cover; background-position: center; min-height: 350px; }
.top-content-banner-block .banner_overlay { opacity: 0.8; }
.top-content-banner-block .container { z-index: 1 }

.input-container-custom { height: 70px; position: relative; }
.form-input-custom { background-color: #fff; width: 100%; border: none; border-bottom: 1px solid var(--main-secondary); outline: none; font-size: 16px; transition: all 0.3s ease-in-out; }
.form-input-custom:focus { border-bottom: 2px solid var(--main-primary); transition: border-color 0.3s ease-in-out;}
.form-label-custom { font-weight: bold; position: absolute; left: 50%; top: -25%; transform: translate(-50%, -50%) scale(1); color: var(--main-secondary); text-align: center; transition: all 0.3s ease-in-out; }
.form-input-custom:focus + .form-label-custom, .form-select-custom:focus + .form-label-custom,
.form-input-custom.has-value + .form-label-custom, .form-select-custom.has-value + .form-label-custom { left: 50%; top: -30px; transform: translate(-50%, -50%) scale(0.85); color: var(--main-primary); transition: all 0.3s ease-in-out; }

.form-check-input[type="checkbox"] { border-radius: 0; }
.form-check-input:checked { background-color: var(--main-dark); border-color: var(--main-primary); }
.form-check-input:focus { border-color: #86b7fe; outline: 0; box-shadow: none; }

.select-container-custom { height: 70px; position: relative; }
.form-select-custom { width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--main-secondary); outline: none; font-size: 16px; line-height: 1.2; appearance: none; cursor: pointer; padding: 4px 0; transition: border-color 0.3s ease-in-out; }
.form-select-custom:focus { border-bottom: 2px solid var(--main-primary); transition: border-color 0.3s ease-in-out; }

.singles-news-media-block > h4 { text-transform: uppercase; color: var(--main-primary); font-size: 18px; font-weight: bold; }

.nav-pills .nav-link { font-size: clamp(0.85rem, 1.5vw, 1rem); text-transform: uppercase; font-family: 'FSGC'; border-radius: 0 !important; color: var(--main-tertiary) !important; }
.nav-pills .nav-link.active { color: white !important; background-color: var(--main-dark) !important; }
.nav-pills .nav-link i { transition: transform 0.3s ease; }
.nav-pills .nav-link.active i { transform: rotate(180deg); }

.file-input-custom { appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.file-input-custom::-webkit-file-upload-button { display: none; }
.file-input-custom::file-selector-button { display: none; }

.sponsor-section .d-flex > span { font-family: 'FSGC'; text-transform: uppercase; }

.chessboard-overlay-container { position: relative; display: inline-block; overflow: hidden; }
.chessboard-overlay-container img { display: block; width: 100%; height: 165%; object-fit: cover; }

.overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%); }

.row.g-4 { align-items: flex-start; }
.federal-council-block .card-text, .stadiums-block .card-text{ display: -webkit-box; -webkit-line-clamp: 10; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; max-height: 120px; position: relative; transition: max-height 0.4s ease-in-out; }
.federal-council-block .card-text.open, .stadiums-block .card-text.open{ -webkit-line-clamp: unset; }
.federal-council-block .toggle-icon, .stadiums-block .toggle-icon{ cursor: pointer; font-size: 1.2rem; text-align: right; color: #007bff; margin-top: 5px; }
.federal-council-block .toggle-icon i, .stadiums-block .toggle-icon i{ transition: transform 0.3s ease-in-out; }
.federal-council-block .toggle-icon i.open, .stadiums-block .toggle-icon i.open{ transform: rotate(180deg); }
.federal-council-block .card-footer, .stadiums-block .card-footer{ display: flex; justify-content: space-between; align-items: center; background-color: white; cursor: pointer; }

.mini-logo { width: 35px; height: 35px; object-fit: contain; }
.little-logo { width: 40px; height: 40px; object-fit: contain; }
.medium-logo { height: 135px; }
.big-logo { width: 200px; height: 200px; object-fit: contain; margin: 0 auto; display: block; }

#documents_table .col-actions { width: 1%; white-space: nowrap; }

.official-communication-block h2.card-title { font-size: 24px; }

.stadiums .stadium-name { font-size: 22px; }
.stadiums .accordion-button { font-size: 20px; }

.referees .card-text { display: -webkit-box; -webkit-line-clamp: 10; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; max-height: 120px; position: relative; transition: max-height 0.4s ease-in-out; }

#documents_table_wrapper .dt-search, #documents_table_wrapper .dt-length  { font-family: 'FSGC'; }
.table-frontend ul.table_actions { padding: 0; margin: 0; }
.table-frontend tbody tr { border: 1px solid var(--gray-light); white-space: nowrap; }
.table-frontend thead tr.table-header { background-color: var(--main-dark); font-family: 'FSGC'; white-space: nowrap; }
.table-frontend thead th { padding: 1rem 1rem; color: white; }
.table-frontend tbody td { padding: 1rem 1rem; vertical-align: middle; }
table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order::after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order::before, table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order::before { opacity: 0.5; }
table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order::after, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order::before { opacity: 1; }

.accordion-button:not(.collapsed) { color: white; background-color: var(--main-dark); }
.accordion-button::after { content: none; } 
.accordion-button .custom-icon, .submenu-page-dropdown .custom-icon { transition: transform 0.3s ease; }
.accordion-button.collapsed .custom-icon, button[aria-expanded="false"].dropdown-toggle .custom-icon { transform: rotate(0deg); color: var(--main-dark); }
.accordion-button:not(.collapsed) .custom-icon, button[aria-expanded="true"].dropdown-toggle .custom-icon { transform: rotate(180deg); color: white; }
button[aria-expanded="false"].dropdown-toggle .custom-icon { color: white; font-size: 16px; }
button[aria-expanded="true"].dropdown-toggle .custom-icon { transform: rotate(180deg); color: white; font-size: 16px; }
.accordion-button:focus { outline: none; box-shadow: none; }
.accordion-item:first-of-type > .accordion-header .accordion-button { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
.accordion-item:first-of-type, .accordion-item:last-of-type { border-radius: 0 !important; }
tr.last-row { border-bottom: 0; }

.ql-align-center { text-align: center !important; }
.ql-align-right { text-align: right !important; }
.ql-align-left { text-align: left !important; }
.ql-align-justify { text-align: justify !important; }

ol li[data-list="bullet"] { list-style-type: disc; }

thead.table-dark th { background-color: var(--main-dark); color: white; }

#cookie_bar { position: fixed; z-index: 99999999; bottom: 10px; background: var(--main-secondary); width: calc(100% - 20px); left: 10px; border: 1px solid var(--main-dark); padding: 20px; color: #FFFFFF; }

.fsgc-news-content table { width: 100%; }
.fsgc-news-content table tr:first-child { background: var(--main-dark); color: white; font-weight: bold; }
.fsgc-news-content table tr:first-child > td { padding: 4px; }
.fsgc-news-content table tr:nth-child(2n) { background: var(--gray-light); }
.fsgc-news-content table td { font-size: 14px; padding: 4px; }

.team-square-color { display: inline-block; overflow: hidden; width: 30px; height: 30px; text-align: center; line-height: 30px; color: var(--main-dark); vertical-align: middle; font-size: 20px; text-shadow: -1px 0 var(--main-dark), 0 1px var(--main-dark), 1px 0 var(--main-dark), 0 -1px var(--main-dark); }
.team-banner { position: absolute; top: 10px; right: -35px; background: var(--main-dark); color: white; padding: 10px 60px; z-index: 1; transform: rotate(45deg); font-weight: bold; font-family: sans-serif; box-shadow: 0 2px 5px rgba(0,0,0,0.3); text-shadow: -1px 0 var(--main-dark), 0 1px var(--main-dark), 1px 0 var(--main-dark), 0 -1px var(--main-dark); }

#button-top-bottom { z-index: 10; bottom: 30px; right: 30px; }
.scroll-button { width: 40px; height: 40px; background: var(--main-secondary); border-radius: 100px; border-color: white; border-width: 2px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.scroll-button:hover, .scroll-button:active { background: white; border-color: var(--main-secondary) !important; }
.scroll-button:hover i, .scroll-button:active i { color: var(--main-secondary) !important; }
.btn { border-width: 1px; border-style: solid; border-radius: var(--bs-border-radius); text-transform: uppercase; font-size: .75rem; font-weight: 500 !important; letter-spacing: 0.2px; line-height: 1.3rem; padding: 8px 16px; }

.team .row { border-top: 0; border-right: 1px solid #dee2e6; border-bottom: 1px solid #dee2e6; border-left: 1px solid #dee2e6; }

.fixed-width-name, .fixed-width-email { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.table > :not(caption) > * > * i { background-color: transparent !important; box-shadow: none !important; }

.handheld-toggler { width: 50px; height: 50px; border: 1px solid var(--main-primary); color: var(--main-secondary); background: white; }
#navbarNav.handheld { display: none; overflow: auto; position: fixed; top: 0px; background: white; width: 100%; height: 100%; max-width: 480px; z-index: 9999; right: 0px; padding: 10px 20px; }
#navbarNav.toggled-handheld { display: block; }
#handheld-menu-footer .over-menu-social a { color: var(--main-secondary); font-size: 25px; }
.handheld-submenu-items { display: block; overflow: auto; width: 100%; padding: 0px; }
.handheld-submenu-items a { text-decoration: none; padding-right: 10px; font-size: 14px; }
.handheld-submenu-items > li::after { content: '\f1e3'; margin-right: 10px; color: var(--main-primary); font-family: "Font Awesome 6 Pro"; }
.toggled-handheld .nav-item .dropdown-menu { border: 0px; }

#handheld-live-indicator { display: block; text-decoration: none; font-weight: bold; letter-spacing: 1px; color: var(--main-dark); }
#handheld-live-indicator .live-dot-menu-active::before, #handheld-live-indicator .live-dot-menu-active::after { top: 5px; right: -20px; }

#cookie_buttons button { border: none; }
#cookie_buttons button:hover { background: var(--main-primary); color: var(--main-dark); }
.dropdown-item:active { background-color: var(--main-primary); }

.dropdown-menu { border-radius: 0px; }
.dropdown-item:hover { color: white; background-color: var(--main-dark); }
.dropdown-item.female-bkg:hover { color: white; background-color: var(--female); }

.submenu-page-dropdown > .dropdown-toggle { background-color: var(--main-dark); color: white; }
.submenu-page-dropdown > .dropdown-toggle::after { content: none !important; }
.display-8 { font-size: 16px; }
.submenu-page-dropdown .dropdown-menu > li:hover { background: var(--main-dark); color: white; }
.submenu-page-dropdown > .dropdown-toggle:focus, .submenu-page-dropdown > .dropdown-toggle:active { background-color: var(--main-dark) !important; }

@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.8); } 100% { transform: scale(1); } }

@media screen and (min-width: 992px) {
    .leagues .card, .teams .card, .useful-links a { border: 1px solid #dee2e6 !important; }
}

@media screen and (max-width: 991.98px) {
    .leagues .card, .teams .card, .useful-links a { border: none !important; }
}

@media screen and (min-width: 768px) {
    #cookie_bar { width: calc(50% - 20px) !important; }
    .stadiums .first-stadium .stadium-name { font-size: 2rem; padding: 2rem; }
    .fixed-width-name { width: 250px; max-width: 250px; }
    .fixed-width-email { width: 250px; max-width: 250px; }
    .img-responsive { width: 50%; }
}

@media screen and (max-width: 767.98px) {
    .fixed-width-name, .fixed-width-email { width: 100%; display: block; }
}

@media screen and (max-width: 480px) {
    .top-content-banner-block > .bg-image { min-height: 200px; }
    #pagination-links { display: block; overflow: auto; padding: 0px 10px; }
    #pagination-links > li { width: fit-content !important; display: inline-block; }

    .slider-container .slick-prev, .slider-container .slick-next { font-size: 25px; }
    .slider-container .slick-prev { right: 50px; }
    .slider-container .slick-next { right: 10px; }
}
