/* CSS Document for omaggioalmaestro.com */

/*_________________Generici_____________________*/
* {
   margin: 0;
   padding: 0
}

a {
   text-decoration: underline;
   color: #323232;
   transition: .3s;
}

a:hover {
   color: #3771bc;
}

body,
html {
   height: 100%;
}

body {
   position: relative;
   overflow-x: hidden;
   background-color: #e9e9e9;
   font-family: 'Open Sans', sans-serif;
   font-weight: 400;
   font-style: normal;
   color: #323232;
}

.page {
   width: 100%;
}

h1 {
   font-family: 'Roboto Slab', serif;
   font-size: 30px;
   font-weight: normal;
   letter-spacing: 2px;
   text-align: center;
   text-transform: uppercase;
   padding: 50px 0px 20px;
}

@media only screen and (max-width: 767px) {
   h1 {
      padding-top: 20px;
      font-size: 26px;
   }
}

h2 {
   font-family: 'gothic', serif;
   font-size: 20px;
   text-transform: uppercase;
   letter-spacing: 2px;
   color: #3771bc;
}

article {
   margin-bottom: 30px;
}

article.full-width {
   width: 100%;
   background-color: #000000;
   text-align: center;
   height: 450px;
}

@media only screen and (max-width: 767px) {
   article.full-width {
      height: 350px;
   }
}

article.content-viewport,
footer div.container {
   max-width: 1200px;
   margin: 0px auto 30px;
}

article.content-viewport {
   text-align: center;
}

p {
   margin: 10px 0px;
   text-align: justify;
}

/* ===============[ Layout di base           ]================= */
header {
   max-width: 1200px;
   margin: 30px auto;
   display: flex;
   justify-content: space-between;
}

/* mobile */
@media only screen and (max-width: 767px) {
   header {
      margin: 15px auto;
   }
}

.grecaptcha-badge {
   display: none;
}

/* ===============[ Button                   ]================= */
.button {
   font-family: 'Roboto Slab', serif;
   padding: 10px;
   color: #2160b5;
   border: 1px solid #2160b5;
   border-radius: 3px;
   text-transform: uppercase;
   text-decoration: none;
   font-weight: bold;
   font-size: 14px;
   transition: all .3s;
   position: relative;
   z-index: 1;
}

.button:hover {
   color: #e9e9e9;
}

.button:before,
.button:after {
   position: absolute;
   display: block;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   content: "";
   z-index: -1;
   border-radius: 3px;
}

.button:after {
   z-index: -1;
   width: 1%;
   left: 50%;
   opacity: 0;
   border-radius: 0;
   border: 1px solid #2160b5;
   background-color: #2160b5;
   transition: all .4s;
}

.button:hover:after {
   opacity: 1;
   width: 100%;
   border-radius: 3px;
   left: 0;
}








.youtube iframe {
   aspect-ratio: 1 / 0.57;
}

@media only screen and (min-width: 767px) {
   .youtube iframe {
      width: 800px;
      border-radius: 5px;
   }
}

@media only screen and (max-width: 767px) {
   .youtube iframe {
      width: 100%;
   }
}

.margin-top-30 {
   margin-top: 30px;
}

.margin-top-40 {
   margin-top: 40px;
}

.margin-top-50 {
   margin-top: 50px;
}

/* ===============[ Logo                     ]================= */
.logo img {
   display: block;
}

/* bigscreen */
@media only screen and (min-width: 767px) {}

/* mobile */
@media only screen and (max-width: 767px) {
   .logo {
      margin: 0px auto 0px;
   }

   .logo img {
      width: 250px;
   }
}

/* ===============[ Menu di navigazione      ]================= */
nav {
   width: 100%;
   max-width: 1200px;
   margin: 0px auto;
   padding-bottom: 40px;
}

nav ul {
   display: flex;
   justify-content: space-between;
   text-align: center;
   list-style: none;
}

nav ul li {
   display: flex;
   flex-direction: column;
   justify-content: center;
   min-height: 30px;
   text-transform: uppercase;
   position: relative;
}

nav ul li a {
   display: block;
   position: relative;
   transition: all .3s;
   font-family: 'Roboto Slab', serif;
   font-size: 17px;
   font-weight: bold;
   letter-spacing: 2.8px;
   text-decoration: none;
}

