html,
body {
    height: 100%;
}

body {
    font-family: 'Indie Flower', cursive;
    font-family: 'Ubuntu', sans-serif;
    background-color: #f5f5f5;
}
body.login {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #f5f5f5;
}

header{
    background-color: #f5f5f5;
}

.featurette .innerLink{
    position: absolute;
    top: -145px;
}
.featurette:not(.pricing-header):target::before {
    content: '';
    display: block;
    height:      145px;
    margin-top: -145px;
}
.featurette{
    position: relative;
}

.nav-item a {
    padding: 0 10px;
}
.nav-item a.active:not(.btn){
    border-bottom: 3px solid var(--bs-red);
}

.nav-item a.active:not(.btn):hover{
    border-color: #bb2d3b;
}

.nav-item a.active.btn{
    color: white;
}


.h1-festa img{
    height: 100px;
    margin-right: 20px;
}


h1,h2,h3,h4,h5{
    font-family: 'Amatic SC', cursive;
}

a, a:visited {
    color: #dc3545;
    text-decoration: none;
}
a:hover{
    color: #bb2d3b;
    text-decoration: underline;
}

.navbar-toggler{
    border-color: #dc3545;
}
.navbar-toggler:focus{
    color: #dc3545;
    box-shadow: 0 0 0 0.1rem;
}

.nav-item a:hover {
    color: #bb2d3b !important;
}
a.link-menu-partecipa, a.link-menu-partecipa:hover{
    color: white !important;
}

a.link-menu-partecipa.btn-outline-danger {
    color: var(--bs-btn-color) !important;
}
a.link-menu-partecipa.btn-outline-danger:hover{
    color: var(--bs-btn-hover-color) !important;
}
a.link-menu-partecipa.btn-outline-danger.active {
    color: white !important;
}

h1, .h1-festa{
    font-family: 'Amatic SC', cursive;
    font-size: calc(2.3rem + 1.5vw);
    text-transform: lowercase;
}

#countdown *{
    font-family: 'Amatic SC', cursive;
    font-size: calc(2.3rem + 1.5vw);
}
#countdown span.label{
    font-size: calc(1rem + 1.5vw);
    padding-right: 10px;
}
#countdown span.separator{
    display: none;
}


body > .container{
    min-width: 300px;
}

.hidden{
    display: none !important;
}

/*
main.festa h2{
    margin-top: 50px;
}*/

