a:hover, a:focus {
    color: #000000;
    text-decoration: none;
}
a.side-menu-button,
nav.main-navigation ul li ul.sub-menu li a,
nav.main-navigation ul a,
nav.responsive-menu ul li .sub-menu a,
nav.responsive-menu a {
    font-family: 'Montserrat', sans-serif;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 93.75%;
}

body {
    font-family: 'Roboto', sans-serif;
    /*color: #777777;*/
    color: #444;
}

/* HEADER fisso: serve un padding-top per non nascondere il contenuto sotto
   all'header (alto 100px). Lo applichiamo a #page (wrapper della nostra
   ecampus.master) e NON al body, così le pagine che usano una master diversa
   senza #page (MasterPageIframe in /ent/home/search/, dialog, anteprima
   annuncio, modali, ecc.) non subiscono il padding e il loro layout parte
   attaccato in alto senza fascia di sfondo scoperta. Soluzione 100%
   retrocompatibile (selettore #id standard, niente :has()).
   La classe posizione-header-fissa sull'header garantisce il funzionamento
   del menu contestuale nel dettaglio annuncio (bachecaannunci.aspx). */
#page {
    padding-top: 100px;
}

/* non limito la larghezza del dettaglio annuncio */
#theForm.hiddenLau .masterPageContent {
    max-width: none;
}

section.padding-35px-top.no-padding-bottom {
    padding: 70px 0;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'Montserrat', sans-serif;
}

p {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 24px;
    /*color: #777777;*/
    color: #444;
    /* Criterio di successo 1.4.6 Contrasto (avanzato) (AAA) */
}

.site-header {
    border-top: 5px solid #245C84;
    /*position: relative;*/
    /*MOD HEADER FIXED*/
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 9999;
    /*9999 rimaneva sopra overlay creando confusione per la chiusura del lateral nav*/
    background-color: #ffffff;
    -webkit-transition: all 400ms;
    -moz-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
}

.site-header .header-info {
    overflow: hidden;
    border-bottom: 1px solid #f2f5f6;
}

.site-header .header-info ul {
    float: right;
    padding-bottom: 20px;
    padding-left: 0;
    list-style: none;
    /*MOD HEADER FIXED*/
    -webkit-transition: all 400ms;
    -moz-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
}

/*MOD HEADER FIXED*/
.site-header.scrolled-header .header-info ul {
    padding-bottom: 0px;
    margin-bottom: 0px;
}

.site-header .header-info ul li {
    display: inline-block;
    color: #777777;
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    letter-spacing: 0.1px;
    font-weight: 400;
    padding-left: 4px;
    padding-right: 4px;
    border-left: 1px solid #d4dee1;
}

/*@media (max-width: 991px) {
  .site-header .header-info ul li:nth-child(even){
    border-left: none;
  }
}*/
.site-header .header-info ul li em {
    margin-right: 5px;
    margin-left: 5px;
}

.site-header .header-info ul li:first-child {
    border-left: none;
}

.site-header .header-info ul li:last-child {
    border-left: none;
}

.site-header .header-info ul li:last-child a {
    background-color: #245C84;
    /*background-color: #245C84;*/
    /* colore OK per vincoli contrasto #245C84*/
    padding: 15px 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    color: #ffffff;
    letter-spacing: 2px;
    display: inline-block;
}

.site-header .main-header .logo {
    float: left;
    line-height: 130px;
    border-right: 1px solid #f2f5f6;
    padding-right: 50px;
    /*MOD HEADER FIXED*/
    -webkit-transition: all 400ms;
    -moz-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
}

/*MOD HEADER FIXED*/
.site-header.scrolled-header .main-header .logo {
    line-height: 95px;
}

@media (max-width: 991px) {
    .site-header .main-header .logo {
        padding-right: 20px;
        margin-right: 10px;
    }
}

.scrolled-header {
    /* background-color: rgba(250, 250, 250, 0.97); */
    background-color: rgba(250, 250, 250, 0.85);
    top: 0;
}

.scrolled-header:hover {
    background-color: rgba(250, 250, 250, 1);
}

.header-right-toggle {
    margin-top: 20px;
    /*margin-right: 20px;*/

    -webkit-transition: all 400ms;
    -moz-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
}

.header-right-toggle button {
    padding-left: 7px;
    margin-top: 25px;
    width: 36px;
    height: 36px;
    text-align: center;
    line-height: 36px;
    background-color: #245C84;
    display: inline-block;
}

button.side-menu-button {
    text-transform: uppercase;
    font-weight: 700;
    color: #ffffff;
}

button.side-menu-button em {
    margin-right: 6px;
}

nav.main-navigation {
    position: relative;
    display: block;
    z-index: 20;
    float: right;
}

nav.main-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

nav.main-navigation ul li {
    position: relative;
    display: inline-block;
    padding: 25px 10px;
}

/*MOD HEADER FIXED*/
.site-header.scrolled-header nav.main-navigation ul li {
    padding: 15px 10px;

}

.site-header.scrolled-header nav.main-navigation ul li ul.sub-menu li {
    padding: 5px 0px 5px 0px;
}