nav ul li a span {
   display: block;
   font-size: 14px;
   font-weight: 300;
   text-transform: none;
   letter-spacing: 0.5px;
}

nav ul li a:hover,
nav ul li.item-selected a {
   color: #2160b5;
   background-color: #dddddd;
}

/* bigscreen */
@media only screen and (min-width: 767px) {
   nav .logo {
      display: none;
   }

   .hamburger-menu {
      display: none;
   }

   .navbar-close {
      display: none;
   }

   nav {
      border-bottom: 1px solid #cccccc;
   }

   body.page-home nav {
      border-bottom: none;
   }

   nav ul {
      width: 70%;
      margin: 0px 15%;
   }

   nav ul li a {
      border-radius: 5px;
      padding: 5px 10px;
   }
}

/* mobile */
@media only screen and (max-width: 767px) {
   .hamburger-menu {
      width: 45px;
      height: 45px;
      margin: 0px auto 15px;
      border-radius: 3px;
      background-image: url('../images/hamburger_menu.png?v=2');
      background-color: #323232;
      background-position: center;
      background-size: cover;
   }

   nav {
      display: block;
      position: fixed;
      top: 0;
      right: -100%;
      width: 100%;
      height: 100vh;
      background-color: #e9e9e9;
      z-index: 100;
      transition: right 0.3s ease-in-out;
   }

   body.show-navbar {
      overflow-y: hidden;
   }

   body.show-navbar .navbar {
      right: 0;
   }

   nav .logo img {
      margin: 15px auto;
   }

   .navbar-close .icon {
      font-size: 28px;
      color: #323232;
      position: absolute;
      top: 0;
      right: 0;
      padding: 10px;
   }

   nav ul {
      width: 100%;
      height: 50%;
   }

   nav ul {
      flex-direction: column;
      flex-wrap: nowrap;
      text-align: center;
      margin-bottom: 40px;
   }

   nav li {
      margin: 1px 0px;
   }

   nav li.item-selected {
      background-color: #333333;
   }

   nav ul li a {
      font-size: 22px;
      padding: 5px;
   }

   nav ul li a span {
      font-size: 14px;
   }
}

/* ===============[ Social                   ]================= */
.social ul {
   height: 90%;
   margin-top: 5px;
   display: flex;
   list-style: none;
}

.social li a {
   display: block;
   background-size: 100%;
   filter: grayscale(100%) contrast(200%);
   transition: .4s;
}

.social li a img {
   display: block;
}

.social li a:hover {
   filter: none;
}

.social li.facebook a {
   background-image: url("../images/social/facebook.png");
}

.social li.instagram a {
   background-image: url("../images/social/instagram.png");
}

.social li.youtube a {
   background-image: url("../images/social/youtube.png");
}

/* bigscreen */
@media only screen and (min-width: 767px) {

   header .empty,
   header .social {
      width: 70px;
      text-align: right;
   }

   .social .social-label,
   nav .social {
      display: none;
   }

   header .social ul {
      flex-direction: column;
      justify-content: space-between;
   }

   .social li a {
      width: 42px;
      height: 42px;
   }
}

/* mobile */
@media only screen and (max-width: 767px) {

   header .empty,
   header .social {
      display: none;
   }

   nav .social {
      text-align: center;
   }

   nav .social ul {
      flex-direction: row;
      justify-content: center;
   }

   nav .social li {
      margin: 5px;
   }

   nav .social li a {
      width: 27px;
      height: 27px;
   }
}

/* ===============[ Footer                   ]================= */
footer {
   background-color: #323232;
   margin-top: 80px;
   padding-top: 10px;
   padding-bottom: 30px;
}

footer,
footer a {
   font-family: 'Roboto Slab', serif;
   font-size: 16px;
   color: #dddddd;
   text-decoration: none;
}

footer li {
   list-style: none;
   padding-bottom: 6px;
}

footer p {
   font-weight: 300;
}

footer div.container {
   min-height: 100px;
   padding: 30px;
   display: flex;
   justify-content: space-between;
}

footer div.container h3 {
   margin: 0px;
   font-size: 32px;
   letter-spacing: 1.8px;
}