main.festa > .featurette > div.row > div{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

h2.featurette-heading {
    font-size: 2.5rem;
    font-weight: bold;
}

h2.featurette-heading span{
    font-size: 2.3rem;
    font-weight: normal;
}

hr.featurette-divider{
    margin: 2rem 0;
}

p.lead{
    text-align: justify;
}

main.festa > .featurette > div.row > div > img.fst{
    align-self: center;
    padding: 0 20px;
    max-width: calc( min( 41vw, 400px ) );
    max-height: 300px;
}

add-to-calendar-button{
    align-self: center;
}

.atcb-button{
    box-shadow: none;
}

.form-signin {
    width: 100%;
    max-width: 330px;
    padding: 15px;
    margin: 0 auto;
}
.form-signin .checkbox {
    font-weight: 400;
}
.form-signin .form-control {
    position: relative;
    box-sizing: border-box;
    height: auto;
    padding: 10px;
    font-size: 16px;
}
.form-signin .form-control:focus {
    z-index: 2;
}
.form-signin input[type="email"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.home-icon span.when-active{
    display: none;
}

.home-icon span.when-not-active{
    display: inline;
}

.home-icon .active span.when-active{
    display: inline;
}

.home-icon .active span.when-not-active{
    display: none;
}

.container {
    max-width: 960px;
}

.pricing-header {
    min-height: max(750px, calc(100vh - 146px));
    /*max-width: 700px;*/
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
}

.pricing-header .intro-text{
    text-align: justify;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*
.pricing-header::before {
    max-width: 700px;
    background-image: url("/images/princess.png");
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 189px;
    content: "";
    position: absolute;
    right: 0;
    z-index: -1;
    height: 100%;
    display: block;
    width: 100%;
}

.pricing-header::after {
    background-image: url("/images/moto.png");
    content: "";
    background-position: bottom 0px left 0px;
    display: block;
    width: calc(100vw - 100px);
    height: 50vh;
    background-repeat: no-repeat;
    position: absolute;
    z-index: -1;
    background-size: 350px;
    bottom: 0;
    left: -100px;
    max-width: 960px;
}
*/

.card-deck .card {
    min-width: 220px;
}

.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }

.box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }

a.drunk{
    transition: 1s filter linear;
    -webkit-transition: 1s -webkit-filter linear;
    -moz-transition: 1s -moz-filter linear;
    -ms-transition: 1s -ms-filter linear;
    -o-transition: 1s -o-filter linear;
    filter: blur(1px);
    -o-filter: blur(1px);
    -ms-filter: blur(1px);
    -moz-filter: blur(1px);
    -webkit-filter: blur(1px);
}
a.drunk:hover{
    text-decoration: overline;
}
a.drunk.drunken{
    transition: 1s filter linear;
    -webkit-transition: 1s -webkit-filter linear;
    -moz-transition: 1s -moz-filter linear;
    -ms-transition: 1s -ms-filter linear;
    -o-transition: 1s -o-filter linear;
    filter: blur(0.5px);
    -o-filter: blur(0.5px);
    -ms-filter: blur(0.5px);
    -moz-filter: blur(0.5px);
    -webkit-filter: blur(0.5px);
}
a.drunk.drunken:hover{
    text-decoration: underline;
}
a.drunk.drunker{
    transition: 1s filter linear;
    -webkit-transition: 1s -webkit-filter linear;
    -moz-transition: 1s -moz-filter linear;
    -ms-transition: 1s -ms-filter linear;
    -o-transition: 1s -o-filter linear;
    filter: none;
    -o-filter: none;
    -ms-filter: none;
    -moz-filter: none;
    -webkit-filter: none;
}
a.drunk.drunker:hover{
    text-decoration: line-through;
}
a.drunk.drunker.drunken{
    transition: 1s filter linear;
    -webkit-transition: 1s -webkit-filter linear;
    -moz-transition: 1s -moz-filter linear;
    -ms-transition: 1s -ms-filter linear;
    -o-transition: 1s -o-filter linear;
    filter: blur(2px);
    -o-filter: blur(2px);
    -ms-filter: blur(2px);
    -moz-filter: blur(2px);
    -webkit-filter: blur(2px);
}
a.drunk.drunker.drunken:hover{
    text-decoration: line-through;
}

strike{
    filter: blur(0.5px);
    -o-filter: blur(0.5px);
    -ms-filter: blur(0.5px);
    -moz-filter: blur(0.5px);
    -webkit-filter: blur(0.5px);
    text-decoration-style: wavy;
    text-decoration-color: #ff0000b5;
}


#btt {
    display: none; /* Hidden by default */
    position: fixed; /* Fixed/sticky position */
    bottom: 20px; /* Place the button at the bottom of the page */
    right: 30px; /* Place the button 30px from the right */
    z-index: 99; /* Make sure it does not overlap */
    cursor: pointer; /* Add a mouse pointer on hover */
    font-size: 18px; /* Increase font size */
}

.row#iban {
    height: 0;
    transition: height ease 0.5s;
}

.row#iban{
    height: auto;
    transition: height ease 0.5s;
}

@media (max-width: 790px) {
    .h1-festa {
        font-family: 'Amatic SC', cursive;
        font-size: calc(2.1rem + 1.5vw);
        text-transform: lowercase;
    }
}

@media (max-width: 767px) {
    .nav-item {
        align-self: center;
        width: 75%;
        text-align: center;
    }

    .nav-item a {
        border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
        width: 100%;
    }

    .featurette .innerLink {
        top: -300px;
    }

    .h1-festa {
        font-size: calc(2rem + 3vw);
    }

    .h1-festa img {
        height: calc(50px + 5vw);
    }

    img.fst {
        max-width: 90vw !important;
        max-height: 300px !important;
    }
    .pricing-header .intro-text{
        height: calc(100vh - 400px);
        min-height: 400px;
    }

    .featurette p.lead,
    .pricing-header .intro-text{
        text-align: left;
    }
}

@media (max-width: 400px){
    #countdown .timer span.separator{
        display: block;
    }
    .h1-festa {
        font-size: calc(1rem + 3.7vw);
    }
}