/*.site-header.scrolled-header nav.main-navigation ul li ul.sub-menu li:last-child{
  padding-bottom: 0px;
}*/
nav.main-navigation ul li ul.sub-menu {
    text-align: left;
    position: absolute;
    top: 100%;
    left: 0;
    width: 180px;
    /*background:#78A4BB;*/
    /*background: rgba(120, 164, 187, 0.9);*/
    background: rgba(36, 92, 132, 0.9);
    /*padding: 5px 0;*/
    visibility: hidden;
    opacity: 0;
    -moz-transform: translate3d(0, 30px, 0);
    -o-transform: translate3d(0, 30px, 0);
    -ms-transform: translate3d(0, 30px, 0);
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

nav.main-navigation ul li ul.sub-menu li {
    border-top: none;
    display: block;
    padding: 0;
    /*margin: 10px 0px 0px;*/
    padding-bottom: 10px;
    padding-top: 10px;
    border-bottom: 1px solid #E0EBF1;
}

nav.main-navigation ul li ul.sub-menu li a {
    color: #ffffff;
    font-size: 12px;
    font-weight: 400;
    margin: 5px 10px;
    display: block;
}

/* Criterio di successo 1.4.6 Contrasto (avanzato) (AAA) */

/*rgba(120, 164, 187, 0.65)*/
nav.main-navigation ul li ul.sub-menu li:hover {
    /*background-color: rgba(120, 164, 187, 1);*/
    background-color: #245C84;
    /* 44 12 161 */
}

/*
nav.main-navigation ul li ul.sub-menu li a:hover {
  color: #2f5d81;
}
*/
/* **************************************************** */
nav.main-navigation ul li ul.sub-menu li:last-child {
    float: none;
    /*padding-bottom: 0px;*/
    border-bottom: none;
}

nav.main-navigation ul li ul.sub-menu li.showall {
    margin: 0;
    padding-top: 5px;
    padding-bottom: 5px;
}

nav.main-navigation ul li ul.sub-menu li.showall a {
    margin: 0px 10px;
    text-transform: none;
    font-size: 11px;
    text-align: center;
}

nav.main-navigation ul li:hover ul.sub-menu {
    visibility: visible;
    opacity: 1;
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

nav.main-navigation ul a {
    font-size: 13px;
    color: #222222;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.3px;
}

nav.main-navigation ul a em {
    margin-left: 7px;
}

@media (min-width: 992px) and (max-width: 1200px) {
    nav.main-navigation ul a {
        padding: 10px 3px;
    }

    nav.main-navigation ul li ul.sub-menu li a {
        padding: 0px;
    }

    nav.main-navigation ul li,
    .site-header.scrolled-header nav.main-navigation ul li {
        padding: 10px 0;
    }
}

nav.main-navigation ul a:hover {
    color: #001C48;
}

nav.main-navigation ul li:last-child {
    float: right;
    padding: 0;
}

nav.main-navigation ul li:last-child em {
    margin-top: 29px;
}

/*MOD HEADER FIXED*/
.site-header.scrolled-header nav.main-navigation ul li:last-child em {
    margin-top: 0px;
}

#site-search {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    -webkit-transform: translate(0px, -100%) scale(0, 0);
    -moz-transform: translate(0px, -100%) scale(0, 0);
    -o-transform: translate(0px, -100%) scale(0, 0);
    -ms-transform: translate(0px, -100%) scale(0, 0);
    transform: translate(0px, -100%) scale(0, 0);
    opacity: 0;
}

#site-search input[type="search"] {
    /*position: absolute;
  top: 50%;
  width: 100%;
  color: #ffffff;
  background: rgba(0, 0, 0, 0);
  font-size: 60px;
  font-weight: 300;
  text-align: center;
  border: 0px;
  margin: 0px auto;
  margin-top: -51px;
  padding-left: 30px;
  padding-right: 30px;
  outline: none;*/
    position: absolute;
    top: 50%;
    left: 5px;
    right: 5px;
    width: 95%;
    color: #ffffff;
    background: rgba(0, 0, 0, 0);
    font-size: 36px;
    font-weight: 300;
    text-align: center;
    border: 0px;
    margin: 0px auto;
    margin-top: -10px;
    padding-left: 30px;
    padding-right: 30px;
    outline: none;
    text-align: center;
    box-shadow: 0px 0px 5px #245C84;
    border-radius: 3px;
}

#fmCerca {
    text-align: center;
}

#site-search .btn {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: 61px;
    margin-left: -45px;
    border-color: transparent;
    background-color: transparent;
}

#site-search .btn span {
    /*background-color: #2f5d81;*/
    background-color: #245C84;
    padding: 15px 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    /*color: #222222;*/
    color: #fff;
    letter-spacing: 2px;
    display: inline-block;
    border-color: transparent;
}

#site-search .btn:active {
    background-image: none;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

#site-search .close {
    outline: none;
    position: fixed;
    top: 15px;
    right: 15px;
    color: #ffffff;
    /*background-color: #2f5d81;
  border-color: transparent;*/
    opacity: 1;
    padding: 10px 17px;
    font-size: 27px;
    border: 2px solid #fff;
    height: 50px;
    width: 50px;
    border-radius: 50%;
}

nav.responsive-menu ul {
    padding: 25px 15px;
    margin: 0;
    padding: 0;
    width: 100%;
    display: inline-block;
    list-style: none;
    /*float: left;*/
    /*corretto bug grfico menu*/
}

nav.responsive-menu ul li {
    margin: 1px 0px;
    display: block;
    position: relative;
}

nav.responsive-menu ul li .sub-menu {
    display: none;
    padding: 0 0 0 0px;
}

nav.responsive-menu ul li .sub-menu li {
    position: relative;
    z-index: 9;
    margin: 0;
    padding: 0 0 0 10px;
}

nav.responsive-menu ul li .sub-menu li:before {
    content: '-';
    position: absolute;
    left: 25px;
    color: #ffffff;
    top: 6px;
}

nav.responsive-menu ul li .sub-menu li.showall:before {
    content: '';
}

nav.responsive-menu ul li .sub-menu li a {
    font-size: 10px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
}

nav.responsive-menu ul li .sub-menu li.showall a {
    text-transform: lowercase;
    text-align: right;
    padding-right: 0;
    margin: 0;
    font-size: 12px;
}

nav.responsive-menu ul li .sub-menu li:last-child {
    padding: 0px 10px 0px 10px;
    margin: 0px 0px 10px 0px;
    border-bottom: 1px solid #aaa;
}

nav.responsive-menu ul li .sub-menu a {
    padding: 10px 30px;
    text-transform: capitalize;
    color: #ffffff;
    font-size: 13px;
    /*background-color: #812326;*/
    background-color: #005489;
    margin-right: 15px;
    margin-top: 1px;
}

nav.responsive-menu a {
    font-size: 12px;
    text-transform: uppercase;
    display: block;
    letter-spacing: 0.5px;
    padding: 15px 15px;
    margin: 0;
    color: #ffffff;
    background-color: #245C84;
}


/*
NAVlaterale

*/

nav.lateral-menu {

    margin: 0;
    padding: 0;
    /* float: left; */
    text-align: left;
}



nav.lateral-menu ul {
    padding: 25px 35px;
    margin: 0;
    padding: 0;
    width: 100%;
    display: inline-block;
    list-style: none;
    /* float: left; */
}

nav.lateral-menu ul li {
    margin: 1px 0px;
    display: block;
    position: relative;
}

