@import url("https://fonts.googleapis.com/css?family=Raleway:100,300,400,500,700,900");

/* RISOLVERE LE DIFFERENZE TRA TM-NAV-LINK E NAV-LINK!!!! */

/* General css properties */
:root {
    /* Color var (usage: var(--main-color))*/
    --main-color: #fafafa;
    --main-color-overlay-img: rgba(0, 0, 0, 0.5);
    --main-color-hover: #99484d;
    --text-shadow: #333;
    --text-color-white-bg: #fafafa;
    --semi-transparent-bg: rgba(255, 255, 255, 0.2);
    --chistmas-bg-color: #950009;
    /* Nelle immagini bisogna inserirgli il semitrasparente nero, per farlo da gimp basta creare un nuovo livello e poi riempirlo di nero con la trasparenza a 50 punti */
    --bg-snowflake: url(../img/icons/snowflakebg.svg);
    --bg-image-1: url(../img/backgrounds/background-img-1.jpg);
    --bg-image-2: url(../img/backgrounds/background-img-2.jpg);
    --bg-image-3: url(../img/backgrounds/background-img-3.jpg);
    --bg-image-1-mobile: url(../img/backgrounds/background-img-1-mobile.jpg);
    --bg-image-2-mobile: url(../img/backgrounds/background-img-2-mobile.jpg);
    --bg-image-3-mobile: url(../img/backgrounds/background-img-3-mobile.jpg);
}

body {
    font-family: "Raleway", sans-serif;
    font-size: 1.2em;
    color: var(--text-color-white-bg);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

p {
    line-height: 1.9;
}

a {
    transition: all 0.3s ease;
    color: var(--main-color);
}

@media(hover: hover) {
    a:hover {
        text-decoration: none;
        color: var(--main-color-hover);
    }
}
@media(hover: none) {
    a:hover {
        text-decoration: none;
        color: #FFF;
    }
}

a:focus {
    text-decoration: none;
    outline: none;
}

.section-padding-top {
    padding-top: 80px;
    padding-bottom: 40px;
}

.section-content-box {
    padding-top: 20px;
    padding-bottom: 40px;
}

.section-content-title {
    font-size: 2.6rem;
    font-weight: normal;
}

.section-content-title-purple {
    color: var(--main-color);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.section-content-text {
    width: 90%;
    font-size: 0.9rem;
    font-weight: bold;
}

.section-content-descr {
    font-size: 1.2rem;
}

.round-figure-item {
    max-width: 290px;
    display: block;
    color: var(--main-color);
}

.round-figure-item img {
    border-radius: 50%;
}



/* Back to top button */
.back-to-top {
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    border-radius: 20%;
    background: transparent;
    padding: 0.5rem;
    border: none;
    cursor: pointer;
    opacity: 100%;
    transition: opacity 0.5s;
    z-index: 10;
}

.back-to-top:hover {
    opacity: 100%;
}

.back-to-top-hidden {
    opacity: 0% !important;
}

.back-to-top-icon {
    width: 50px;
    height: 50px;
}



/* Navbar */
.tm-navbar {
    position: fixed;
    width: 100%;
    z-index: 1000;
    background-color: transparent;
    transition: all 0.3s ease;
}

.tm-navbar.scroll {
    background-color: var(--chistmas-bg-color);
    background-image: url(../img/snow.PNG);
    background-size: 100px;
    background-repeat: repeat-x;
    background-position: bottom;
}

.navbar-brand {
    color: #FFF;
    font-size: 1.4rem;
    font-weight: bold;
}

.navbar-brand:hover,
.tm-navbar.scroll .navbar-brand:hover {
    color: var(--main-color);
}

.tm-navbar.scroll .navbar-brand {
    color: var(--main-color);
}

.nav-item {
    list-style: none;
}

.nav-img {
    height: 4rem;
}

.tm-nav-link {
    color: #FFF;
}

.tm-navbar.scroll .tm-nav-link {
    color: #FFF;
}

.tm-navbar.scroll .tm-nav-link.current {
    color: #FFF;
    background-color: var(--main-color-hover);
}
/* hover effect manteneva il bottone della navbar cliccato in modalità tablet */
@media(hover: hover) {
    .tm-navbar.scroll .nav-hover:hover,
    .nav-hover:hover {
        color: #FFF;
        background-color: var(--main-color-hover);
    }
}

.navbar-toggler {
    border: 1px solid #FFF;
    padding-left: 10px;
    padding-right: 10px;
}

.navbar-toggler-icon {
    color: #FFF;
    padding-top: 6px;
}

.tm-navbar.scroll .navbar-toggler {
    border: 1px solid var(--main-color);
}

.tm-navbar.scroll .navbar-toggler-icon {
    color: var(--main-color);
}



/* Home */
#home {
    background-image: var(--bg-image-1);
    background-blend-mode: multiply;
    background-repeat: no-repeat;
    height: 100vh;
    min-height: 375px;
    position: relative;
}

.home-font-big {
    font-size: 1.25rem;
}

.home-text-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
}

