@font-face {
    font-family: 'Neue Kabel Light';
    src:  url("../fonts/bf2d8f16-6bf7-4198-9c5c-4047935777a1.woff2") format('woff2')
}
@font-face {
    font-family: 'Neue Kabel';
    src:  url("../fonts/c2327bbe-b103-4a28-96d4-7069aea07a41.woff2") format('woff2')
}
@font-face {
    font-family: 'Neue Kabel Bold';
    src:  url("../fonts/750b062a-1d0a-4ba2-9a5b-571c7d4153ee.woff2") format('woff2')
}
html {
    --slide-duration: 5s; /* Default */
}
body {
    font-family: "Neue Kabel", serif;
    font-weight: 400;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background: #000;
}
a,a:hover {
    color: rgb(0, 128, 163);
}
h1 {
    font-family: "Neue Kabel Bold", serif;
    font-weight: 500;
}
h2 {
    font-family: "Neue Kabel Bold", serif;
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 700;
    margin-bottom: 20px;
}
.img-fluid {
    width: 100% !important;
}
.btn.btn-primary {
    max-width: 250px;
    width: 100%;
    background: rgb(0, 128, 163);
    border-color: rgb(0, 128, 163);
    border-radius: 0;
    padding: 15px 0;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-weight: 600;
    margin: 30px auto 0 auto;
    display: block;
    transition: all 0.3s ease;
}
.btn.btn-primary.left {
    margin: 30px auto 80px auto;
    max-width: 300px;
}
.btn.btn-primary:hover {
    background: rgb(255, 255, 255);
    color: rgb(0, 128, 163);
    border-color: rgb(0, 128, 163);
    text-transform: uppercase;
    letter-spacing: 4px;
}
.container {
    max-width: 1500px;
}
.container.page-content {
    background: rgb(166,207,218);
    background: linear-gradient(155deg, rgba(166,207,218,1) 0%, rgba(255,255,255,1) 45%);
    padding: 50px 15px;
    font-size: 20px;
}
header {
    padding-top: 10px;
}
.row .col-lg-6:last-child {
    padding-top: 15px;
}
.hero-wrapper {
    position: relative;
    height: 100%;
    padding-top: 70px;
}
.hero-wrapper .main-logo {
    position: absolute;
    left: 50%;
    top: 10px;
    transform: translatex(-50%);
}
.hero-wrapper .main-logo img {
	max-width: 250px;
}
.hero-wrapper .hero-image {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 290px;
}
footer {
    background: rgb(255,255,255);
    padding: 50px 15px;
}
footer h5 {
    font-size: 18px;
    font-weight: 700;
    margin: 5px 5px 5px 0;
}
footer address {
    font-style: normal;
    font-size: 14px;
}
.footer-wrapper {
    max-width: 80%;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.footer-wrapper .row:first-child {
    z-index: 2;
    position: relative;
}
.footer-wrapper .social a {
    width: 45px;
    height: 45px;
    -webkit-box-shadow: 0px 4px 3px 0px rgb(204, 204, 204);
    box-shadow: 0px 4px 3px 0px rgb(204, 204, 204);
    border-radius: 50%;
    display: block;
    background: #fff;
    transition: all 0.3s ease;
}
.footer-wrapper .social a:hover {
    background: #000;
}
.footer-wrapper .social li {
    display: inline-block;
    margin-left: 10px;
}
.footer-wrapper .social svg {
    width: 20px;
    height: 45px;
    text-align: center;
    margin: 0px auto;
    display: block;
}
.footer-wrapper .social a:hover svg path:first-child {
    fill: #fff;
}
.footer-wrapper .social a:hover svg path:nth-child(2) {
    fill: #000;
}
.sub-footer {
    border-top: 2px solid #ccc;
    padding: 25px 0;
    position: relative;
}

.sub-footer .list-unstyled {
    text-align: center;
}
.sub-footer .list-unstyled li {
    display: inline-block;
    margin-left: 0px;
    margin-right: 20px;
}
.text-block, .slider-block {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

/* From Adjustments */

.main-form {
    background: rgb(213, 213, 213);
    padding: 35px 50px;
    position: relative;
    -webkit-box-shadow: 0px 5px 3px 0px rgb(204, 204, 204);
    box-shadow: 0px 5px 3px 0px rgb(204, 204, 204);
}
.main-form .form-label {
    text-transform: uppercase;
}
.main-form .form-control {
    border: none;
    border-radius: 0;
    position: relative;
    border-bottom: 4px solid #ccc;
    height: 45px;
}
.main-form .form-control:focus {
    border-bottom: 1px solid #000000;
    box-shadow: none;
}
.main-form .legend {
    font-size: 14px;
    font-weight: 300;
}
.main-form .form-check-label {
    font-size: 16px;
    font-weight: 400;
}
.main-form .overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 9999;
    display: none;
    justify-content: center;
    align-items: center;
}
.main-form .overlay .spinner-border {
    width: 3.5rem;
    height: 3.5rem;
    color: rgb(0, 128, 163);
}

/* Slider Adjustments */

.swiper-container {
    width: 100%;
    height: 100%;
    padding-bottom: 60px;
}
.swiper-pagination-bullet {
    width: 50px;
    height: 50px;
}
.svg-circle-bg {
    fill: none;
    stroke: #fff;
    stroke-width: 14;
}
.swiper-pagination-bullet {
    width: 40px;
    height: 40px;
}
.swiper-pagination-bullet .svg-circle {
    fill: none;
    stroke: rgb(0, 128, 163);
    stroke-width: 1;
    stroke-linecap: round;
}
.swiper-pagination-bullet-active {
    background: rgb(0, 128, 163);
}
.swiper-pagination-bullet-active .svg-circle {
    animation: progress var(--slide-duration) ease-out forwards;
}

@keyframes progress {
    0% {
        stroke-dasharray: 0 100;
    }
    100% {
        stroke-dasharray: 100 100;
    }
}
.hero-image {
    position: relative;
}
.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding-bottom: 20px;
}
.hero-text {
    position: absolute;
    width: 100%;
    left: auto;
    top: 50%;
    transform: translatey(-50%);
}