nav.lateral-menu ul li .sub-menu {
    display: none;
    padding: 0 0 0 0px;
}

nav.lateral-menu ul li .sub-menu.open {
    display: block;
}

nav.lateral-menu ul li .sub-menu li {
    position: relative;
    z-index: 9;
    margin: 0;
    padding: 0 0 0 10px;
}

nav.lateral-menu ul li .sub-menu li:before {
    /*content: '-';*/
    content: none;
    position: absolute;
    left: 25px;
    /*color: #ffffff;*/
    top: 6px;
}

nav.lateral-menu ul li .sub-menu li a {
    font-size: 10px;

    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
}

nav.lateral-menu ul li .sub-menu li:last-child {
    padding: 0 0 0px 10px;
    /*margin: 0 0 10px 0px;
  border-bottom: 1px solid #aaa;*/
}

nav.lateral-menu ul li .sub-menu a {
    padding: 10px 30px;
    text-transform: capitalize;
    /*color: #ffffff;*/
    font-size: 13px;
    /*background-color: #812326;*/
    /*background-color: #005489;*/
    margin-right: 15px;
    margin-top: 1px;
}

nav.lateral-menu a {
    font-size: 12px;
    text-transform: uppercase;
    display: block;
    letter-spacing: 0.5px;
    padding: 12px 5px 15px 15px;
    /* margin: 0; */
    color: #000000;
    /* background-color: #205f86; */
}

nav.lateral-menu li.current>a {
    font-weight: bold;
}

/*fine nav laterale*/

/* Medium Screens */

footer {
    /*background-color: #2C2826;
  padding: 90px 0px 0px 0px;*/
    width: 100%;
    background-size: cover;
}

footer {}

footer .footer-widget p {
    color: #d6d6d6;
}

footer .footer-widget h2 {
    font-size: 18px;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    color: #ffffff;
    margin-top: 5px;
    margin-bottom: 0px;
}

footer .footer-widget .line-dec {
    width: 44px;
    height: 1px;
    background-color: #2f5d81;
    margin: 25px 0px;
}

@media (max-width: 991px) {
    footer .footer-widget .featured-links {
        margin-top: 60px;
    }
}

footer .footer-widget .featured-links ul {
    padding: 0;
    margin-left: 15px;
    list-style: circle;
    display: inline-block;
    color: #d6d6d6;
}

footer .footer-widget .featured-links ul li {
    margin-top: 2px;
    margin-bottom: 10px;
}

footer .footer-widget .featured-links ul li a,
footer .footer-widget .featured-links ul li {
    color: #d6d6d6;
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    background-color: #2C2826;
}

footer .footer-widget .featured-links ul li a:hover,
footer .footer-widget .featured-links ul li:hover {
    /*color: #2f5d81;*/
    color: #2f5d81;
    /* Criterio di successo 1.4.6 Contrasto (avanzato) (AAA) */
    transition: all 0.3s;
}

footer .footer-widget .featured-links ul li:before {
    color: #2f5d81;
}

footer .footer-widget .featured-links ul:last-child {}

@media (max-width: 991px) {
    footer .footer-widget .university-address {
        margin-top: 60px;
    }
}

footer .footer-widget .university-address ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

footer .footer-widget .university-address ul li {
    /* display: inline-block; */
    color: #d6d6d6;
    /* margin-bottom: 20px; */
    margin-left: 0px;
    clear: both;
}

footer .footer-widget .university-address ul li em {
    font-size: 17px;
    height: 25px;
    float: left;
    margin-right: 10px;
}


footer .footer-widget .university-address ul li a {
    color: #d6d6d6;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    /*background-color: #4e4c46;*/
    background-color: #2C2826;
}

footer .footer-widget .university-address ul li a:hover {
    /*color: #2f5d81;*/
    color: #2f5d81;
    /* Criterio di successo 1.4.6 Contrasto (avanzato) (AAA) */
    transition: all 0.3s;
}

footer .footer-widget .university-address ul li:before {
    color: #2f5d81;
}

footer .copyright-menu {
    margin-top: 80px;
    border-top: 1px solid #2c3437;
}

footer .copyright-menu .copyright-text {
    margin-top: 30px;
}

footer .copyright-menu .copyright-text p {
    font-size: 11px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    color: #b8b8b8;
    letter-spacing: 0.5px;
    padding-bottom: 15px;
}

footer .copyright-menu .copyright-text p a {
    color: #fff;
    font-weight: bold;
    /*background-color: #4e4c46;*/
    background-color: #2C2826;
}

footer .copyright-menu .copyright-text p a:hover {
    /*color: #2f5d81;*/
    color: #2f5d81;
    /* Criterio di successo 1.4.6 Contrasto (avanzato) (AAA) */
}

/*footer .copyright-menu .copyright-text a.mailto{
  color: #b8b8b8;
}
footer .copyright-menu .copyright-text a.mailto:hover{
  color: #000;
}*/

/*.popular-courses {
  background-color: #f2f5f6;
}*/


/*.popular-courses {
  background-color: #f0eeeb;
}*/

/*ko*/

.course-information {
    position: relative;
    background-color: #f2f5f6;
    padding: 30px 35px;
}

@media (max-width: 991px) {
    .course-information {
        margin-bottom: 60px;
    }
}

.course-information .widget-heading {
    padding-bottom: 20px;
    position: relative;
    margin-top: 0;
}

.course-information .widget-heading a,
.course-information .widget-heading a {
    margin-top: 0px;
    padding-left: 15px;
    font-size: 16px;
    text-transform: uppercase;
    color: #222222;
    letter-spacing: 0.2px;
    padding-top: 7px;
    padding-bottom: 7px;
    border-left: 3px solid #024e7d;
}

.course-information ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.course-information ul li {
    /* text-align: right; */
    /* display: block; */
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: #222222;
    /* padding-bottom: 15px; */
    border-bottom: 1px solid #e6e6e6;
    margin-top: 15px;
    /* padding-left: 25px; */
}

.course-information ul li:last-child {
    border-bottom: none;
}