.home-text-container-inner {
    margin-top: -90px;
}

.home-title {
    font-size: 5rem;
    text-shadow: 2px 2px 2px var(--text-shadow);
}

.home-subtitle {
    font-size: 2rem;
    text-shadow: 2px 2px 2px var(--text-shadow);
    margin-bottom: 5%;
}

.home-opening-table {
    width: fit-content;
    height: fit-content;
    position: absolute;
    bottom: 5%;
    left: 2%;
    border: 5px solid;
    font-size: 1.2rem;
    border-radius: 50px !important;
}

.home-opening-table-header {
    padding: 1rem 1rem 1rem 1rem;
    border-bottom: 1px solid;
    font-weight: bold;
}

.home-opening-table-row {
    padding: 0.5rem 1rem 0.5rem 1rem;
}



/* Informazioni negozio in prima pagina */
.contact-item {
    margin-left: 20px;
    margin-bottom: 25px;
    margin-top: 25px;
}

.contact-link-home {
    color: #FFF;
    align-items: center;
}

.contact-link-home:hover {
    color: var(--main-color);
}

.contact-link-home-bg {
    background-color: var(--semi-transparent-bg);
    border-radius: 50px;
}

.contact-link i,
.contact-link span {
    color: #FFF;
    transition: all 0.3s ease;
}

.contact-link:hover i,
.contact-link:hover span {
    color: var(--main-color-hover);
}



/* section 1 = prodotti */
#section1 {
    padding-bottom: 100px;
    background-image: var(--bg-snowflake);
    background-repeat: repeat;
    background-size: 100px 100px;
    background-color: var(--chistmas-bg-color);
}



/* section 2 = La Cantina */
#section2 {
    color: #FFF;
    background-image: var(--bg-image-2);
    background-size: cover;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
}

.section2-content {
    position: relative;
    background-color: var(--semi-transparent-bg);
    border-radius: 25px;
}



/* section3 = Gallery / festività */
#section3 {
    background-image: var(--bg-snowflake);
    background-repeat: repeat;
    background-size: 100px 100px;
    background-color: var(--chistmas-bg-color);
}
.gallery-container {
    padding-top: 30px;
}

.swiper-container {
    padding-bottom: 120px;
}



/* Swiper */
.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: var(--bs-tertiary);
    height: 100%;
    width: 100%;
    /* Center slide text vertically */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;

    vertical-align: middle;
}

