/*
	Theme Name: Majex
// * @author	Imcom
// * @copyright	(C) 2025 Imcom. All rights reserved.
// * @license	Commercial : i file del autore non possono essere modificati, copiati, redistribuiti
// * @license	Commercial : senza l'autorizzazione dell'autore

*/
:root {
--color-red: #e51b29;
}
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Tipografia di base */
/*
.offcanvas-menu .offcanvas-inner a {
    color: #810303 !important; 
}
    */
.burger-icon > span {
  display: block;
  height: 3px !important;
  background-color: #ffffff;
}

/* Tipografia titoli */
h1, h2, h3, h4 {font-weight: 700; line-height: 1.2; margin-bottom: 0.5em;  }
h1 { font-size: 2.5rem; margin-top: 1.5em; }
h2 { font-size: 2rem; margin-top: 1.2em; }
h3 { font-size: 1.5rem; margin-top: 1em; }
h4 { font-size: 1.2rem; margin-top: 0.8em; }
.imfs1{font-size:calc(1rem + 1vw)}.imfs2{font-size:calc(1rem + 1.5vw)}.imfs3{font-size:calc(1rem + 2vw)}
.imfs4{font-size:calc(1rem + 2.5vw)}.imfs5{font-size:calc(1rem + 3vw)}
.text-shad-full{text-shadow: 1px 1px 3px #000, -1px -1px 3px #000;}

/* controls */
.bord {border: 1px solid #860404;}

/* GTC unimedia */
.pagesize{max-width:1480px;margin:0 auto;}
.container {max-width: 1400px;}
.boxed-content {max-width:1300px;margin:0 auto;display: block;}
.full-content {width: 100%;margin: 0 auto;display: block;}
.d-grid {display:grid;}

.gtc441, .gtc421, .gtc331, .gtc321, .gtc221, .gtc211, .gtc7x5, .gtc5x7, .gtc4x8, .gtc8x4, .gtc4x7x1, .gtc2x10 {display: grid;}
@media (min-width:576px){
    .gtc441{grid-template-columns:1fr}
    .gtc421{grid-template-columns:1fr}
    .gtc321{grid-template-columns:1fr}
    .gtc331{grid-template-columns:1fr}
    .gtc221{grid-template-columns:1fr}
    .gtc211{grid-template-columns:1fr}
    .gtc7x5{grid-template-columns:1fr}
    .gtc5x7{grid-template-columns:1fr}
    .gtc4x8{grid-template-columns:1fr}
    .gtc8x4{grid-template-columns:1fr}
    .gtc4x7x1{grid-template-columns:1fr}
    .gtc2x10{grid-template-columns:1fr}
  }

@media (min-width:768px){
  .gtc421{grid-template-columns:1fr 1fr}
  .gtc441{grid-template-columns:1fr 1fr 1fr 1fr}
  .gtc321{grid-template-columns:1fr 1fr}
  .gtc331{grid-template-columns:1fr}
  .gtc221{grid-template-columns:1fr 1fr}
}
@media (min-width:992px){
  .gtc421{grid-template-columns:1fr 1fr}
  .gtc441{grid-template-columns:1fr 1fr 1fr 1fr}
  .gtc321{grid-template-columns:1fr 1fr}
  .gtc221{grid-template-columns:1fr 1fr}
  .gtc331{grid-template-columns:1fr 1fr 1fr}
  .gtc7x5{grid-template-columns:7fr 5fr}
  .gtc5x7{grid-template-columns:5fr 7fr}
  .gtc4x8{grid-template-columns:4fr 8fr}
  .gtc8x4{grid-template-columns:8fr 4fr;}
  .gtc4x7x1{grid-template-columns:4fr 7fr 1fr;}
  .gtc2x10{grid-template-columns:2fr 10fr;}
}

@media (min-width:1200px){
    .gtc421{grid-template-columns:1fr 1fr 1fr 1fr}
    .gtc211{grid-template-columns:1fr 1fr}
    .gtc321{grid-template-columns:1fr 1fr 1fr}
    .gtc331{grid-template-columns:1fr 1fr 1fr}
    .gtc7x5{grid-template-columns:7fr 5fr}
    
  }

@media (min-width: 1400px) {}
/* end GTC unimedia */

/* Alineamenti */
.allign-v{align-items:center!important;}
.allign-h{justify-content:center!important; }

.gap-0{grid-gap:0!important;}
.gap-15, .gap15{grid-gap:15px;}
.gap-30, .gap30{grid-gap:30px;}
.gap-60, .gap60{grid-gap:60px;}
.colgap-15 {column-gap: 15px;}
.colgap-30 {column-gap: 30px;}
.colgap-100 {column-gap: 100px;}

.nomargin {margin: 0 !important; --bs-gutter-x: 0rem !important;}

.d-flex-v{display:flex;flex-direction:row;flex-wrap:wrap;}
.d-auto{display:table;width:auto;}
.alignv{display: grid; align-items:center!important;}
.alignh{display: grid; justify-content:center!important; }
.alignvh {display: grid; justify-content:center!important; align-items:center!important;}

.px1{padding-left: 1rem; padding-right: 1rem;}
.px3{padding-left: 3rem; padding-right: 3rem;}
.py3{padding-top: 3rem; padding-bottom: 3rem;}
.py5{padding-top: 5rem; padding-bottom: 5rem;}
.py8{padding-top: 8rem; padding-bottom: 8rem;}

.all-reverse div:nth-child(2){grid-column-start:1;grid-row-start:1;}
.img-bg {background-repeat: no-repeat; background-size:cover;}

/* Paragrafi e testo */
p { margin-bottom: 1em; }
a { color: #094c80; text-decoration: none; transition: color 0.3s; -webkit-transition: color 0.3s; -moz-transition: color 0.3s; -ms-transition: color 0.3s; -o-transition: color 0.3s; }
a:hover, a:focus { color: var(--color-red); text-decoration: none; }

p, span, a, li { font-size: 1rem;}

/* Liste */
ul, ol { margin-bottom: 1em; padding-left: 2em; }

/* Native Accordion */
details {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 15px;
    transition: background 0.3s;
}
details:hover{background:#ebebeb}
details[open]{background:#fff;border-color: var(--brand-cl)}
summary{cursor:pointer;font-weight:700;font-size:18px;color:#333;user-select:none;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:'▶';display:inline-block;margin-right:10px;transition:transform .3s}
details[open] summary::before{transform:rotate(90deg)}
details p{margin-top:15px;line-height:1.6;color:#070f53}


/* Formattazione elementi base */
div, section, article, aside, header, footer, main, nav { box-sizing: border-box; }

/* Container centrale */
.container { max-width: 1400px; margin: 0 auto; padding: 0 0; }
.container-fluid {margin-right:auto;margin-left:auto;}

/* Layout a griglia flessibile */
.row { display: flex; flex-wrap: wrap; margin-left: -17px; margin-right: -17px; }
.col { flex: 1 1 0; padding: 8px; min-width: 0; }

/* Responsive: stack colonne su mobile */

@media (max-width:768px) {
  
h1 { font-size: 1.65rem;}
h2 { font-size: 1.6rem;}
.py-3, .py-4, .py-5 {padding-top: 1rem !important; padding-bottom: 1rem !important; } 
.article-details {margin-top: 0;}    
.article-details .article-header h1{font-size:1.65rem;}
    .mobile-reverse div:nth-child(2){grid-column-start:1;grid-row-start:1;}
    .hero-content img{max-width: 290px;}
    .hero-background{height: auto; padding-bottom: 40px;}
    .img-bg-hero{padding: 50px 20px;}
    .hide-on-mobile{display: none;}
    .row { flex-direction: column; margin-left: 0; margin-right: 0; padding-right: 0 ; padding-left: 0;}
    .col { padding: 0 0 16px 0; }
    .px3{padding-left: 1.5rem; padding-right: 1.5rem;}
    .py3{padding-top: 1.5rem; padding-bottom: 1.5rem;}
    .py5{padding-top: 1.5rem; padding-bottom: 1.5rem;}
    .py8{padding-top: 1.5rem; padding-bottom: 1.5rem;}
}

/* Immagini responsive e arrotondate */
img { max-width: 100%; height: auto; display: block; }
.img-rounded { border-radius: 8px; }

/* Accessibilità: focus visibile */
:focus { outline: 2px solid #1377c5; outline-offset: 2px; }

/* to add to custom css */
/*.burger-icon::before {content: "Menu ";}*/
/*#offcanvas-toggler.offcanvas-toggler-right{margin-right:20px;}*/
.offcanvas-menu .menu-child li a {color: blue;}

.offcanvas-menu ul {padding-left: 0;}
.offcanvas-menu ul a{font-size: 0.9rem;}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
    line-height: 1.5;
    font-size: 1rem;
}
.sp-dropdown.sp-dropdown-main {width: 300px !important;}
.sp-scroll-up {bottom: 25px;}
.orari-corsi .article-details {padding-left: 0; padding-right: 0;}
.com-users-login {padding-top: 60px; padding-bottom: 40px; min-height: 67vh;}
.com-users-registration {padding-top: 60px; padding-bottom: 60px;}
.com-users-reset {padding-top: 60px; padding-bottom: 60px; max-width: 1300px; margin: 0 auto;}
.com-users-remind {padding-top: 60px; padding-bottom: 60px; max-width: 1300px; margin: 0 auto;}
.menustudents-area-menu {display: flex; justify-content: center; margin-top: 30px;}

/* liste */
.lista-pillole {padding: 2rem 0;}
.lista-pillole .table {max-width: 1380px; margin: 0 auto; }
.lista-pillole .table > tbody {
  grid-template-columns: 1fr 1fr 1fr;
  display: grid;
  grid-column-gap: 30px;
}
.lista-pillole table.category tbody > tr{border: 1px solid #fff;}
.lista-pillole th {display: block;}
.table-striped > tbody > tr:nth-of-type(2n+1) > * {
  --bs-table-accent-bg: #fff !important;
}


/*   uniblog   */
.com-content-category-blog__pagination {display: flex; justify-content: center;}
.imblog-top-spaced .imblog-page {padding: 60px 0;}
.imblog-item-box{border:1px solid #51482d3d; padding-top:10px!important}
.imblog-item-box .item-content{padding:5px 10px !important; font-size: 0.98rem;}
.imblog-item-box h2 a {color:#2d2929; font-weight: bold;}
.item-page.uniblog-view h1 {
  color: var(--brand-cl);
}
.imblog-item-box .item-content h2 {
  font-size: 1.1rem;
  color: var(--brand-cl);
}
.item-page.uniblog-view {
  max-width: 1320px;
  width: 100%;
  padding-top: 60px;
  padding-right: var(--gutter-x, 0.5em);
  padding-left: var(--gutter-x, 0.5em);
  margin-right: auto;
  margin-left: auto;
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li.menu-parent > a > .menu-toggler:after, .offcanvas-menu .offcanvas-inner .sp-module ul > li.menu-parent > .menu-separator > .menu-toggler:after {content: "\f358"; font-family: "Font Awesome 6 Free"; float: right;}

/* File uload */
.easyfup label {display: block; line-height: 2; color: #860404; margin-bottom: 10px;}
.easyfup input.btn {margin-top: 20px; border: 1px solid #860404; background-color: #034717; color: #ffffff; padding: 10px 15px; cursor: pointer;}


@media (max-width:768px) {
    .imblog-top-spaced .imblog-page {padding: 15px 0;}
    .im-user-login .com-user-login {padding-top: 15px;}
    .com-users-registration {padding-top: 15px; padding-bottom: 15px;}
    .com-users-reset {padding-top: 15px; padding-bottom: 15px;}
    .com-users-remind {padding-top: 15px; padding-bottom: 15px;}
    .menustudents-area-menu {display: block;}
}