section.top-img {
    background-image: url(/fileadmin/template_NEW/official/assets/images/bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #245c84;
    width: 100%;
    padding: 100px 0px 0px 0px;
}

/*
 * jQuery FlexSlider v2.4.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 and later license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 *
 */
/* ====================================================================================================================
 * FONT-FACE
 * ====================================================================================================================*/
@font-face {
    font-family: 'flexslider-icon';
    src: url('../fonts/flexslider-icon.eot');
    src: url('../fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('../fonts/flexslider-icon.woff') format('woff'), url('../fonts/flexslider-icon.ttf') format('truetype'), url('../fonts/flexslider-icon.svg#flexslider-icon') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'CustomIcons';
    src: url('../fonts/custom/icomoon.eot');
    src: url('../fonts/custom/icomoon.eot?#iefix') format('embedded-opentype'),
        /*url('../fonts/custom/icomoon.woff2') format('woff2'),*/
        url('../fonts/custom/icomoon.woff') format('woff'),
        url('../fonts/custom/icomoon.ttf') format('truetype'),
        url('../fonts/custom/icomoon.svg#CustomIcons') format('svg');
    font-weight: normal;
    font-style: normal;
}


.top14 {
    padding-top: 14px;
}



div#course-information-btn {
    position: absolute;
    right: 0;
    top: 0px;
    bottom: 0;
    display: none;
    font-size: 18px;
    line-height: 31px;
    /* padding: 20px; */
    cursor: pointer;
}

div#course-information-collapse-btn {
    position: absolute;
    right: 0;
    top: 0px;
    font-size: 18px;
    line-height: 45px;
    cursor: pointer;
}

.footer-social-container {
    margin-top: 20px;
}

.footer-social-container ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-social-container ul li.social {
    display: inline-block;
    padding-right: 10px;
}

.footer-social-container ul li.social a {
    color: #fff;
}

.footer-social-container ul li.social a:hover {
    color: #2f5d81;
}

div#lateral-menu-return {
    display: none;
    position: absolute;
    top: -45px;
    left: 15px;
    font-size: 18px;
    line-height: 31px;
    cursor: pointer;
    /*width: 31px;*/
    text-align: center;
    background-color: #024e7d;
    color: #fff;
    padding: 3px 10px;
}

div#lateral-menu-return .fa {
    margin-left: 5px;
}

#main-content {
    position: relative;
}

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

.single-post a {
    font-weight: bold;
}

/* ***MODAL DIALOG */
.modal {
    background-color: rgba(79, 79, 79, 0.25);
}

#headerAppMobile {
    width: 100px;
}

#blinker2 {
    display: none;
    /*color: #ff0000;*/
    color: #ab0000;
}

.footer2 {
    background-color: #2C2826;
    padding: 40px 0px 0px 0px;
}

.footer2 * {
    font-size: 13px;
}

.menu-mobile-button-container {
    display: none;
}


@media (min-width: 992px) {
    nav.lateral-menu {
        display: block !important;
    }
}


@media (min-width: 992px) and (max-width: 1200px) {
    .site-header .header-info ul li:last-child a {
        padding: 15px 10px;
        font-size: 10px;
    }

.masterPageSidebar.col-lg-3,
    .col-lg-3.side-container,
    main.col-lg-9.theMain,
    .col-lg-9.main-content {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .masterPageContent {
        margin-top: 40px;
    }

    .site-header .main-header .logo {
        padding-right: 25px;
        line-height: 105px;
    }

    .site-header.scrolled-header .main-header .logo {
        line-height: 85px;
    }

    nav.main-navigation ul li:last-child em {
        margin-top: 14px;
    }

    .site-header .header-info ul {
        margin-bottom: 0px;
    }

    nav.main-navigation ul a {
        font-size: 12px;
    }
}

@media (max-width: 1099px) {

    .menu-button-container {
        display: none !important;
    }

    .menu-mobile-button-container {
        display: inline-block;
    }

    nav.main-navigation {
        display: none;
    }
}


@media (max-width: 991px) {
    .site-header.scrolled-header .header-right-toggle {
        margin-top: 0px;
    }

    footer {
        text-align: center;
    }

    footer .footer-widget .line-dec {
        margin-left: auto;
        margin-right: auto;
    }

    footer .footer-widget .university-address ul li em {
        float: none;
    }

    footer .footer-widget .featured-links ul {
        margin-left: 0px;
        list-style: none;
    }

    .course-information .widget-heading {
        padding-bottom: 0px;
        position: relative;
    }

    /* su mobile la lista voci parte collassata come sul sito originale eCampus
       (il markup aveva style="display:none" inline). Il chevron-down in
       #course-information-btn fa slideToggle e alterna chevron-up/down. */
    nav.lateral-menu {
        display: none;
        margin-top: 20px;
    }

    div#course-information-btn {
        display: inline-block;
    }

    div#course-information-collapse-btn {
        display: none;
    }

    .inner-header {
        position: relative;
    }

    .site-header .main-header .logo {
        border-right: none;
    }

    .site-header .header-info {
        border-bottom: none;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        text-align: right;
    }

    .site-header .header-info ul {
        padding-left: 15px;
        padding-right: 15px;
        margin: 0px;
        padding-bottom: 0px;
    }

    .site-header .header-info ul li {
        border: none;
    }

    .lateral-menu {
        display: none;
    }
}

@media (max-width: 767px) {

    .site-header .main-header .logo img {
        max-width: 200px;
    }

    .header-right-toggle a {
        margin-top: 35px;
    }
}

@media (max-width: 575px) {

    .header-right-toggle a {
        margin-top: 50px;
    }

}

@media (max-width: 475px) {

    #headersitemap,
    #headerinfo {
        display: none;
    }

}

@media (max-width: 415px) {

    .site-header .main-header .logo img {
        max-width: 140px;
    }

    /* AGGIUNTO DA JOSUE 23-01-20018 */
}



@media (min-width: 1200px) and (max-width: 1366px) {

    /*.spot-container{
    width: 50%;
  }*/

}

@media (min-width: 768px) {
    .container {
        width: 100%;
        max-width: 1600px;
    }
}



/* *********************************************************************************** */
/* ************************ END MEDIA QUERIES **************************************** */
/* *********************************************************************************** */






/* *********************************************************************************** */
/* *********************** INFOGRAFICA HOME ****************************************** */
/* *********************************************************************************** */

/* Reset.css */

/** riga uno **/

/** riga due **/

/** riga due sx **/

/** riga due dx **/

/** riga tre **/

/** Rosone **/

