/*
 *
 * PAMARCH
 * CSS - Francesco Iacovelli
 */

html {
    width: 100%;
    min-height: 100%;
    margin: 0px;
    float: left;
    padding: 0px;
    background-color: #fff;
    font-family: 'Montserrat', sans-serif;
    overflow-x: hidden;
}

body {
    border: none;
    padding: 0px;
    margin: 0px;
    width: 100%;
    min-height: 100vh;
    float: left;
    -webkit-text-size-adjust: 100%;
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
    color: #000;
    position: relative;
    overflow-x: hidden;
}

td {
    border: none;
    text-align: left;
    margin: 0px;
    padding: 0px;
}

div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
footer,
header,
nav,
article,
main,
aside,
section,
form,
fieldset {
    float: left;
    margin: 0px;
    padding: 0px;
    width: 100%;
    text-align: left;
    text-decoration: none;
    -webkit-text-size-adjust: 100%;
}

img {
    text-decoration: none;
    border: none;
    vertical-align: middle;
}

picture {
    object-fit: contain;
}

picture img {
    max-width: 100%;
    max-height: 100%;
}

svg {
    border: none;
    border-image-width: 0;
    stroke-width: 0px;
}

iframe {
    margin: 0px;
    padding: 0px;
    border: none;
}

video[poster] {
    height: 100%;
    object-fit: cover;
}

table,
td,
tr {
    margin: 0px;
    padding: 0px;
    border: none;
}

table {
    float: left;
}

label {
    cursor: pointer;
}

a {
    outline: none;
    text-decoration: none;
    /* color: #184059; */
    color: #20381E;
    cursor: pointer;
    transition: color 0.2s;
    -webkit-transition: color 0.2s;
}

li {
    outline: none;
}

i,
em,
.italic {
    font-style: italic;
    font-weight: inherit;
}

.underline {
    text-decoration: underline;
}

*:-placeholder {
    font-size: 14px;
    font-style: italic;
    color: #4d4d4d;
}

*::-webkit-input-placeholder {
    font-size: 14px;
    font-style: italic;
    color: #4d4d4d;
}

*::-moz-placeholder {
    font-size: 14px;
    font-style: italic;
    color: #4d4d4d;
}

*:-moz-placeholder {
    font-size: 14px;
    font-style: italic;
    color: #4d4d4d;
}

*:-ms-input-placeholder {
    font-size: 14px;
    font-style: italic;
    color: #4d4d4d;
}

button::-moz-focus-inner {
    border: 0;
}

a:focus {
    outline: none;
}

input:focus:-webkit-input-placeholder {
    color: transparent;
}

input:focus:-moz-placeholder {
    color: transparent;
}

input:focus:-ms-input-placeholder {
    color: transparent;
}

input,
textarea,
select,
button {
    outline: none;
    border: none;
    padding: 0px;
    -webkit-border-radius: 0px;
}

