/*
Theme Name: Antigene theme
Author: (rob.a) grafica | Web Solutions & graphic design
Author URI: robagrafica.com
Version: 1.0 @2025
*/

@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
@import "assets/css/custom_carousel.css";

@font-face {
    font-family: 'Satoshi';
    src: url("assets/fonts/Satoshi/Satoshi-Variable.woff2") format("woff2");
}

@font-face {
    font-family: 'Satoshi-italic';
    src: url("assets/fonts/Satoshi/Satoshi-VariableItalic.woff2") format("woff2");
}


:root {
    /* Font Family */
    --font_primary: 'Satoshi', sans-serif;
    --font_alternative: 'Spectral', serif;

    /* Colors */
    --pink: 245, 135, 210;

    --theme_primary_color: #d4145a;
    --theme_primary_color_light: rgba(212, 20, 90, 0.6);
    --theme_secondary_color: #7F3650;
    --theme_dark: #414141;
    --theme_green: #DEDC00;
    --theme_pink: rgba(var(--pink), 1);
    --theme_brown: #545132;
    --theme_cyan: #13AED4;
    --theme_red: #e5351f;
    --theme_light_gray: #f7f7f7;
    --theme_light: rgba(152, 126, 135, 0.04);


    /* Header / footer heights */
    --header_height: 120px;
    --footer_height: 180px;

    --transition: all .3s;
    /*--container: 100%;*/
}


html, body {
    font-family: var(--font_primary);
    font-size: 18px;
    font-weight: 100;
    line-height: 1.25rem;
}

b, strong {
    font-weight: 700;
}

.font_serif {
    font-family: var(--font_alternative);
}

.title_page, h1, h2, h3, h4, h5, h6 {
    font-family: var(--font_alternative);
}


h1.title_page {
    font-size: 1.5rem;
    font-weight: bold;
    text-transform: uppercase;
}

h2.title_page {
    font-size: 1.5rem;
}

h1.title_archivio {
    font-size: 2.5rem;
}

h2.title_archivio {
    font-size: 1.4rem;
    text-transform: uppercase;
}

h1.title_percorsi {
    font-size: 2rem;
}

a, img, a.azienda_row .row {
    transition: var(--transition);
}

a, .sidebar_group a {
    color: inherit !important;
    text-decoration: none;
}

.post_content a {
    text-decoration: underline !important;
    color: var(--theme_primary_color_light) !important;
}

.post_content a:hover {
    color: var(--theme_primary_color) !important;
    /*text-decoration: underline !important;*/
}

a:hover {
    text-decoration: none;
    opacity: .85;
}


.theme_sticky {
    position: sticky;
    top: calc(var(--header_height) - 3rem);
}


/*.modal.lightbox .modal-dialog:not(.modal-fullscreen){*/
/*    max-width: 60vw;*/
/*}*/
.modal.lightbox .lightbox-caption {
    background-color: white;
    color: transparent;
    font-size: 0;
}

.modal.lightbox .lightbox-caption span {
    color: var(--theme_primary_color);
    font-size: 1rem;
}

.scroll_element {
    scrollbar-color: var(--theme_primary_color) rgba(255, 255, 255, 0.3);
    scrollbar-width: thin;
}

.img_preview a img {
    border: 1px solid #501E6E80;
}

.img_preview a:hover img {
    transform: translate(-4px, -4px);
    box-shadow: 4px 4px #501E6E80;
}


/*----------------------
    citazioni
----------------------*/
.theme_blockquote {
    font-family: var(--font_alternative);
    font-size: 2rem;
    text-align: center;
    line-height: 2.5rem;
    color: var(--theme_pink);
    font-style: italic;
    position: relative;
}

.theme_blockquote:before {
    content: url(assets/images/virgolette_sx.svg);
    position: absolute;
    width: 90px;
    top: -20px;
    left: -90px;
}

.theme_blockquote:after {
    content: url(assets/images/virgolette_dx.svg);
    position: absolute;
    width: 90px;
    bottom: -20px;
    right: -90px;
}

/*----------------------
    BUTTONS and LINKS
----------------------*/
a.view_all {
    font-size: .75rem;
    /*color: var(--theme_green) !important;*/
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: underline;
}

.btn {
    border-radius: 20px;
    text-decoration: none;
    /*padding: 1rem 1.5rem;*/
    background-color: var(--theme_primary_color);
    color: white;
    transition: var(--transition);
    font-size: .8rem;
    text-transform: uppercase;
}

.btn.btn_outline {
    border: 2px solid var(--theme_primary_color);
    color: var(--theme_primary_color) !important;
    background-color: transparent;
    text-transform: uppercase;
    font-size: .6rem;
}

.btn:hover {
    color: white;
    background-color: var(--theme_primary_color);
    opacity: .8;
}