@media only screen and (max-width: 1180px) {

    /** riga uno e tre **/

    /** riga due sx **/

    /** riga due dx **/

    /** Rosone **/
}

@media only screen and (max-width: 800px) {

    /** riga uno **/

    /** riga due **/
    /** riga due sx **/

    /** riga due dx **/

    /** riga tre **/
}

:root {
    --space: 1rem;
    --bg: #09090b;
    --fg: #e3e3e3;
    --surface-1: #101012;
    --surface-2: #27272a;
    --surface-3: #52525b;
    --ease-out: cubic-bezier(0.5, 1, 0.89, 1);
    --ease-in-out: cubic-bezier(0.45, 0, 0.55, 1);
    --white: #FFFFFF;
    --light-blue: #87CEEB;
    --mid-blue: #4682B4;
}

/* * {
  box-sizing: border-box;
}

height,
body {
  height: 100%;
}

body {
  display: grid;
  color: var(--fg);
  background: var(--bg);
  padding: var(--space);
  min-height: 100vh;
} */

/*     .container-meta>span {
        color: white;
        padding-bottom: 10px;
        font-size: 26px;
        letter-spacing: 3px;
    } */

/**
 *** Stili dropdown (accordion)
 *** Bandi e concorsi
 */

/* Freccetta chiusa (►) per tutti i summary */

/* Freccetta aperta (▼) per i summary dentro un details aperto */

/**
 *** Stili banner
 *** Homepage
 */

@media (max-width: 991px) {
    .loghi-footer {
        text-align: center;
    }
}

/*** SEZIONE 1 ***/

/*** SEZIONE 2 ***/

/*** SEZIONE 3 ***/

/*** SEZIONE 4 ***/

/*** SEZIONE 5 ***/

/*** SEZIONE 6 ***/

/*     .sezione-testo-ateneo .titolo-secondario-ateneo {
        font-weight: bold;
    } */

/* ATTENZIONE CLASSI DI EDUCA.CSS */

.widget-heading {
    z-index: 2;
    position: relative;
}

/*     @media (min-width: 576px) {
        .col-services {
            padding-right: 3rem !important;
            padding-left: 3rem !important;
            padding-top: 1.5rem;
        }

        .background-services:before {
            right: -999em;
        }
    } */
/* Pulsante ritorno menu laterale */
#lateral-menu-return {
    display: none;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 16px;
    margin-bottom: 16px;
    background: #1a4a7a;
    border-radius: 8px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    width: fit-content;
    transition: background 0.2s;
    user-select: none;
}

#lateral-menu-return:hover {
    background: #245c84;
}

#lateral-menu-return .menu-return-title {
    color: #ffffff;
    pointer-events: none;
}

#lateral-menu-return em {
    font-size: 12px;
    color: #ffffff;
    pointer-events: none;
}
#lateral-menu-return,
#lateral-menu-return a,
#lateral-menu-return span,
#lateral-menu-return em {
    color: #ffffff !important;
    text-decoration: none;
}

@media all {
    .title-large {
        font-size: 100px;
        line-height: 95px;
    }

    .text-white-2 {
        color: #FFF;
    }

    .z-index-5 {
        z-index: 5;
    }

    .parallax {
        transition-timing-function: unset;
        -moz-transition-timing-function: unset;
        -webkit-transition-timing-function: unset;
        -o-transition-timing-function: unset;
        -ms-transition-timing-function: unset;
        transition-duration: 0s;
        -moz-transition-duration: 0s;
        -webkit-transition-duration: 0s;
        -o-transition-duration: 0s;
        -ms-transition-duration: 0s;
    }

    .parallax {
        position: relative;
        background-size: cover;
        overflow: hidden;
        /*background-attachment: fixed;*/
    }

    .no-margin-bottom {
        margin-bottom: 0 !important;
    }

    .position-relative {
        position: relative !important;
    }
}

@media all {
    @media (max-width: 1199px) {
        .title-large {
            font-size: 90px;
            line-height: 90px;
        }
    }

    @media (max-width: 1050px) {
        .parallax {
            background-attachment: inherit;
        }
    }

    @media (max-width: 991px) {
        .title-large {
            font-size: 70px;
            line-height: 65px;
        }

        .parallax {
            background-position: center;
        }
    }

    @media (max-width: 767px) {
        .title-large {
            font-size: 38px;
            line-height: 44px;
        }

        section {
            padding: 50px 0;
        }
    }

    @media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
        .parallax {
            background-attachment: inherit;
            background-position: center;
        }
    }

    @media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) {
        .parallax {
            background-attachment: inherit;
            background-position: center;
        }
    }


}

@media all {

    .parallax .trick {
        background-color: rgb(28 28 28 / 0.01);
    }

    section.top-img {
        margin-top: 131px;
        padding: 100px;
        background-position: center;
        background-repeat: no-repeat;
    }

    .page-title-top {
        text-transform: uppercase;
        text-shadow: 0px 0px 2px #000;
    }

    @media (max-width: 575px) {
        section.top-img {
            padding: 100px;
        }
    }
}

/*! CSS Used keyframes */
@-webkit-keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@media all {
    div#navigation-trail {
        padding: 2px 0px;
        background-color: #245C84;
        color: #fff;
    }

    div#navigation-trail a {
        color: #fff;
    }

    div#navigation-trail a:hover {
        color: #ff214f;
    }
}

.language-menu {
    list-style: none;
    display: flex;
    gap: 20px;
    padding: 15px;
    margin: 0;
    align-items: center;
}

.language-menu li {
    display: inline-block;
    line-height: 1;
}

