html {
  scroll-behavior: smooth;
}

html, body {
  line-height: 1.555;
  font-size: 18px;
}


body {
  font-family: 'Titillium Web', Geneva, Tahoma, sans-serif;;
  font-weight: 300;
  color: #19191A;
  text-align: left;
  background-color: #FFFFFF;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  min-height: 100vh;
}

b, strong {
    font-weight: 600 !important;
}

@media (min-width: 768px) {
  #page-content p {
      text-align: unset;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

a, a:hover, a.read-more, .menu-main .nav li ul a, .menu-main .nav li ul a:hover, .menu-main .nav li:hover ul a {
    color: #0066cc;
}
a:hover {
    text-decoration: underline;
}

.small, small {
    font-size: .8888rem;
}
.small, small {
    font-size: .9375rem;
    font-weight: 400;
}

#page-content p {
    text-align: left !important;
}

#page-content a[target="_blank"]:after,
#page-footer a[target="_blank"]:after {
    content: '';
    width: calc(1rem + 0.2 * ((100vw - 120rem) / 40)) !important;
    height: calc(1rem + 0.2 * ((100vw - 120rem) / 40)) !important;
    display: inline-block;
    background-color: #0D4391;
    margin-left: 0.3125rem;
    -webkit-mask: url(../icon/link-esterno.svg);
    mask: url(../icon/link-esterno.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transform: translateY(0.0625rem);
}
.social-sharing-buttons a:after {
    display: none !important;
}

article.node img {
    max-width: 100%;
    height: auto;
}

:focus {
    border-color: #FF9900;
    -webkit-box-shadow: 0 0 0 2px #FF9900;
    box-shadow: 0 0 0 2px #FF9900;
    outline: 0;
}

/* headers - colori */
.it-header-slim-wrapper {
    background-color: rgba(0, 0, 0, 0.15);
    min-height: 43px;
    background-color: #0059b3;
    padding: 6.5px 18px;
}
.it-header-center-wrapper, .it-header-navbar-wrapper {
    background-color: #0066CC !important;
    height: 120px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 6px;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/* header - slim */
#block-slimheaderlink p {
    margin-top: 0;
    margin-bottom: 0;
}
.it-header-slim-wrapper .it-header-slim-wrapper-content .navbar-brand {
    color: #fff;
    font-size: .778em;
    padding: 0;
}
.it-header-slim-wrapper .it-header-slim-wrapper-content a.navbar-brand {
    padding-top: 12px;
    padding-bottom: 12px;
}
.it-header-slim-wrapper .it-header-slim-wrapper-content a {
    color: #fff;
    text-decoration: none;
}
.it-header-slim-wrapper .it-header-slim-wrapper-content a:hover:not(.active) {
    text-decoration: underline;
}

/* header - logo, titolo e motto */
.it-brand-wrapper {
    padding-left: 0;
    margin-left: 0;
}
.it-brand-wrapper a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #FFFFFF;
    text-decoration: none;
}
.it-brand-wrapper a .icon {
    width: 82px;
    height: 82px;
    margin-right: 16px;
}
.it-brand-text {
    padding-right: 24px;
}
.it-brand-wrapper a h2 {
    font-size: 1.778em;
    margin-bottom: 0;
    font-weight: 600;
    letter-spacing: unset;
    line-height: 1.1;
    color: #FFFFFF;
}
.it-brand-wrapper a h3 {
    font-size: .889em;
    font-weight: 400;
    margin-bottom: 0;
    letter-spacing: normal;
    line-height: 1.25;
    color: #FFFFFF;
}
.d-md-block {
    display: block !important;
}

/* Accordion in CK Editor */
.ckeditor-accordion-container > dl dd {
    padding: 15px 15px 0 !important;
}


.jumbotron {
    background-image: url("../image/banner_ntvder.png");
    background-size: cover;
    height: 280px;
}

.ckeditor-accordion-container > dl dt > a {
    background-color: #0066CC !important;
    border-bottom: 1px solid #00A4EC !important;
}
.ckeditor-accordion-container > dl dt > a:hover {
    background-color: #0059B3 !important;
}
.ckeditor-accordion-container > dl dt.active > a {
    background-color: #373F51 !important;
}

/* Footer */
.text-right {
    text-align: right!important;
}
.it-footer-main .it-brand-wrapper {
    padding: 1.5rem 0 !important;
}
.it-footer-main .it-brand-wrapper a .icon {
    width: auto !important;
}
.it-footer-main .it-brand-wrapper .it-brand-text {
    padding-top: 0.4rem !important;
}

/* Elenchi puntati */
#page-content ul:not([class]) li::marker,
#article.node ul:not([class]) li::marker {
    color: #003366 !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,1) !important;
}

.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
    color: rgba(255,255,255,1) !important;
}

dd.active > hr  {
    margin-top: 2.75rem !important;
    color: rgba(10,10,10,0.5) !important;
    border-top: 1px solid rgba(0,0,0,0.5) !important;
}

.block-local-tasks-block {
    background-color: #EFEFEF;
    border: 1px solid #0066CC;
    border-radius: 0.2rem;
    margin-bottom: 0.5rem;
}

/* ---------------------------------------------------------------------------*/
/* MOBILE FIRST -  layout/header/_header-menu.scss                            */
/* ---------------------------------------------------------------------------*/
@media (orientation: landscape) {
  #header-menu.sticky-top {
    position: relative;
} }

#header-menu {
  -webkit-box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.3);
}
#header-menu a.navbar-brand {
  font-weight: 500;
  color: white;
  text-transform: uppercase;
  text-decoration: none;
}
#header-menu .navbar-toggler {
  border: none;
  padding: 0;
  font-size: 1.5rem;
}
#header-menu .nav.navbar-nav li.nav-item {
  border-top: none;
  padding-left: 0;
}
#header-menu .nav.navbar-nav li.nav-item:nth-last-child(1) {
  border-bottom: none;
}
#header-menu .logo {
  max-height: 40px;
  min-width: 40px;
  padding: 0;
}

@media (min-width: 768px) and (orientation: landscape) {
  #header-menu.sticky-top {
    position: -webkit-sticky;
    position: sticky;
} }

@media (min-width: 768px) {
  #header-menu .hide-logo {
    display: none;
} }

@media (min-width: 768px) {
  .toolbar-horizontal header.sticky-top,
  .toolbar-vertical.toolbar-tray-open header.sticky-top {
    top: 39px;
}
  .toolbar-horizontal.toolbar-tray-open header.sticky-top {
    top: 78px;
} }

.sticky-top {
  z-index: 499;
}
.bg-secondary {
  background-color: #373f51 !important;
}
footer {
  padding: 2rem 0 0 0;
}