/* GENERAL */
body {
    font-family: var(--font-custom);
    -webkit-font-smoothing: antialiased !important;
    color: var(--color-dark);
    font-size: 2rem;
    margin: 0;
    padding: 0;
}

#content-wrapper {
    margin-top: 50px;
}


#content {
    min-height: 700px;
}

img {
    border: none;
}

.img-custom{
    max-height: 50vh;
    object-fit: cover;
    object-position: center;
    filter: brightness(70%);
    transition: all .3s ease;
}

.img-custom:hover,
.img-custom:focus{
    filter: brightness(100%);

}



/***** HOME NEW ******/
.home-showcase {
    position: relative;
}

.home-showcase-img {
    width: 100%;
}

.home-message-container {
    position: absolute;
    top: 20%;
    left: 10%;
    width: 80%;
}

a.home-message-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1em;
    text-align: center;
    color: black;
}

a.home-message-content:hover,
a.home-message-content:focus {
    text-decoration: none;
}


.color-message-1 {
    background-color: var(--variable-color-1);
}

.color-message-2 {
    background-color: var(--variable-color-2);
}

.color-message-3 {
    background-color: var(--variable-color-3);
}


div#scroll {
    position: relative;
    bottom: 50px;
}


/********************** NAVBAR ************************/
#navbar-main {
    float: right;
}

.navbar{
    border-bottom: 1px solid #ddd;
}

.navbar-nav {
    position: relative;
}

nav {
    font-size: 0.7em;
    color: var(--color-primary);
    background: white;
}

nav a {
    color: var(--color-primary);
}

.navbar-toggle .icon-bar {
    background-color: var(--color-primary);
    height: 3px;
}

.nav>li>a:focus,
.nav>li>a:hover {
    background: none;
    text-decoration: underline;
    outline: none;
    color: var(--color-secondary);
}

a.navbar-brand:focus,
a.navbar-brand:hover {
    outline: none;
    color: var(--color-primary);

}


.navbar-brand{
    font-size: 1.2em;
    font-weight: 400;
    color: var(--color-secondary);
}



.navbar-collapse {
    box-shadow: none;
}


.navbar-nav>li>a {
    padding-right: 10px;
}



/*************** NAVBAR TOGGLE **************/
.navbar-toggle {
    background: none repeat scroll 0 0 transparent !important;
    border: medium none;
}

.navbar-toggle:hover {
    background: none repeat scroll 0 0 transparent !important;
}

.navbar-toggle .icon-bar {
    transition: all 0.2s ease 0s;
    width: 22px;
}

.navbar-toggle .top-bar {
    transform: rotate(45deg) translate(5px, 5px);
}

.navbar-toggle .middle-bar {
    opacity: 0;
}

.navbar-toggle .bottom-bar {
    transform: rotate(-45deg) translate(5px, -5px);
}

.navbar-toggle.collapsed .top-bar {
    transform: rotate(0deg);
}

.navbar-toggle.collapsed .middle-bar {
    opacity: 1;
}

.navbar-toggle.collapsed .bottom-bar {
    transform: rotate(0deg);
}




/********************* SECTION TITLE ****************/
.section-title {
    font-weight: 500;
    width: 100%;
    padding: .3em;
    font-size: 2em;
    color: var(--color-primary);
    vertical-align: central;
}


.section-title a {
    text-decoration: none;
    color: white;
}



/***** LIST ********/
.list-container {
    background: var(--color-secondary);
}

.list-container .list-item:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, .5);
}

.list-container .list-item {
    text-align: left;
    padding: .5em;
    font-size: 2em;
    line-height: .9em;
    font-weight: 500;
}

.list-container .list-item a {
    display: block;
    color: white;
    text-decoration: none;
    word-wrap: break-word;

}

.list-container .list-item a:hover,
.list-container .list-item a:focus {
    text-decoration: underline;
}

/**** CUSTOM CARD *****/
.custom-card-container {
    display: flex;
    flex-direction: column;
}

.custom-card {
    padding: 1.5em 1em;
    display: grid;
    grid-template-columns: 2fr 3fr;
    column-gap: 1em;
    grid-template-areas: 'title contents'
}

.custom-card a{
    color: inherit;
}

.custom-card-container .custom-card:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, .5);
}

.custom-card-contents {
    grid-area: contents;
    display: flex;
    flex-direction: column;
    gap: .5em;
}

.custom-card-title {
    grid-area: title;
    margin: 0;
    padding: 0;
    font-size: 2.5em;
    line-height: .9em;
    word-wrap: break-word;
    font-weight: 500;
}

.custom-card-details,
.custom-card-more {
    font-size: .8em;
    line-height: 1.4em;
}


.custom-card-more a {
    color: inherit;
}

.custom-card-more a:hover {
    text-decoration: underline;
}



/**** CUSTOM CARD MOSTRA *****/
.custom-card.mostra {
    grid-template-areas: 'luogo periodo'
        'title contents';
    row-gap: .7em;
}

.custom-card.mostra .mostra-luogo{
    grid-area: luogo;
    padding: 0;
    margin: 0;
    font-size: .7em;
}

.custom-card.mostra .mostra-periodo{
    grid-area: periodo;
    padding: 0;
    margin: 0;
    font-size: .7em;
}

.custom-card.mostra a{
    color: var(--color-tertiary);
}

.custom-card.mostra a:hover,
.custom-card.mostra a:focus{
    color: white;
}



/************************ CALENDARIO **************************/
#caledario-container {
    background: var(--color-primary);
    width: 100%;
}

#calendario-eventi {
    max-width: 1000px;
    margin: auto;
    color: white !important;
    font-size: 1em;
    padding: 1em 0.5em;

}