.language-menu a,
.language-menu span {
    display: inline-block;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.language-menu img.flag-icon {
    display: block;
    width: 24px;
    height: 16px;
    border-radius: 2px;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
}

.language-menu li.active img.flag-icon {
    outline: 2px solid white;
    outline-offset: 2px;
}

.language-menu li:not(.active):hover img.flag-icon {
    transform: scale(1.1);
}

.language-menu img.inactive {
    opacity: 0.4;
    filter: grayscale(100%);
}

.breadcrumb-class {
    padding: 15px;
}

/* Quando il menu è chiuso */

/* Bottone ritorno menu */
/*#lateral-menu-return {
    background: #f7f7f7;
    padding: 10px 15px;
    border-left: 4px solid #002147;
    cursor: pointer;
    display: none;
    margin-bottom: 20px;
}

#lateral-menu-return span {
    font-weight: bold;
}

#lateral-menu-return em {
    float: right;
    margin-top: 3px;
}*/

/**
FIX GRAFICHE TEMPORANEE - VERSIONE MIG - 27/11/2025
**/

h2.pageTitle {
    margin-top: 0px;
    margin-bottom: 30px;
}

/**
PAGINA: Architettura Hardware e di rete
**/

/**
TITLE PAGE HEADER
**/
.page-title-top.no-margin-bottom.text-white-2.alt-font.title-large.wow.slideInLeft {
    font-size: 50px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
}

/**
PAGINA: Master
**/

/* Quando il bottone è spostato nel main-content */

/* Quando il bottone è nel Main Content */

/* 1. OBBLIGHIAMO IL BOTTONE A COMPARIRE */
/* Usiamo !important per vincere sul CSS del tema che lo nasconde */
#course-information-collapse-btn {
    display: block !important;
    z-index: 100;
    /* Assicuriamoci che sia cliccabile */
}

/* 2. STILE QUANDO IL BOTTONE È NELLA SIDEBAR (Originale) */
.side-container #course-information-collapse-btn {
    /* Lasciamo che usi lo stile originale del tema */
    cursor: pointer;
}

/* 3. STILE QUANDO IL BOTTONE È SPOSTATO NEL MAIN CONTENT (Tramite il nostro JS) */
/* Quando il JS sposta il bottone, non è più dentro .side-container */
/* Quindi dobbiamo resettare il position absolute che darebbe fastidio */

/* Stile per l'icona dentro il bottone quando spostato */

/* Style per il bottone quando viene spostato nel contenuto principale */

/* 1. Nascondi su Desktop */
@media (min-width: 992px) {

    .menu-mobile-button-container,
    .responsive-menu {
        display: none !important;
    }
}

/* sidebar visibile da quando pushy è nascosto, a differenza del sito di ecampus che mostra sempre la sidebar, anche su mobile */
@media (max-width: 991.98px) {
    .side-container, #lateral-menu-return {
        display: none !important;
    }
}

/* 2. Stile del Menu Mobile (Off-Canvas) */
.responsive-menu {
    position: fixed;
    /* Fisso sullo schermo */
    top: 0;
    left: 0;
    width: 280px;
    /* Larghezza fissa (o 80%) */
    height: 100vh;
    /* Tutta l'altezza */
    background-color: #005489;
    z-index: 10000;
    /* Sopra a tutto */

    /* ANIMAZIONE */
    transform: translateX(-100%);
    /* Spostato tutto a sinistra fuori schermo */
    transition: transform 0.3s cubic-bezier(0.77, 0.2, 0.05, 1.0);
    /* Movimento fluido */

    /* Scroll interno se il menu è lungo */
    overflow-y: auto;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

/* Quando è aperto */

/* 3. Stile Overlay (Sfondo scuro dietro il menu) */

/* Quando il menu è aperto, mostriamo l'overlay */

/* 4. Stile Intestazione Menu (Titolo e X) */

/* Stile base delle liste (uguale a prima) */
.responsive-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.responsive-menu>ul>li {
    border-bottom: 1px solid #eee;
}

.responsive-menu a {
    display: block;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
}

/* Sottomenu (uguale a prima) */
.responsive-menu .sub-menu {
    display: none;
    background-color: #005489;
    padding-left: 20px;
}



#course-information-collapse-btn {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1000 !important;
    cursor: pointer !important;
}

/* Stile del bottone quando viene spostato nel main content */

@media (max-width: 991px) {
    #course-information-collapse-btn {
        display: none !important;
    }
}


/* ==== animate.css ==== */
@charset "UTF-8";
/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2014 Daniel Eden
*/

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    visibility: visible;
  }

  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes slideInLeft {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    visibility: visible;
  }

  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
          animation-name: slideInLeft;
}

/* ================================================================
 * OVERRIDE ALMALAUREA - specifiche masterPage placement
 * ================================================================ */

/* --- z-index del site-header ridotto per non coprire i dialog jQuery UI --- */
.site-header {
    z-index: 100;
}

/* --- theMain: applichiamo qui le regole di font-size/line-height/color
       per non rompere header e breadcrumb (come suggerito dalla guida AlmaWiki) ---*/
.theMain {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 24px;
    color: #444;
    min-height: 400px;
}
.theMain p {
    /* ri-applica perché alcune regole upstream usano !important */
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 24px;
    color: #444;
}

/* --- LANGUAGE SWITCHER in header --- */
.header-info .lang-switcher {
    padding-left: 0;
}
.header-info .lang-switcher a {
    display: inline-block;
    margin: 0 4px;
    padding: 2px 4px;
    border: 1px solid transparent;
    border-radius: 3px;
    line-height: 0;
    vertical-align: middle;
}
.header-info .lang-switcher a.lang-active,
.header-info .lang-switcher a:hover {
    border-color: #245C84;
}
.header-info .lang-switcher img.flag-icon {
    display: block;
}

/* --- BREADCRUMB fuori grafica (popolata via JS da .theMain .breadcrumb) --- */
#navigation-trail {
    background-color: #f2f5f6;
    border-bottom: 1px solid #e5ebed;
    padding: 8px 0;
    font-family: 'Roboto', sans-serif;
}
#breadcrumbs,
#breadcrumbs a {
    /*color: #245C84;*/
    text-decoration: none;
}
/* nasconde la breadcrumb originale in .theMain perché è stata spostata in #breadcrumbs */
.theMain .breadcrumb {
    display: none;
}

/* Casetta breadcrumb: AlmaLaurea inietta come primo nodo del breadcrumb un
   link che rappresenta la home. A seconda del contesto (frontend, area
   azienda, area staff, ecc.) l'id può variare: #LinkHome, #LinkStaffHome,
   ecc. Lo trasformiamo in icona casetta ricalcando il pattern .ico-home
   (SVG mask + currentColor): nascondo il testo con text-indent, applico
   la dimensione 1em × 1em e la mask image. Lo limito al primo <a> figlio
   diretto di #breadcrumbs così non tocca eventuali occorrenze degli stessi
   id altrove (es. menu) e copre tutti i pattern senza enumerarli. */
#breadcrumbs > a:first-child {
    display: inline-block;
    width: 1.125em;
    height: 1em;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/></svg>");
}