select {
    -webkit-appearance: none;
    background-image: url(data:image/png;base64,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czp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTgtMDctMjdUMDc6NTY6NDctMDc6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTA3LTI3VDA3OjU5OjA4LTA3OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTA3LTI3VDA3OjU5OjA4LTA3OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9IkRpc3BsYXkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OWVmMTg3ZTUtMWVmNy00NzlhLWE1Y2QtMmVkMTE5NjQ2Y2ZmIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MTRmNTk5YTMtYTc1Zi05NDQxLTk3ZDQtMmY3OTNjNWQ3NTI3IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6M2FmYmY3ZWYtNWFiOS00MTk4LWFjODUtNzY2NzE2NDk2ODM1Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozYWZiZjdlZi01YWI5LTQxOTgtYWM4NS03NjY3MTY0OTY4MzUiIHN0RXZ0OndoZW49IjIwMTgtMDctMjdUMDc6NTY6NDctMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5ZWYxODdlNS0xZWY3LTQ3OWEtYTVjZC0yZWQxMTk2NDZjZmYiIHN0RXZ0OndoZW49IjIwMTgtMDctMjdUMDc6NTk6MDgtMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pr46tjAAAACBSURBVCjPY/j//z8DOgaCVVjFsSgMB2IQIxuvYiBgBuJHUMXfgVgCn+I+qEIYXoxVMRBYoymEYX9sio/hUHz79+/fCMVAUIxDIQy3Q9UxyAPxPwKKQdgEHKZAfI4IvJ8BW+DjwoNFMUkeJCnoSIoUkqOb5IREUhIlOfGTlK0IZVgAkODRpD7i30MAAAAASUVORK5CYII=);
    background-position: calc(100% - 10px) 50%;
    background-repeat: no-repeat;
    background-size: 5px 11px;
    background-color: transparent;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=date] {
    -moz-appearance: textfield;
}

button {
    cursor: pointer;
    -webkit-appearance: none;
    background-color: transparent;
    /*    font-family: 'Montserrat', sans-serif;*/
    font-family: proxima-nova, sans-serif;
    outline: none;
    text-decoration: none;
    color: #184059;
    font-size: 15px;
    line-height: 20px;
    text-align: left;
    transition: color 0.2s;
    -webkit-transition: color 0.2s;
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
    -webkit-border-radius: auto;
    vertical-align: middle;
}

input[type="radio"] {
    vertical-align: middle;
}

input[type=submit] {
    -webkit-border-radius: 0px;
    -webkit-appearance: none;
}

.hidden {
    display: none;
}

.over_hidden {
    overflow: hidden;
}

.block,
.desktop {
    display: block;
}

.opacity_0 {
    opacity: 0;
}

.opacity_03 {
    opacity: 0.3;
}

.opacity_06 {
    opacity: 0.6;
}

.inline-block {
    display: inline-block;
}

.inline-desktop {
    display: inline;
}

.table {
    display: table;
    float: none;
    table-layout: fixed;
}

.table-cell {
    display: table-cell;
    float: none;
    vertical-align: middle;
}

.table-row {
    display: table-row;
    float: none;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.pointer {
    cursor: pointer;
}

.link-disabled {
    cursor: default;
}

.wait {
    cursor: wait;
}

.left {
    float: left;
}

.right {
    float: right;
}

.none {
    float: none;
}

.clear {
    clear: both;
}

.v_top {
    vertical-align: top;
}

.text_top {
    vertical-align: text-top;
}

.v_middle {
    vertical-align: middle;
}

.v_bottom {
    vertical-align: bottom;
}

.m_auto {
    margin: 0px auto
}

.mb_0 {
    margin-bottom: 0px;
}

.mb_1 {
    margin-bottom: 1px;
}

.w_auto {
    width: auto;
}

.max_w_100pe {
    max-width: 100%;
}

.w_33pe {
    width: 33.333333%;
}

.maxw_100pe {
    max-width: 100%;
}

.row-reverse {
    flex-flow: row-reverse;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.text-truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.extralight {
    font-weight: 100;
}

.light {
    font-weight: 200;
}

.normal {
    font-weight: 400;
}

.medium {
    font-weight: 500;
}

.bold,
strong,
b {
    font-weight: bold;
}

.extrabold {
    font-weight: 900;
}

.style-normal {
    font-style: normal;
}

.strike {
    text-decoration: line-through;
}

.letter-spacing {
    letter-spacing: 2px;
}

/*.text-shadow {
     text-shadow: 0px 0px 15px rgb(0 0 0 / 10%);
 }*/
.black,
.nero {
    color: black;
}

.white,
.bianco {
    color: #FFFFFF;
}

.red {
    color: red;
}

.grigio {
    color: #e5e5e5;
}

.bg-grigio {
    background-color: #e5e5e5;
}

.bg-grigio-chiaro {
    background-color: #fafafa;
}

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

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

.box-shadow {
    -webkit-box-shadow: 0px 0px 25px -5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 0px 25px -5px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 0px 25px -5px rgba(0, 0, 0, 0.75);
}

.verde {
    color: #20381E;
}

.cover {
    background-size: 100% 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.uppercase {
    text-transform: uppercase;
}

.two-column {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
}

/* override leaflet */

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
    border: none !important;
}

.second-lvl {
    background-color: white;
    padding: 0px 10px;
    box-sizing: border-box;
    width: 350px;
    position: absolute;
    top: 68px;
    display: block;
}

.second-lvl.closed {
    display: none;
}

/* homepage */

.main-menu-cont {
    width: 100%;
    height: 80px;
    background-color: white;
    z-index: 999;
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0px;
}

.hp-slider {
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
    height: 100%;
}

.hp-slider-arrow {
    position: absolute;
    height: 100%;
    width: auto;
    font-size: 40px;
    line-height: 40px;
    top: 0px;
    z-index: 999;
}
#hp-slider-arrow-prev {
    left: 0px;
    color: #fff;
    padding: 10px 20px;
    box-sizing: border-box;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
}

#hp-slider-arrow-next {
    right: 0px;
    color: #fff;
    padding: 10px 20px;
    box-sizing: border-box;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
}

.tns-controls {
    position: absolute;
    top: calc(50% - 20px);
    left: 0px;
    height: 60px;
    z-index: 9;
}

.slider-title {
    position: absolute;
    top: calc(50% - 20px);
    left: 0px;
    height: 60px;
}

.slider-title h1 {
    text-align: center;
    font-size: 45px;
    line-height: 60px;
    color: #fff;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
}

.hp-top-social {
    text-align: center;
}

.hp-top-social i {
    font-size: 20px;
    line-height: 30px;
    color: #fff;
    padding: 0px 5px;
    box-sizing: border-box;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);

}