.hero-text h1 {
    color: #fff;
    text-align: center;
    padding: 0 15px;
}
.sub-footer::before {
    content: "";
    position: absolute;
    width: 100%;
    max-width: 480px;
    right: 0;
    top: -270px;
    height: 270px;
	background: url("../imgs/pittogramma.svg");
	background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
	opacity: 0.1;
}
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

}

/* Medium devices (tablets, 768px and up) The navbar toggle appears at this breakpoint */
@media (min-width: 768px) {
    h2 {
        font-size: 40px;
    }
    .hero-wrapper .main-logo {
        top: 0px;
    }
    .text-block, .slider-block {
        max-width: 80%;
    }
    header {
        padding-top: 30px;
    }
    .sub-footer .list-unstyled {
        text-align: right;
    }
    .sub-footer .list-unstyled li {
        margin-left: 20px;
        margin-right: 0px;
    }

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .container.page-content .content {
        max-width: 450px;
    }
    .text-block, .slider-block {
        margin-top: 120px;
        text-align: left;
    }
    .btn.btn-primary.left {
        margin: 40px 0 0 0;
    }
    .footer-wrapper {
        text-align: left;
    }

    .sub-footer .list-unstyled {
        text-align: right;
    }
    .sub-footer .list-unstyled li {
        display: inline-block;
        margin-left: 20px;
    }
    .row .col-lg-6:last-child {
        padding-top: 0;
    }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

    .hero-row {
        padding-top: 30px;
    }

    .hero-text {
        position: absolute;
        top: 50%;
        left: 40px;
        bottom: auto;
        transform: translatey(-50%);
    }
    .hero-text h1 {
        text-align: left;
        font-weight: 400;
        color: #fff;
        font-size: 40px;
    }
    .hero-wrapper {
        padding-top: 30px;
    }
    .hero-wrapper .main-logo {
        position: absolute;
        left: 50px;
        transform: none;
        top: 5px;
    }
    .hero-wrapper .main-logo .logo-desktop {
        display: block;
    }
    .hero-wrapper .main-logo .logo-mobile {
        display: none;
    }
    .hero-wrapper .hero-image {
        max-width: 800px;
        min-height: 290px;
        background: none;
    }
    .main-form {
        padding: 45px;
        bottom: -100px;
    }
    .container {
        max-width: 1500px;
        padding-right: var(--bs-gutter-x,.75rem);
        padding-left: var(--bs-gutter-x,.75rem);
    }
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {

}