/* modifica del css importato dello swiper */
.swiper-pagination-bullet{
    background: var(--swiper-pagination-bullet-inactive-color,#FFF) !important;
}

.swiper-slide .swiper-slide-overlay {
    background: rgba(0, 0, 0, 0.7);
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    -webkit-transition: all 0.4s ease-in-out 0s;
    -moz-transition: all 0.4s ease-in-out 0s;
    transition: all 0.4s ease-in-out 0s;
}

.swiper-slide:hover .swiper-slide-overlay {
    opacity: 1;
}

.swiper-slide-image {
    width: 100%;
}

.swiper-slide-details {
    position: absolute;
    text-align: center;
    padding-left: 1em;
    padding-right: 1em;
    width: 100%;
    top: 50%;
    left: 50%;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

.swiper-slide-details-mobile{
    display: none;
}

.swiper-slide:hover .swiper-slide-details {
    top: 50%;
    left: 50%;
    opacity: 1;
}

.swiper-slide-details h3 {
    color: #FFF;
    font-weight: 500;
    letter-spacing: 0.15em;
    margin-bottom: 0.5em;
    text-transform: uppercase;
    font-family: 'Raleway', sans-serif;
}

.swiper-slide-details p {
    color: #FFF;
    font-size: 0.8em;
    font-family: 'Raleway', sans-serif;
}

.fadeIn-top {
    top: 20%;
}

.fadeIn-left {
    left: 20%;
}



/* section4 = Dove siamo */
.map-google {
    width: 100%;
    height: 50vh;
    position: relative;
    background-color: #FFF;
    border-radius: 25px;
    padding: 2vh 2vh;
}

#section4 {
    color: #FFF;
    background-color: #001828;
    background-image: var(--bg-image-3);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 980px;
    position: relative;
    padding-bottom: 50px;
    padding-top: 100px;
}



/* Footer */
.page-footer {
    position: absolute;
    bottom: 35px;
    left: 0;
    right: 0;
    padding: 0 15px;
    color: #FFF;
    padding-bottom: 15px;
    padding-top: 15px;
    background-color: var(--semi-transparent-bg);
}



/* Media queries */
@media (min-height: 600px) and (min-width: 1920px) {
    #home {
        background-size: cover;
    }
}
@media (min-height: 830px) {
    #home {
        background-position: center -210px;
    }
}
@media (min-height: 680px) and (max-height: 829px) {
    #home {
        background-position: center -300px;
    }
}
@media (min-height: 500px) and (max-height: 679px) {
    #home {
        background-position: center -400px;
    }
}
@media (max-height: 499px) {
    #home {
        background-position: center -450px;
    }
}


@media (min-width: 768px) {
    .section-content-descr-container {
        padding-left: 0px;
    }
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 30px;
        padding-left: 30px;
    }
}
@media (min-width: 1200px) {
    .container {
        max-width: 1275px;
    }
    .gallery-container {
        max-width: 1290px;
    }
    .container-contact {
        max-width: 1063px;
    }
}


@media (max-width: 480px) {
    .gallery-container {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (max-width: 767px) {
    /* css per pagina principale su mobile */
    .home-text-container-inner {
        margin-top: 20px;
    }
    .home-opening-table {
        bottom: 0%;
        left: 0%;
        margin-top: 10px;
        position: inherit;
    }
    .contact-item {
        margin-left: 5px;
        margin-bottom: 5px;
        margin-top: 5px;
    }
    .navbar-nav {
        max-width: 200px;
        text-align: right;
    }
    .navbar-collapse {
        background-color: #FFF;
        padding: 10px;
        border-radius: 3px;
    }
    .navbar-collapse .nav-link {
        color: var(--chistmas-bg-color);
        padding-right: 20px;
    }
    .tm-navbar.scroll .tm-nav-link {
        color: var(--main-color-hover);
    }
}
@media (max-width: 991px) {
    .home-title {
        font-size: 3rem;
        text-shadow: 2px 2px 2px var(--text-shadow);
    }
    .home-subtitle {
        font-size: 1.25rem;
        text-shadow: 2px 2px 2px var(--text-shadow);
        margin-bottom: 5%;
    }
    .home-font-big {
        font-size: 1rem;
    }
    .section-content-descr-container {
        padding-left: 15px;
        padding-top: 30px;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    #section2 {
        background-image: var(--bg-image-2-mobile);
    }
    #section4 {
        background-image: var(--bg-image-3-mobile);
    }
    .swiper-slide-overlay{
        visibility: hidden;
    }
    .swiper-slide-details{
        visibility: hidden;
    }
    .swiper-slide-details-mobile{
        display: inline;
    }
}



/* Codice non usato, serve per fare un form di contatto con il bottone di submit. Placeholder gestisce il testo inserito nel form */
.contact-input {
    margin: 0 0 20px 0;
    width: 90%;
    padding: 8px 20px;
    border-radius: 6px;
    border: 1px solid #FFF;
    background: transparent;
    color: #FFF;
}

.contact-btn-submit {
    font-size: 0.9em;
    color: #FFF;
    background-color: var(--main-color);
    width: 50%;
    margin-bottom: 60px;
}

.contact-btn-submit:hover {
    color: #fff;
    background-color: var(--main-color-hover);
}

::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #FFF;
    opacity: 1;
    /* Firefox */
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #FFF;
}

::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #FFF;
}

@media (max-width: 991px) {
    .contact-btn-submit {
        margin-left: 0;
        margin-top: 20px;
    }
}
/* ---------- Fine del codice non usato per il form di contatto ---------- */