footer div.container h4 {
   font-size: 29px;
   font-weight: 300;
   letter-spacing: 1px;
   text-transform: uppercase;
   margin-bottom: 10px;
}

footer div.container h4:not(:first-of-type) {
   margin-top: 50px;
}

footer .icon {
   font-size: 32px;
   margin-right: 15px;
}

footer div.container li.mail,
footer div.container li.location {
   margin-bottom: 15px;
   display: flex;
   flex-direction: row;
   align-items: center;
}

/* bigscreen */
@media only screen and (min-width: 767px) {
   footer div.container {
      flex-direction: row;
   }
}

/* mobile */
@media only screen and (max-width: 767px) {
   footer div.container {
      flex-direction: column;
   }

   footer article {
      margin-top: 50px;
   }

   footer article {
      margin-bottom: 0px;
   }

   footer article:nth-of-type(2),
   footer article:last-of-type ul:last-of-type,
   footer article:last-of-type h4:last-of-type {
      display: none;
   }
}

/* ============================================================ */
/* ===============[ Pagina HOME - Inizio     ]================= */

/*__________________ Upcoming events ________________ */
div.read-more {
   margin-top: 25px;
}

@media only screen and (min-width: 767px) {
   div.read-more {
      text-align: right;
   }
}

@media only screen and (max-width: 767px) {
   div.read-more {
      text-align: center;
   }
}

.upcoming-events {
   width: 100%;
   height: 100%;
   background-image: url("../images/bg_upcoming_events_20261108_quid_small.png");
   background-position: center;
   background-repeat: no-repeat;
   background-size: auto 100%;
}

@media only screen and (max-width: 767px) {
   .upcoming-events {
      background-image: url("../images/bg_upcoming_events_20261108_quid_small.png");
      background-size: auto 100%;
   }
}

/*__________________ About preview __________________ */
.homepage-welcome-sub {
   margin: 10px auto 30px !important;
}

.homepage-welcome-sub p {
   text-align: center;
   margin: 5px;
   font-style: italic;
}

.homepage-welcome {
   display: flex;
   justify-content: space-between;
}

@media only screen and (max-width: 767px) {
   .homepage-welcome {
      flex-direction: column;
   }
}