.slider-cta {
    position: absolute;
    bottom: 50px;
}

.slider-cta .form-input {
    width: calc(80% - 15px);
    margin-right: 10px;
    margin-bottom: 0px;
}

.slider-cta button {
    width: 20%;
}

.slider-cta .custom-link {
    width: 100%;
    margin-top: 10px;
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
}


#login-register .hp-slider {
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

.main-menu {
    padding: 0px 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#menu-logo {
    width: auto;
}

#menu-logo a {
    display: block;
    float: left;
    width: 100%;
}

#menu-logo img {
    height: 80px;
    width: auto;
    float: left;
    padding: 10px 0px;
    box-sizing: border-box;
}

.main-menu-nav {
    width: auto;
    position: relative;
    line-height: 60px;
    padding: 10px 0px;
    box-sizing: border-box;
}

.menu-item {
    display: inline-block;
    font-size: 15px;
    text-transform: uppercase;
    position: relative;
    min-width: 100px;
}

.menu-item a {
    display: block;
    padding: 3px 10px;
    box-sizing: border-box;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    text-align: center;
}

.menu-toggle {
    display: none;
}

.menu-item a.sel {
    border-top: 2px solid #20381E;
    box-sizing: border-box;
    font-weight: bold;
}

.login-btn-cont {
    width: auto;
    line-height: 80px;
}

.login-mobile {
    display: none;
}

.forms-container {
    width: 600px;
    margin: auto;
    float: none;
    margin-top: 180px;
    margin-bottom: 90px;
    padding: 20px;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 50px;
}

.btn {
    width: 150px;
    background-color: #20381E;
    color: white;
    text-align: center;
    border-radius: 50px;
    height: 40px;
    line-height: 40px;
}

.page {
    width: 1280px;
    margin: auto;
    float: none;
    padding: 100px 0px 0px 0px;
    box-sizing: border-box;
}

.content-row-text-right,
.content-row-text-left {
    margin-top: 40px;
    min-height: 250px;
}

.text-left-cont {
    width: 50%;
    text-align: left;
    box-sizing: border-box;
    padding-right: 20px;
}
.img-right-cont {
    width: 50%;
}
.img-right-cont img {
    width: 90%;
    float: right;
    height: auto;
    border-radius: 20%;
}

.text-left-cont h2,
.text-right-cont h2 {
    font-size: 23px;
    line-height: 25px;
    font-weight: bold;
    color: #20381E;
    margin-bottom: 10px;
}

.text-right-cont {
    width: 50%;
    text-align: right;
    box-sizing: border-box;
    padding-left: 20px;
}
.img-left-cont {
    width: 50%;
}
.img-left-cont img {
    width: 90%;
    float: left;
    height: auto;
    border-radius: 20%;
}
.text-center-cont h2 {
    font-size: 30px;
    line-height: 35px;
    font-weight: bold;
    color: #20381E;
    margin-bottom: 10px;
}