/* --- POWERED BY ALMALAUREA: 40px di spazio prima del footer --- */
.theMain .static {
    margin-top: 40px;
    margin-bottom: 40px;
    text-align: center;
    font-size: 12px;
    color: #888;
}
.theMain .static img {
    max-height: 40px;
}

/* --- FOOTER: assicuriamo che ci sia spazio dopo il "Powered by AlmaLaurea" --- */
.masterPageFooter {
    margin-top: 0;
    clear: both;
}

/* --- HIDDEN CLASSES AlmaLaurea --- */
.hiddenStaff .hiddenWhenHiddenStaff {
    display: none !important;
}
.hiddenLau .hiddenWhenHiddenLau {
    display: none !important;
}

/* ============================================================
   SIDEBAR AlmaLaurea → stile eCampus .lateral-menu
   ------------------------------------------------------------
   Il framework AlmaLaurea inietta nel literal Sidebar un markup
   del tipo:
     <div class="navigationMenu subMenu1 [selected]">
       <h4 class="LinkTitoloSezione">
         <a>Titolo sezione</a>    (oppure <span class="LinkFinto">)
       </h4>
       <div class="navigationMenuContent">
         <a [class="active|selected"]>Sottovoce</a>
         ...
       </div>
     </div>
   Qui mappiamo quei selettori sullo stile eCampus originale del
   side-menu (vedi .lateral-menu più sopra): link neri, uppercase,
   12px, voce corrente in bold, stesso padding dell'originale.
   ============================================================ */

/* reset h4 generato dal framework (Bootstrap lo stilizza) */
.course-information .navigationMenu .LinkTitoloSezione {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: normal;
    line-height: 1.2;
}

/* titolo di sezione: stesso look dei <a> del .lateral-menu originale */
.course-information .navigationMenu .LinkTitoloSezione a,
.course-information .navigationMenu .LinkTitoloSezione span.LinkFinto {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 12px 5px 15px 15px;
    color: #000000;
    text-decoration: none;
    border-bottom: 1px solid #e6e6e6;
    margin: 1px 0;
}

.course-information .navigationMenu .LinkTitoloSezione a:hover {
    text-decoration: none;
}

/* equivalente del vecchio `.course-information ul li:last-child { border-bottom: none }`:
   l'ultima sezione del menu non ha il separatore inferiore.
   Il framework AlmaLaurea inietta un wrapper <div class="sidebar"> attorno ai
   .navigationMenu, quindi l'ultimo div va cercato lì dentro:
     nav.lateral-menu > div.sidebar > div.navigationMenu (1..N)
   Uso :last-of-type (non :last-child) per robustezza rispetto a eventuali nodi
   non-div appesi dal framework. */
.course-information .lateral-menu .sidebar > .navigationMenu:last-of-type > .LinkTitoloSezione > a,
.course-information .lateral-menu .sidebar > .navigationMenu:last-of-type > .LinkTitoloSezione > span.LinkFinto {
    border-bottom: none;
}

/* sottovoci: più piccole e leggermente rientrate */
.course-information .navigationMenu .navigationMenuContent a {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 5px 10px 25px;
    color: #000000;
    text-decoration: none;
    margin: 1px 0;
}

.course-information .navigationMenu .navigationMenuContent a:hover {
    text-decoration: none;
}

/* stato corrente: titolo di sezione in grassetto con bordo sinistro eCampus */
.course-information .navigationMenu.selected > .LinkTitoloSezione > a,
.course-information .navigationMenu.active > .LinkTitoloSezione > a {
    font-weight: bold;
    border-left: 3px solid #024e7d;
    padding-left: 12px;
    color: #024e7d;
}

/* stato corrente sulla sottovoce */
.course-information .navigationMenu .navigationMenuContent a.active,
.course-information .navigationMenu .navigationMenuContent a.selected {
    font-weight: bold;
    color: #024e7d;
}

/* sub-menu annidati: indentazione progressiva coerente col pattern originale */
.course-information .navigationMenu .navigationMenu.subMenu2 .navigationMenuContent a {
    padding-left: 35px;
}

.course-information .navigationMenu .navigationMenu.subMenu3 .navigationMenuContent a {
    padding-left: 45px;
}

/* ============================================================
   PUSHY offcanvas → stile eCampus .responsive-menu
   ------------------------------------------------------------
   /css/pushy.css è caricato DOPO ecampus.css (vedi ecampus.master.vb),
   quindi qui usiamo selettori più specifici (body .pushy…) per vincere
   la cascata e sovrascrivere il background #191918 e la width 250px
   del file pushy base. Parametri coerenti col sito originale eCampus
   (.responsive-menu: width 280px, background #005489).
   ============================================================ */
@media(max-width: 768px) {
    body {
        margin-top: 0px !important;
    }
}