.btn.btn-sm {
    border-radius: 10px;
    font-size: .7rem;
    background-color: transparent;
    text-transform: uppercase;
    letter-spacing: .42px;
    font-weight: 500;
    color: var(--theme_primary_color_light);
    border: 1px solid var(--theme_primary_color_light);
}

.btn.btn-sm:hover {
    background-color: white;
    border-color: white;
}

button:focus {
    outline: none;
}

.btn_dropdown {
    border-radius: 30px;
    background-color: #fff;
    border: 1px solid var(--theme_primary_color) !important;
    padding: 5px 10px;
    color: var(--theme_primary_color);
    font-size: .9rem;
}

ul.dropdown-menu {
    margin-left: 10px !important;
}

.dropdown-menu li {
    background-color: var(--theme_primary_color);
    padding: 5px 10px;
    font-size: .9rem;
    white-space: nowrap;
}

.dropdown-menu li:not(:first-child) {
    border-top: 1px solid white;
}


/*----------------------
    HEADER
----------------------*/
header {
    /*height: var(--header_height);*/
    z-index: 100;
    position: sticky;
    top: 0;
    background-color: white;
}

section#header_main_menu {
    border-style: solid;
    border-width: 2px 0;
}

.home__search {
    background-color: var(--theme_primary_color);
    color: white;
}

/*----------------------
    MENU
----------------------*/
.btn_menu {
    width: 46px;
    cursor: pointer;
}


#desk_menu {
    list-style: none;
    text-align: center;
    margin: 0;
}

#desk_menu li {
    display: inline-block;
    margin-right: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 16px;
    border-left: 4px solid white;
    /*padding: 0 6px;*/
    position: relative;
}

#desk_menu li:before {
    content: '';
    position: absolute;
    left: 0;
    width: 20px;
    height: 4px;
    bottom: -4px;
    background-color: white;
    transition: var(--transition);
}

#desk_menu li:hover:before {
    background-color: var(--theme_primary_color);
}

#desk_menu li:hover, .desk_menu li.current-menu-item {
    color: var(--theme_primary_color);
    /*color: var(--theme_green) !important;*/
    /*text-decoration: line-through !important;*/
    /*text-decoration-thickness: 4px !important;*/
    /*text-decoration-color: var(--theme_primary_color_light) !important;*/
    /*font-weight: 500;*/
}


#mobile-menu {
    /*position: fixed;*/
    /*top: var(--header_height);*/
    background-color: white;
    width: 100%;
    /*border-bottom: 2px solid;*/
    /*z-index: 100;*/

}

ul.mobile_menu {
    list-style: none;
    padding: 0;
    text-transform: uppercase;
    font-size: .7rem;
}

ul.mobile_menu li {
    margin-top: 6px;
}

/*----------------------
    breadcrumbs
----------------------*/
#breadcrumbs {
    margin-bottom: 20px;
}

.breadcrumb {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0;
    list-style: none;
    background-color: #fff;
    border-radius: 0;
    font-size: 12px;
}

/*----------------------
    HOME PAGE
----------------------*/
.primo_piano {
    border: 1px solid #707070;
    position: relative;
    transition: var(--transition);
}

.primo_piano:hover {
    background-color: var(--theme_light);
}

.primo_piano .arrow_link {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    opacity: 0;
    transition: var(--transition);
}

.primo_piano:hover .arrow_link {
    opacity: 1;
}

.primo_piano .arrow_link i {
    font-size: 1.5rem;
    color: var(--theme_primary_color);
}

.primo_piano .post_label, .post_grid .post_label {
    position: absolute;
    background-color: var(--theme_primary_color);
    color: white;
    left: 0;
    top: 10px;
    padding: 2px 1rem;
    text-transform: uppercase;
    font-size: .7rem;
}

.primo_piano .post_title {
    font-family: var(--font_alternative);
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 2.1rem;
}

.primo_piano .post_abstract {
    font-size: 1.055rem;
    font-weight: 100;
    line-height: 1.4rem;
}

.primo_piano .post_sottotitolo {
    font-family: var(--font_alternative);
    font-size: 1.1rem;
    font-weight: 300;
    font-style: italic;
}

.primo_piano .autore {
    margin-bottom: 1.5rem !important;
}

/*----------------------
    Images
----------------------*/
.preview_img, .preview_img_div {
    border-radius: 30px;
    /*background-color: #000000;*/
    overflow: hidden;
}

.preview_img_div img {
    /*transform: scale(1.2);*/
    max-width: 100%;
}

/*----------------------
    POST GRIDS
----------------------*/
.post_grid .post_title {
    font-family: var(--font_alternative);
    font-size: 1.5rem;
    font-weight: 500;
}

.post_grid .post_abstract {
    font-size: 1rem;
    font-weight: 100;
    line-height: 1.2rem;
}

.post_grid > div:hover {
    background-color: var(--theme_light);
}