.homepage-welcome>div {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

.homepage-welcome-about-preview div:first-of-type {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   height: 100%;
}

@media only screen and (min-width: 767px) {
   .homepage-welcome-media-preview iframe {
      width: 775px;
   }

   .homepage-welcome-about-preview {
      width: 400px;
   }
}

@media only screen and (max-width: 767px) {
   .homepage-welcome-about-preview {
      width: 100%;
      margin-top: 25px;
      padding: 0px 15px;
      box-sizing: border-box;
   }
}


/* ===============[ Pagina HOME - Fine       ]================= */
/* ============================================================ */




/* ============================================================ */
/* ===============[ Pagina BAND - Inizio     ]================= */

/*__________________ About us      __________________ */
.about-us {
   display: flex;
   justify-content: space-between;
}

.about-us>div {
   width: 50%;
   box-sizing: border-box;
   padding: 20px;
}

@media only screen and (max-width: 767px) {
   .about-us {
      flex-direction: column;
   }

   .about-us>div {
      width: 100%;
   }
}

/*__________________ Band          __________________ */
.about-us-story img {
   width: 100%;
   margin: 0px 0px 15px;
   border-radius: 5px;
}

.about-us-today img {
   width: 100%;
   margin: 15px 0px 0px;
   border-radius: 5px;
}

.about-us p {
   text-align: justify;
}

.about-band ul {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
}

.about-band ul li {
   width: 25%;
   box-sizing: border-box;
   list-style-type: none;
   padding: 20px;
}

.about-band ul li img {
   width: 100%;
   border-radius: 5px;
}

.about-band ul li p {
   text-align: center;
}

.about-band ul li p:first-of-type {
   font-family: 'gothic';
   font-size: 20px;
   font-weight: bold;
   color: #3771bc;
   margin-bottom: 0px;
}

.about-band ul li p:last-of-type {
   margin-top: 5px;
}

@media only screen and (max-width: 767px) {
   .about-band ul li {
      width: 50%;
   }

   .about-band ul li p:first-of-type {
      font-size: 18px;
      letter-spacing: -0.5px;
   }
}


/* ===============[ Pagina BAND - Fine       ]================= */
/* ============================================================ */


/* ============================================================ */
/* =================[ Pagina TOUR - Inizio ]=================== */




.tour-pastgigs ul li {
   display: flex;
   padding: 5px 10px;
}

.tour-pastgigs ul li {
   display: flex;
   flex-direction: row;
   align-items: flex-start;
}

.tour-pastgigs ul li div.gig-info {
   display: flex;
   flex-direction: row;
   align-items: center;
}

.tour-pastgigs ul li span.gig-date {
   padding: 3px 30px 3px 10px;
   font-weight: bold;
   white-space: nowrap;
   overflow-wrap: normal;
}

.tour-pastgigs ul li span.gig-event {
   color: #999999;
   font-weight: bold;
}

/* bigscreen */
@media only screen and (min-width: 767px) {
   .tour-pastgigs ul li span.gig-venue:before {
      content: '@';
      padding: 0px 10px;
   }
}

.tour-pastgigs .gig-status-badge {
   display: flex;
   flex-direction: row;
   align-items: center;
}

.tour-pastgigs .gig-status-badge .icon {
   font-size: 20px;
   margin-right: 6px;
}

.tour-pastgigs .gig-status-badge span:not(:first-of-type) {
   font-weight: bold;
   font-size: 14px;
}

.tour-pastgigs .gig-status-badge.gig-canceled .icon {
   background-color: #c24046;
   color: #ffffff;
   border-radius: 20px;
   padding: 1px 4px 2px;
   text-align: center;
}

.tour-pastgigs .gig-status-badge.gig-canceled span:not(:first-of-type) {
   color: #c24046;
}

.tour-pastgigs .gig-status-badge.gig-privateevent {
   color: #8b8b8b;
}

/* bigscreen */
@media only screen and (min-width: 767px) {
   .tour-pastgigs .gig-status-badge .icon {
      margin-left: 10px;
   }

   .tour-pastgigs ul li span.gig-venue:before {
      content: '@';
      padding: 0px 10px;
   }
}

/* mobile */
@media only screen and (max-width: 767px) {
   .tour-pastgigs ul li {
      padding-top: 10px;
      padding-bottom: 10px;
   }

   .tour-pastgigs ul li span.gig-venue {
      font-size: 14px;
   }

   .tour-pastgigs ul li span.gig-date {
      padding-top: 0px;
   }

   .tour-pastgigs .gig-status-badge {
      margin-top: 7px;
   }

   .tour-pastgigs ul li div.gig-info {
      flex-direction: column;
      text-align: left;
      align-items: flex-start;
   }
}


/* =================[ Pagina TOUR - Fine   ]=================== */
/* ============================================================ */


/* ============================================================ */
/* ===============[ Pagina CONTACTS - Inizio ]================= */
.contacts {
   display: flex;
}

.contacts>* {
   box-sizing: border-box;
   padding: 0px 30px;
}

.contacts div p:first-of-type {
   margin-bottom: 30px;
}

.contacts form {
   display: flex;
   flex-direction: column;
   align-items: center;
}

input,
textarea,
button {
   border: none;
   border-radius: 5px;
   margin-bottom: 10px;
   padding: 10px 20px;
   font-family: 'Open Sans', sans-serif;
   font-size: 14px;
}

.contacts input,
.contacts textarea {
   width: 100%;
   box-sizing: border-box;
}

.contacts textarea {
   height: 150px;
   margin-bottom: 30px;
}


@media only screen and (min-width: 767px) {
   .contacts div {
      width: 30%;
      border-right: 1px solid #ccc;
   }

   .contacts form {
      width: 70%;
      margin-top: 10px;
   }
}

@media only screen and (max-width: 767px) {
   .contacts {
      flex-direction: column;
   }

   .contacts div,
   .contacts form {
      width: 100%;
   }

   .contacts div {
      margin-bottom: 30px;
   }
}

/* ===============[ Pagina CONTACTS - Fine   ]================= */
/* ============================================================ */