.last-col {
    float: right;
    padding-right: 0 !important
}

.flex-container,
.fullwidth {
    display: flex;
    flex-flow: row wrap;
    align-items: center
}

.flex-child {
    margin: 0 auto
}

.floating-left,
.fullwidth,
.column10,
.column15,
.column20,
.column25,
.column33,
.column40,
.half-row,
.column60,
.column66,
.column70,
.column75 {
    float: left
}

.fullwidth {
    width: 100%
}

.column10 {
    width: 10%
}

.column15 {
    width: 15%
}

.column20 {
    width: 20%
}

.column25 {
    width: 25%
}

.column33 {
    width: 33%
}

.column40 {
    width: 40%
}

.half-row {
    width: 50%
}

.column60 {
    width: 60%
}

.column66 {
    width: 66%
}

.column70 {
    width: 70%
}

.column75 {
    width: 75%
}

body {
    font-family: 'Raleway', Helvetica, Arial, sans-serif;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0
}

a {
    text-decoration: none
}

header {
    background-color: #ab4d99;
    width: 100%;
    height: 90px;
    padding-top: 5px;
    padding-right: 0;
    padding-bottom: 5px;
    padding-left: 0
}

main {
    height: calc(100vh - 140px)
}

form {
    justify-content: flex-end
}

input,
.submit-button {
    flex: 0 0 25%;
    height: 30px;
    border: 0px;
    color: #a3a7b0;
    padding-top: 0px;
    padding-right: 20px;
    padding-bottom: 0px;
    padding-left: 20px;
    font-size: 16px;
    font-size: 1rem;
    margin-right: 2%;
    font-family: 'Raleway', Helvetica, Arial, sans-serif
}

.submit-button {
    background-color: #259dab;
    margin-right: 0px;
    flex: 0 0 20%;
    color: #fff;
    font-weight: bold;
    -webkit-transition: all 0.4s ease-in;
    -moz-transition: all 0.4s ease-in;
    -ms-transition: all 0.4s ease-in;
    -o-transition: all 0.4s ease-in;
    transition: all 0.4s ease-in
}

.submit-button:hover {
    background-color: #fff;
    color: #ab4d99
}

.container {
    max-width: 1440px;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto
}

.logo {
    flex: 0 0 10%;
    max-height: 90px
}

.logo img {
    max-height: 90px
}

.login {
    flex: 0 0 80%
}

.info {
    flex: 0 0 20%;
    text-align: right
}

.info a {
    color: #ab4d99;
    font-size: 32px;
    font-size: 2rem;
    padding-top: 25px;
    padding-right: 35px;
    padding-bottom: 25px;
    padding-left: 35px;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    -ms-border-radius: 60px;
    border-radius: 60px;
    font-weight: bold;
    background-color: #fff;
    -webkit-transition: all 0.4s ease-in;
    -moz-transition: all 0.4s ease-in;
    -ms-transition: all 0.4s ease-in;
    -o-transition: all 0.4s ease-in;
    transition: all 0.4s ease-in
}

.info a:hover {
    background-color: #259dab;
    color: #fff
}

aside,
#map {
    padding-top: 60px;
    padding-right: 0px;
    padding-bottom: 60px;
    padding-left: 0px
}

aside {
    flex: 0 0 calc(30% - 60px);
    padding-top: 0px;
    padding-right: 30px;
    padding-bottom: 0px;
    padding-left: 30px
}

aside form {
    flex-flow: column !important
}

aside input {
    border: 1px solid #a3a7b0;
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px
}

aside select {
    width: 100%;
    border: 1px solid #a3a7b0;
    border-radius: 0px !important;
    height: 40px
}

aside label {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
    margin-left: 0px;
    font-size: 14px;
    font-size: .875rem
}

aside .submit-button:hover {
    background-color: #ab4d99;
    color: #fff
}

aside .check {
    margin-top: 30px;
    margin-right: 10px;
    margin-bottom: 0px;
    margin-left: 0px
}

aside .privacy-text {
    font-size: 12px;
    font-size: .75rem;
    text-align: justify
}

#map {
    flex: 0 0 70%
}

#map img {
    width: 100%;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 20px;
    margin-left: 0px
}

#map p {
    color: #259dab;
    font-size: 20px;
    font-size: 1.25rem;
    text-align: center;
    margin-top: 20px;
    margin-right: 0px;
    margin-bottom: 20px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 30px;
    padding-bottom: 0px;
    padding-left: 30px
}

footer {
    background-color: #259dab;
    color: #fff;
    height: 40px
}