.card-flexed-cont {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.card-item {
    width: calc(33.33% - 20px);
    margin-bottom: 20px;
    box-sizing: border-box;
    padding: 20px;
}

.card-img img {
    width: 100%;
    height: auto;
    border-radius: 20%;
}

.card-img {
    position: relative;
}

.card-title {
    font-size: 18px;
    line-height: 20px;
    font-weight: bold;
    margin: 10px 0px;
}

.discover-more {
    position: absolute;
    bottom: 25px;
    left: 50px;
    color: #FFF;
    font-size: 18px;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}

.card-text {
    font-size: 12px;
    line-height: 15px;
}

.card-bg {
    background-color: #20381E;
    color: #fff;
    margin-top: 10px;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 50px;
    height: 200px;
}


main {
    min-height: calc(100vh - 90px);
}

footer {
    width: 100%;
    min-height: 200px;
    background-color: #20381E;
    position: relative;
}

.form-input {
    width: 100%;
    height: 40px;
    border: 1px solid #ccc;
    border-radius: 50px;
    padding: 0px 20px;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.generic-page-content {
    margin-top: 40px;
    margin-bottom: 80px;
}

.half-page-70 {
    width: 70%;
    float: left;
    box-sizing: border-box;
}

.half-page-30 {
    width: 30%;
    float: right;
    box-sizing: border-box;
    padding: 0px 20px;
}

.generic-page-title {
    font-size: 25px;
    line-height: 30px;
    color: #20381E;
    font-weight: bold;

}
.sito-on-gmaps {
    margin-top: 100px;
    font-weight: bold;
}


/* override mappa */
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
    width: 300px!important;
}
.leaflet-popup-tip-container {
    width: 40px!important;
    height: 20px!important;
    position: absolute!important;
    left: calc(50% - 10px)!important;
    margin-top: 0px!important;
    margin-left: 0px!important;
    overflow: hidden!important;
    pointer-events: none!important;
    bottom: -19px!important;
}
.pre-footer-logo-big img{
    height: auto;
    width: 100%;
    z-index: 0;
}
.footer-loghi span{
    width: 100%;
    display: block;
    float: left;
}

.footer-loghi img {
    height: 100px;
    width: auto;
}

.footer-info-item{
    width: 25%;
    float: left;
    box-sizing: border-box;
    padding: 0px 20px;
    color: #fff;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
}

.footer-info-item h3{
    font-weight: bold;
    font-size: 20px;
    line-height: 35px;
}

.footer-info-item p{
    font-size: 15px;
    line-height: 25px;
}


.footer-info-item a{
    color: #fff;
}

.social-footer span {
    width: 40px;
    height: 40px;
    display: block;
    float: left;
    margin-top: 10px;
}

.social-footer i{
    color: #fff;
    font-size: 20px;
}



.half-page-right {
    width: 50%;
    float: left;
    box-sizing: border-box;
    padding: 0px 20px;
}

.half-page-left {
    width: 50%;
    float: left;
    box-sizing: border-box;
    padding: 0px 20px;
}

.contact-map span{
    width: 100%;
    height: 500px;
    display: block;
    float: left;
}

.contact-title {
    font-size: 20px;
    line-height: 25px;
}

.contacts-info {
    font-size: 15px;
    line-height: 20px;
}

/* Gallery */

.tris-gallery{
    margin-bottom: 40px;
}

.gallery-item{
    background-position: center center;
    background-size: cover;
    width: calc((100% / 3) - 10px);
    height: 420px;
    margin-right: 10px;
    margin-bottom: 10px;
    display: block;
    float: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.gallery-item:nth-child(3n){
    margin-right: 0px;
    width: 33.333333333%;
}
.gallery-item img{
    width: 100%;
    height: auto;
}


.pubblicazioni-cont h2 {
    margin-bottom: 40px;
    margin-top: 40px;
}

.pubblicazioni-cont .pubb-testo {
    margin-top: 20px;
}

.pubblicazioni-cont .img-right-cont img {
    width: 70%;
}

.second-lvl-item a.sel {
    border-top: unset;
}




@media only screen and (min-width:320px) and (max-width:767px) { 


    #login-register .hp-slider {
        width: 100%;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        position: relative;
        overflow: hidden;
        padding: 0px 20px;
        box-sizing: border-box;
    }

    .forms-container {
        width: 100%;
        margin-top: 100px;
        margin-bottom: 100px;
    }

    .page {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }

    .content-row-text-right, .content-row-text-left {
        margin-top: 20px;
    }
    .text-left-cont {
        width: 100%;
        box-sizing: border-box;
        padding-right: 0px;
    }

    .img-right-cont,
    .img-left-cont {
        width: 100%;
        box-sizing: border-box;
        margin-top: 20px;
        text-align: center;
    }
    .img-right-cont img {
        width: 90%;
        float: unset;
        height: auto;
        border-radius: 20%;
    }
    .img-left-cont img {
        width: 90%;
        float: unset;
        height: auto;
        border-radius: 20%;
    }
    .text-right-cont {
        width: 100%;
        text-align: left;
        box-sizing: border-box;
        padding-left: 0px;
        margin-top: 20px;
    }
    .text-right-cont .text-right {
        text-align: left;
    }

    .card-flexed-cont {
        margin-top: 30px;
    }
    .card-item {
        width: 100%;
        margin-bottom: 40px;
        box-sizing: border-box;
        padding: 0px;
    }


    .footer-info-item {
        width: 100%;
    }
    .footer-loghi span {
        width: 50%;
        display: inline-block;
        margin-left: 0px;
    }
    .footer-loghi span:last-child {
        text-align: right;
    }

    .main-menu {
        display: block;
        padding: 0px;
        background-color: #fff;
    }
    #menu-logo {
        width: auto;
        margin-left: 20px;
    }

    .menu-toggle {
        display: block;
    }

    .main-menu-nav {
        line-height: 60px;
        padding: 0px 20px;
        box-sizing: border-box;
        background-color: #fff;
        width: 100%;
        height: 100%;
        z-index: 999;
        position: relative;
        top: 0px;
        display: block;
        left: 0px;
        height: calc(100vh - 90px);
    }
    .menu-item {
        display: inline-block;
        font-size: 15px;
        text-transform: uppercase;
        position: relative;
        min-width: 100px;
        width: 100%;
    }
    .menu-item a.sel {
        border-top: unset;
        box-sizing: border-box;
        font-weight: bold;
    }
    .main-menu-nav.closed {
        display: none;
    }


    .login-btn-cont {
        display: none;
    }
    .login-mobile {
        display: block;
    }

    .second-lvl {
        position: static;
    }

    .menu-toggle {
        width: auto;
        float: right;
        padding: 30px;
        position: absolute;
        right: 0px;
        top: 0px;
    }
    .menu-toggle i {
        font-size: 20px;
        line-height: 20px;
    }

    main {
        margin-top: 80px;
    }

    .half-page-70 {
        width: 100%;
        float: left;
    }
    .half-page-30 {
        width: 100%;
        float: left;
        padding: 0px;
        margin-top: 40px;
    }

    .half-page-left {
        width: 100%;
        padding: 0px;
    }
    .half-page-right {
        width: 100%;
        padding: 0px;
        margin-top: 20px;
    }
    .sito-on-gmaps {
        margin-top: 50px;
    }
    .pre-footer-logo-big {
        margin-top: -40px;
        z-index: 100;
        position: relative;
    }


    .hp-slider {
        height: calc(100vh - 100px);
    }

    .slider-title {
        top: calc(50% - 100px);
    }
    .tns-controls {
        top: calc(50% - 100px);
    }

    .gallery-item{
        height: 250px;
        width: 100%;
    }
    .gallery-item:nth-child(3n) {
        margin-right: 0px;
        width: 100%;
    }

    .pubblicazioni-cont h2 {
        margin-bottom: 40px;
        margin-top: 0px;
    }



}










/* HOVER */
@media only screen and (min-width:1025px) and (max-width:10000px) {      

    .menu-item a:hover {
        border-top: 3px solid #20381E;
        box-sizing: border-box;
        font-weight: bold;
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .second-lvl-item a:hover {
        border-top: unset;
    }

    .footer-info-item a:hover{  
        font-weight: bold;
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .discover-more:hover {
        color: #20381E;
        font-weight: bold;
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .custom-link:hover {
        color: #20381E;
        font-weight: bold;
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }
}