/* pannello offcanvas — dimensioni e colori eCampus */
body nav.pushy {
    width: 280px;
    background: #005489;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

/* pushy-left di base parte fuori schermo a sinistra; il plugin sposta a 0
   aggiungendo .pushy-open-left al body (fatto da jquery.pushy.js) */
body nav.pushy.pushy-left {
    left: 0;
    right: auto;
    transform: translate3d(-280px, 0, 0);
    -webkit-transform: translate3d(-280px, 0, 0);
    -ms-transform: translate3d(-280px, 0, 0);
}

body.pushy-open-left nav.pushy.pushy-left {
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
}

/* link del pushy: bianchi, padding stile menu mobile eCampus */
body .pushy a {
    display: block;
    color: #ffffff;
    padding: 12px 20px;
    text-decoration: none;
    text-transform: uppercase;
    background-color: rgb(36, 92, 132);
}

body .pushy a:hover {
    background-color: #003d64;
    color: #ffffff;
}

/* markup AlmaLaurea iniettato nel literal SidebarPushy */
body .pushy .navigationMenu.subMenu1 {
    border: none;
}

body .pushy .navigationMenu .LinkTitoloSezione {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: normal;
    line-height: 1.2;
}

body .pushy .navigationMenu .LinkTitoloSezione a,
body .pushy .navigationMenu .LinkTitoloSezione span.LinkFinto,
body .pushy .navigationMenu > a {
    display: block;
    color: #ffffff;
    padding: 12px 20px;
    text-decoration: none;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: normal;
    font-weight: normal;
    background-color: rgb(36, 92, 132);
}

/* sottovoci: stessa impaginazione ma un po' rientrate */
body .pushy .navigationMenu .navigationMenuContent a {
    color: #ffffff;
    padding: 10px 20px 10px 35px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: normal;
    background: rgba(0, 0, 0, 0.15);
    font-weight: normal;
}

/* Separatore bianco uniforme su TUTTE le voci del pushy (titoli + sottovoci).
   Equivale al border-bottom delle <li> in .responsive-menu>ul>li di eCampus:
   lì è `#eee` su fondo chiaro; qui usiamo bianco semi-trasparente sul blu. */
body .pushy .navigationMenu .LinkTitoloSezione a,
body .pushy .navigationMenu .LinkTitoloSezione span.LinkFinto,
body .pushy .navigationMenu .navigationMenuContent > a,
body .pushy .navigationMenu > a {
    border-bottom: 1px solid #eee;
}

body .pushy .navigationMenu .LinkTitoloSezione a:hover,
body .pushy .navigationMenu .navigationMenuContent a:hover,
body .pushy .navigationMenu > a:hover {
    background-color: #003d64;
    color: #ffffff;
}

body .pushy .navigationMenu.selected > .LinkTitoloSezione > a,
body .pushy .navigationMenu.active > .LinkTitoloSezione > a,
body .pushy .navigationMenu .navigationMenuContent a.active,
body .pushy .navigationMenu .navigationMenuContent a.selected {
    color: #ffffff;
    background-color: #003d64;
    border-left: 0;
    padding-left: 20px;
    font-weight: normal;
}

/* Nel pushy mobile eCampus originale TUTTE le voci hanno il separatore bianco,
   ultima inclusa (diversamente dalla sidebar desktop dove l'ultima sezione
   non ha border-bottom). Qui quindi non azzeriamo alcun bordo. */

.menu-btn {
    cursor: pointer;
    background: #245C84;
    padding: 0;
    margin: 0;
    border: none;
}

/* ============================================================
   ICONE SVG (sostitutive di Font Awesome)
   ------------------------------------------------------------
   font-awesome.css non è disponibile in tutte le pagine del
   sito, quindi non possiamo usare classi fa/fa-*. Usiamo un
   sistema basato su mask-image con SVG in data URI:
   l'<em class="ico-X"> diventa una maschera, il background
   prende currentColor, così dimensione (1em) e colore si
   comportano come le font icons.
   Pattern: <em class="ico-NAME" aria-hidden="true"></em>
   ============================================================ */
em[class^="ico-"],
em[class*=" ico-"] {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    vertical-align: -0.125em;
    /* utile per dare margine a destra nelle liste del footer */
    margin-right: 0;
}

/* chevron / angle (FA 7 viewBox 640) */
.ico-angle-right {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'><path d='M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'><path d='M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z'/></svg>");
}

.ico-chevron-down {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/></svg>");
}

.ico-chevron-up {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/></svg>");
}

.ico-chevron-left {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 278.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 278.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/></svg>");
}

.ico-chevron-right {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-192-192c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 233.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l192-192z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-192-192c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 233.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l192-192z'/></svg>");
}

/* bars (hamburger) FA6 viewBox 448x512 */
.ico-bars {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M0 96C0 78.3 14.3 64 32 64L416 64C433.7 64 448 78.3 448 96C448 113.7 433.7 128 416 128L32 128C14.3 128 0 113.7 0 96zM0 256C0 238.3 14.3 224 32 224L416 224C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288L32 288C14.3 288 0 273.7 0 256zM448 416C448 433.7 433.7 448 416 448L32 448C14.3 448 0 433.7 0 416C0 398.3 14.3 384 32 384L416 384C433.7 384 448 398.3 448 416z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M0 96C0 78.3 14.3 64 32 64L416 64C433.7 64 448 78.3 448 96C448 113.7 433.7 128 416 128L32 128C14.3 128 0 113.7 0 96zM0 256C0 238.3 14.3 224 32 224L416 224C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288L32 288C14.3 288 0 273.7 0 256zM448 416C448 433.7 433.7 448 416 448L32 448C14.3 448 0 433.7 0 416C0 398.3 14.3 384 32 384L416 384C433.7 384 448 398.3 448 416z'/></svg>");
}

/* home (FA6 house-solid legacy, viewBox 576x512) — usato nel breadcrumb e nel footer */
.ico-home {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/></svg>");
}

/* phone (FA6 solid, viewBox 512x512) */
.ico-phone {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C11.4 30.2 0 46 0 64c0 247.4 200.6 448 448 448c18 0 33.8-11.4 38.6-28.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C11.4 30.2 0 46 0 64c0 247.4 200.6 448 448 448c18 0 33.8-11.4 38.6-28.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/></svg>");
}

/* envelope (FA6 solid, viewBox 512x512) */
.ico-envelope {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/></svg>");
}

/* brand social (FA6 brands, viewBox 448x512) */
.ico-brand-facebook {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z'/></svg>");
}

.ico-brand-twitter {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z'/></svg>");
}

.ico-brand-youtube {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z'/></svg>");
}

/* linkedin (FA6 brands: linkedin square variant, viewBox 448x512) */
.ico-brand-linkedin {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z'/></svg>");
}

/* instagram (FA6 brands, viewBox 448x512) */
.ico-brand-instagram {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/></svg>");
}

/* --- DIALOG jQuery UI: mantieni leggibilità testi (problema ricorrente guida AlmaWiki) --- */
.ui-dialog {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
}
.ui-dialog .ui-dialog-title {
    font-family: 'Montserrat', sans-serif;
}

/* --- MOBILE (<=991px): semplifica header e layout dei link ---*/
@media (max-width: 991px) {
    .site-header .header-info ul {
        padding-bottom: 10px;
    }
    .site-header .main-navigation {
        display: none;
    }
    #navigation-trail {
        font-size: 12px;
    }
}

@media print {
    .site-header,
    .masterPageFooter,
    .hiddenWhenPrint,
    .masterPageResponsiveMenu,
    .pushy,
    .menu-btn,
    .site-overlay {
        display: none !important;
    }
    body {
        padding-top: 0 !important;
    }
    .theMain {
        width: 100% !important;
        padding: 0 !important;
    }
}