.post_grid a i {
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 0;
    transition: var(--transition);
    color: var(--theme_primary_color);
    z-index: 20;
}

.post_grid > div:hover a i {
    opacity: 1;
}

.post_grid .autore, .primo_piano .autore {
    font-size: .7rem;
    margin: 0;
}

/*----------------------
    SIDEBAR
----------------------*/
.side_box {
    background-color: var(--theme_pink);
    border-radius: 30px;
    padding: 1.5rem;
    font-weight: 300;
    margin-bottom: 1.5rem;
}

#lumens.side_box {
    background-color: var(--theme_green);
}

/*----------------------
    PAGE ARCHIVIO
----------------------*/

#pagina_archivio .cover {
    height: calc(50vh - 180px);
    max-height: 580px;
    overflow: hidden;
    display: grid;
    align-content: center;
    margin-bottom: 1.5rem;
}

/*----------------------
    PAGE ARCHIVIO
----------------------*/
.scheda_testata, .scheda_content .scheda_title {
    font-size: .8rem;
    text-transform: uppercase;
    line-height: 1rem;

}

.scheda_content .scheda_title {
    font-weight: bold;
}

.scheda_content .scheda_title.small {
    font-size: .6rem;
    margin-right: 10px;
}

.scheda_title h1 {
    font-size: 1.25rem;
    line-height: 1.5rem;
}

.scheda_data, .scheda_segmenti, .scheda_info {
    font-size: .8rem;
    line-height: 1rem;
}

.scheda_segmenti ul li {
    font-size: .75rem;
    margin-bottom: 6px;
}

.scheda_keywords {
    list-style: none;
    padding-left: 0;
}

.scheda_keywords li {
    display: inline-block;
    margin-left: 5px;
}

.h_scroll .scheda_keywords {
    white-space: nowrap;
    padding-left: 1rem;
}

.h_scroll {
    overflow: hidden;
}

.h_scroll .scroll_on {
    animation-name: infiniteScroll;
    animation-duration: 30s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

/*----------------------
    SEARCH RESULTS
----------------------*/

.sidebar_group {
    padding-bottom: 2rem;
    font-size: .6rem;
}

.sidebar_title_group {

    font-weight: bold;
    text-transform: uppercase;
    border-top: 1px solid;
    margin-bottom: 10px;
}

.sidebar_group ul {
    list-style: none;
    padding: 0;
}

.sidebar_group ul li {
    line-height: 1rem;
}

.view_all_tags {
    cursor: pointer;
    font-weight: bold;
}

/*----------------------
    Pagination
----------------------*/
.pagination {
    justify-content: center;
    /*font-size: .6rem;*/
}

.pagination .page-numbers {
    list-style: none;
}

.pagination .page-numbers li {
    display: inline-block;
    margin-left: 10px;
}

.pagination a.page-link {
    color: var(--theme_primary_color);
    font-size: inherit;
    border: none !important;
    background-color: transparent;
}

.pagination a.page-link:focus {
    box-shadow: none;
}

.pagination .page-item.disabled a.page-link {
    font-weight: bold;
}

/*----------------------
    Single post
----------------------*/
.term_post {
    text-transform: uppercase;
    font-size: .6rem;
    font-weight: bold;
}

.post_date, .post_parent_name {
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase;
}

.post_date {
    color: var(--theme_primary_color);
}

.post_abstract {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.6rem;
}

.post_archive_item {
    border-top: 2px solid var(--theme_pink);
    transition: var(--transition);
    position: relative;
}

.post_row_list:last-of-type .post_archive_item {
    border-top: 2px solid var(--theme_pink);
    border-bottom: 2px solid var(--theme_pink);
}

.post_archive_item:hover {
    background-color: #501E6E0D;
}

.post_archive_item .icon_hover {
    opacity: 0;
    position: absolute;
    right: 20px;
    top: 20px;
    transition: var(--transition);
    color: var(--theme_primary_color_light);
}

.post_archive_item:hover .icon_hover {
    opacity: 1;
}

.post_archive_item .titolo_studio h1 {
    font-size: 1.5rem;
}

.post_archive_item .titolo_studio h2 {
    font-size: 1.125rem;
}

.post_archive_item .post_parent_name {
    font-size: .875rem;
}

.autore {
    font-size: 1rem;
    font-weight: 500;
    margin: 1rem 0;
}

.titolo_studio {
    font-family: var(--font_alternative);
    /*font-style: italic;*/
    line-height: normal;
    letter-spacing: -0.76px;
}

.titolo_studio h1 {
    font-size: 2.375rem;
    font-weight: 500;
}

.titolo_studio h2 {
    font-size: 1.875rem;
    font-weight: 300;
}

.prefazione_di {
    font-size: 1.375rem;
    color: var(--theme_primary_color);
    font-weight: 400;
    font-style: normal;
}

.theme_content {
    font-family: var(--font_alternative);
    font-size: 1.2rem;
    line-height: 26px;
}

.theme_content a {
    color: var(--theme_primary_color) !important;
    text-decoration: underline;
}

.bibliografia {
    font-size: .875rem;
    font-weight: 400;
}

.bibliografia span {
    text-transform: uppercase;
}

.altre_info {
    font-size: 1.125rem;
    font-weight: 500;
    border-top: 1px var(--theme_pink) solid;
    padding: .5rem;
}

.altre_info:last-of-type {
    border-bottom: 1px var(--theme_pink) solid;
}

.team_abstract {
    font-size: 1.125rem;
    font-weight: 500;
}

.featured_post_img.team {
    width: 200px;
    height: 200px;
    border-radius: 100%;
    /* overflow: hidden; */
    background-color: var(--theme_primary_color);
    position: relative;
}

.featured_post_img.team img {
    mix-blend-mode: screen;
    border-radius: 100%;
    top: -5px;
    position: absolute;
    max-width: 210px;
    left: -5px;
}

.intervista_link {
    color: var(--theme_primary_color) !important;
    font-size: .7rem;
    font-weight: 500;
    text-transform: uppercase;
}

#intervista {
    scroll-margin-top: calc(var(--header_height) + 60px);
}