.bic_calendar {
    background: none;
    border: none;
}

.bic_calendar td {
    border: none !important;
    background: none;
}

.bic_calendar table {
    border: none !important;
}

.bic_calendar .days-month td {
    background: none;
}

.bic_calendar a {
    color: white;
}

tr.days-month>td {
    font-size: 0.7em;

}

.visualmonth {
}

td.day a {
    display: inline-block;
    border-radius: 4px;
    color: white;
    width: 100%;
}

td.day a:hover {
    background: var(--color-secondary);
}

td.day.today a{
    background: var(--color-quaternary);
    color: white;
}

td.day.today a:hover {
    color: white !important;
    background: var(--color-secondary);
}




/*********************** GENERIC PAGE WRAPPER ***********************/
.page-wrapper {
    padding: 1em;
    font-size: 1em;
}


/************************ FOOTER *************************/

footer {
    background: var(--color-primary-dark);
    color: white;
    padding: 1em;
    padding-top: 3em;
    display: flex;
    flex-direction: column;
    gap: 2em;
}

footer img {
    display: inline !important;
    width: 100%;
    max-width: 200px;
    opacity: 0.7;
    filter: grayscale(100%);
    transition: all 0.3s ease;
}

footer img:hover{
    opacity: 1;
    filter: none;
}


.footer-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2em;
    width: 80%;
    margin: 0 auto;
}

.footer-bottom {
    text-align: center;
    font-size: 0.6em;
}

.footer-img-wrapper {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}
footer a{
    color: white;
}

footer a:hover{
    color: white;
    text-decoration: underline;
}

/****** PAGE/INFO ******/
.page-info-layout{
    display: grid;
    grid-template-columns: 6fr 4fr;
    grid-template-areas: 'poster text';
}

.page-info-poster-area{
    grid-area: poster;
    background: var(--color-accent-2);
}


.page-info-text-area{
    grid-area: text;
    background: var(--color-secondary);
    padding: 2em;
    color: white;
}

.page-info-text-area img{
    max-width: 200px;
    min-width: 10px;
    width: 100%;
}

.page-info-text-area{
    font-size: .7em;
}

.page-info-text-area a{
    color: var(--color-tertiary);
}

.page-info-text-area a:hover,
.page-info-text-area a:focus{
    color: white;
}




/********************** COLORS ***********************/
.bg-custom-primary {
    background-color: var(--color-primary);
}

.bg-custom-secondary {
    background-color: var(--color-secondary);
}

.bg-custom-tertiary {
    background-color: var(--color-tertiary);
}

.text-custom-primary {
    color: var(--color-primary);
}

.text-custom-secondary {
    color: var(--color-secondary);
}

.text-custom-tertiary {
    color: var(--color-tertiary);
}

.bg-white {
    background: white;
}


.star-icon{
    width: 1.1em;
}


.bg-primary-dark{
    background-color: var(--color-primary-dark);
}


/******************* OVERRIDE DATEPICKER *************/
.ui-datepicker{
    margin: auto;
    border: none !important;
    background: transparent;
    outline: none;
    font-family: inherit;
    width: 100%;
    max-width: 1000px;
}

.ui-datepicker * {
    text-transform: uppercase;
}

.ui-state-default{
    background: transparent !important;
    color: white !important;
    border: none !important;
    text-align: center !important;
    border-radius: 4px;
}

.ui-datepicker th{
    color: white !important;
}


.ui-datepicker-header{
    background: transparent !important;
    border: none !important;
    color: white !important;
}

.ui-widget-header .ui-icon{
    filter: brightness(0) invert(1) !important;
    background-image: none !important;
}

.ui-state-hover{
    background: var(--color-tertiary) !important;
    color: var(--color-dark) !important;
}

.ui-state-active{
    background: var(--color-secondary) !important;
    color: white !important;
}
.ui-state-active:hover{
    color: white !important;
}
.ui-datepicker-next,
.ui-datepicker-prev{
    color: white !important;
    font-weight: 600;
    font-size: 1em;
    font-family: 'Glyphicons Halflings';
    cursor: pointer;
}

.ui-datepicker-next:hover,
.ui-datepicker-prev:hover{
    background: transparent !important;
    text-decoration: none !important;
    border: none !important;
}

.ui-datepicker-next:after{
    content: '\e080';
}

.ui-datepicker-prev:after{
    content: '\e079';

}

/************ TIMELINE DESIGNERS PAGE *************/
/* the main container */
.timeline {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
}

/* The actual timeline (the vertical ruler) */
.timeline::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: var(--color-primary);
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px;
}


/* Full-width containers */
.container {
    position: relative;
    width: 100%;
    padding-left: 70px;
    padding-right: 25px;
    margin-bottom: 5rem;
}

/* The circles on the timeline */
.container::after {
    content: '';
    position: absolute;
    width: 30px;
    height: 30px;
    left: 16px;
    background-color: var(--color-primary);
    top: 15px;
    border-radius: 50%;
    z-index: 1;
    text-align: center;
}


/* The actual content */
.content {
    padding: 10px 0 10px 20px;
    margin-top: 5px;
    background-color: white;
    position: relative;
}

/* Place the timelime to the left */
.timeline::after {
    left: 31px;
}


/************* COOKIE CHOICE BAR **************/
#cookieChoiceInfo
{
    position:fixed;
    width:100%;
    background-color:var(--color-primary);
    color:white;
    margin:0;
    left:0;
    bottom:0;
    padding:20px 20px 40px 20px;
    z-index:1000;
    font-size: .8em;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

#cookieChoiceDismiss{
    color: white;
}