footer .flex-container,
footer .fullwidth {
    justify-content: space-between
}

.legal,
.footer-menu {
    flex: 0 0 40%;
    font-size: 12px;
    font-size: .75rem
}

.footer-menu {
    text-align: right
}

.footer-menu a {
    color: #fff;
    -webkit-transition: all 0.4s ease-in;
    -moz-transition: all 0.4s ease-in;
    -ms-transition: all 0.4s ease-in;
    -o-transition: all 0.4s ease-in;
    transition: all 0.4s ease-in;
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px
}

.footer-menu a:hover {
    background-color: #ab4d99
}

.uovo_vettoriale{
    width:80px;
    height:80px;
}

@media only screen and (max-width: 479px) {
    
    .info {
        display: none
    }
    .logo {
        flex: 0 0 100%;
        text-align: center
    }
    main {
        height: auto;
        padding-top: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        padding-left: 20px
    }
    #map {
        order: 1;
        flex: 0 0 100%
    }
    #map p {
        font-size: 16px;
        font-size: 1rem
    }
    aside {
        order: 2;
        flex: 0 0 calc(100% - 60px)
    }
    .check {
        width: auto
    }
    footer {
        height: auto;
        padding-top: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        padding-left: 20px;
        text-align: center
    }
    footer .legal,
    footer .footer-menu {
        flex: 0 0 100%
    }
    footer .legal {
        order: 2
    }
    footer .footer-menu {
        order: 1
    }
}


@media screen and (max-width:767px){
     .uovo_vettoriale{
        width:60px !important;
        height:60px !important;
    }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
    
    .info {
        display: none
    }
    .logo {
        flex: 0 0 100%;
        text-align: center
    }
    main {
        height: auto;
        padding-top: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        padding-left: 20px
    }
    #map {
        order: 1;
        flex: 0 0 100%
    }
    #map p {
        font-size: 16px;
        font-size: 1rem
    }
    aside {
        order: 2;
        flex: 0 0 calc(100% - 60px)
    }
    .check {
        width: auto
    }
    footer {
        height: auto;
        padding-top: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        padding-left: 20px;
        text-align: center
    }
    footer .legal,
    footer .footer-menu {
        flex: 0 0 100%
    }
    footer .legal {
        order: 2
    }
    footer .footer-menu {
        order: 1
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    header {
        padding-top: 5px;
        padding-right: 20px;
        padding-bottom: 5px;
        padding-left: 20px
    }
    .logo {
        flex: 0 0 10%
    }
    .login {
        flex: 0 0 70%
    }
    .login input {
        padding-top: 0px;
        padding-right: 10px;
        padding-bottom: 0px;
        padding-left: 10px
    }
    .info {
        flex: 0 0 10%
    }
    .info a {
        padding-top: 15px;
        padding-right: 20px;
        padding-bottom: 15px;
        padding-left: 20px;
        font-size: 16px;
        font-size: 1rem
    }
    main {
        padding-top: 0px;
        padding-right: 20px;
        padding-bottom: 0px;
        padding-left: 20px
    }
    #map {
        padding-top: 0px;
        flex: 0 0 65%
    }
    aside .privacy-text {
        font-size: 10px;
        font-size: .625rem
    }
    aside .check {
        width: auto
    }
    footer {
        padding-top: 0px;
        padding-right: 20px;
        padding-bottom: 0px;
        padding-left: 20px
    }
    footer .legal,
    footer .footer-menu {
        font-size: 10px;
        font-size: .625rem
    }
    footer .legal {
        flex: 0 0 50%
    }
}

@media only screen and (min-width: 1024px) and (max-width: 1239px) {
    header {
        padding-top: 5px;
        padding-right: 20px;
        padding-bottom: 5px;
        padding-left: 20px;
        width: calc(100% - 40px)
    }
    aside .check {
        width: auto
    }
    footer {
        padding-top: 0px;
        padding-right: 20px;
        padding-bottom: 0px;
        padding-left: 20px;
        width: calc(100% - 40px)
    }
    footer .legal {
        flex: 0 0 50%
    }
}

@media only screen and (min-width: 1240px) {
    header {
        padding-top: 5px;
        padding-right: 20px;
        padding-bottom: 5px;
        padding-left: 20px;
        width: calc(100% - 40px)
    }
    aside .check {
        width: auto
    }
    footer {
        padding-top: 0px;
        padding-right: 20px;
        padding-bottom: 0px;
        padding-left: 20px;
        width: calc(100% - 40px)
    }
    footer .legal {
        flex: 0 0 50%
    }
}