.section__title {
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.le_interviste_cta {

    padding: 1rem;
    margin-top: 2rem;
}

.le_interviste_cta.side_box {
    background-color: var(--theme_light_gray) !important;
}

/*----------------------
    Single page (FAQ)
----------------------*/
.domanda {
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 2rem;
}

.risposta {
    font-family: var(--font_alternative);
    font-size: 1.375rem;
    line-height: 2rem;
}


/*----------------------
    theme table
----------------------*/
.theme_table_header {
    font-weight: 900;
    text-transform: uppercase;
    font-size: 0.6875rem;
    line-height: normal;
    border-top: var(--theme_primary_color_light) solid 2px;
    border-bottom: var(--theme_primary_color_light) solid 2px;
    top: calc(var(--header_height) * 3.2);
    background-color: white;
    z-index: 10;
}

.theme_table_header .col {
    padding-right: 6px;
    padding-left: 6px;
}

.theme_table_rows {
    font-size: 0.6875rem;
    line-height: normal;
    border-bottom: rgba(var(--pink), .5) solid 1px;
}

.theme_table_rows .col {
    overflow-wrap: anywhere;
    padding-right: 6px;
    padding-left: 6px;
}

.theme_table_rows .col-2 {
    overflow-wrap: normal;
}

/*----------------------
    FOOTER
----------------------*/

.footer_top, .footer_bottom {
    background-color: var(--theme_dark);
    color: white;
    font-size: .8rem;
}

ul#footer_menu, ul#footer_menu2 {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul#footer_menu li {
    text-transform: uppercase;
}


/*----------------------
    FORM ELEMENTS
----------------------*/

.site_search, .inner_search {
    position: relative;
}

.site_search input {
    border-radius: 30px;
    /*padding: 5px 10px;*/
    width: 100%;
    height: 60px;
    border: 1px solid rgba(var(--pink), .5);
    padding: 5px 10px;
}

.inner_search input {
    border-radius: 30px;
    /*padding: 5px 10px;*/
    width: 100%;
    height: 40px;
    border: none;
    padding: 5px 10px;
}

.site_search button {
    background-color: transparent;
    border: none;
    position: absolute;
    right: 10px;
    top: 14px;
    padding: 0;
}

.inner_search button {
    background-color: transparent;
    border: none;
    position: absolute;
    right: 5px;
    top: 5px;
    padding: 0;
}

.site_search button i {
    color: var(--theme_pink) !important;
    font-size: 2rem;
}

/*.inner_search button i {*/
/*    color: var(--theme_green) !important;*/
/*    font-size: 1.5rem;*/
/*}*/

.site_search .search_select {
    position: absolute;
    width: 45%;
    top: -50px;
    left: 0;
    border-radius: 30px;
    background-color: transparent;
    color: white;
    font-size: .9rem;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23FFFFFF' class='bi bi-chevron-down' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.7rem top 50%;
    background-size: 0.65rem auto;
    height: 40px;
}


select {
    width: 100%;
    border: none;
    padding: 6px 10px;
}

select:focus-visible {
    outline: none;
}

.theme_select {
    border: 1px solid #eee;
}

/*
    complianz cookie
*/

#cmplz-document p, .editor-styles-wrapper .cmplz-unlinked-mode p, #cmplz-document li, .editor-styles-wrapper .cmplz-unlinked-mode li, #cmplz-document td, .editor-styles-wrapper .cmplz-unlinked-mode td {
    font-size: 1rem !important;
}
