/*
	Theme Name: Theme ISGv2
	Author: ISG
	Description: A theme for the ISG Content Network
	Version: 2.0
	License: Proprietary
	License URI: http://www.isgroup.biz/en/privacy.html
	
	Copyright (C) ISGroup SRL - All Rights Reserved
	Unauthorized copying of this file, via any medium is strictly prohibited.
	Proprietary and confidential.
*/

/*
	01 - Global
*/

#page {
	padding-top: 90px;
}

.page .container#page ol li, .page .container#page ul li {
	margin-bottom: 1em;
}

/* Footer Styles */
#footer {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.footer-widgets {
	background-color: #f8f9fa;
}

.footer-copyright {
	background-color: #f1f1f1;
}

/* Add styles for widget titles in footer */
.footer-widgets .widget-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 1.2rem;
    color: #333;
}

/* Add styles for widget content in footer */
.footer-widgets .widget-container {
    margin-bottom: 1.5rem;
}

.footer-widgets ul {
    list-style: none;
    padding-left: 0;
}

.footer-widgets ul li {
    padding: 0.3rem 0;
}

.footer-widgets ul li a {
    color: #555;
    text-decoration: none;
}

.footer-widgets ul li a:hover {
    color: #000;
}

body.admin-bar .fixed-top {
	margin-top: 32px;
}

.fixed-top {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 3px rgba(0,0,0,0.1);
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}

/* Bootstrap 5 Navbar Styles */
.navbar .nav-link {
    padding: 0.5rem 1rem;
    color: rgba(0, 0, 0, 0.55);
    font-weight: 500;
}

/* Styling for the last nav-link in the first menu item */
#menu-main > li:last-child > .nav-link {
    background: #d50000;
    border-radius: 4px;
    padding-left: 1em;
    padding-right: 1em;
    color: white;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Ensure navbar brand stays left and toggler stays right */
.navbar-brand {
    position: relative !important;
    left: 0 !important;
}

.navbar-toggler {
    margin-left: auto;
}

@media (max-width: 768px) {
    .navbar-collapse {
        padding-top: 1rem;
        clear: both;
    }
}


.navbar .nav-item.active .nav-link,
.navbar .nav-item .nav-link.active {
    color: rgba(0, 0, 0, 0.9);
}

.navbar .dropdown-menu {
    margin-top: 0;
    border-radius: 0;
    border: none;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.navbar .dropdown-item {
    padding: 0.5rem 1.5rem;
}


/* WordPress Archives and Categories Lists */
.wp-block-archives-list,
.wp-block-categories-list {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

.wp-block-archives-list li,
.wp-block-categories-list li {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.wp-block-archives-list li:last-child,
.wp-block-categories-list li:last-child {
    border-bottom: none;
}

.wp-block-archives-list li a,
.wp-block-categories-list li a {
    color: #555;
    text-decoration: none;
    display: block;
}

.wp-block-archives-list li a:hover,
.wp-block-categories-list li a:hover {
    color: #000;
}

#page {
	padding-top: 90px;
}

#downloadLink {
	float: right;
}

.hero-unit {
	padding: 30px 60px 60px;
}



.media iframe {
	border: 0;
}

/*DA GANAPATI THEME*/
html {
	overflow-y: scroll;
}

body {
	background-color: #fefefe;
	font-family: 'Raleway', sans-serif;
}

@media(max-width:992px) {
	#sidebar {
		padding-left: 0;
	}
	
	.navbar-header {
		float: right;
	}
}

@media (max-width: 768px) {
	.navbar-collapse {
		padding-top: 1rem;
		clear: both;
	}
}

#page {
	padding-top: 60px;
}


#content {
	padding: 0;
}

#sidebar {
	padding-right: 0;
}

.breadcrumb {
	margin-top: 1em;
	margin-left: 3px;
	background-color: transparent;
}

.row {
	margin-right: 0;
	margin-left: 0;
}

.page-register-buttons {
	padding-top: 60px;
}


/*

	Actions

*/

.md-show {
	display: none !important;
}

@media(min-width: 1200px) {
	#page .row div.colorBox:nth-child(2n),
	#page .row div.noPadding:nth-child(2n) {
		padding-right: 15px;
	}
}

@media(min-width:992px) {
	.md-hide {
		display: none !important;
	}
	
	.md-show {
		display: inline-block !important;
	}
	
	#page .row div.colorBox:nth-child(odd),
	#page .row div.noPadding:nth-child(odd) {
		padding-right: 15px;
	}
}

#page .row div.colorBox,
#page .row div.noPadding {
	padding-left: 0;
	padding-right: 0;
}

#page .row div.colorBox:first-of-type,
#page .row div.noPadding:first-of-type {
	padding-left: 0;
}

#page .row div.colorBox:nth-child(4n),
#page .row div.noPadding:nth-child(4n) {
	padding-right: 0;
}

/*

	Navbar

*/

.navbar-fixed-top, .navbar-fixed-bottom {
	position: fixed;
}


@media(max-width: 768px) {
	.navbar-nav .pull-right {
		float: none !important;
	}
}

.navbar-nav-last {
	padding-right: 0 !important;
	background-color: green;
}

/*

	Sidebar

*/

.menu-actions > li > a {
	padding: 10px 0;
	background-color: blue;
}

@media(min-width:768px) {
	.navbar-top-links .dropdown-messages,
	.navbar-top-links .dropdown-tasks,
	.navbar-top-links .dropdown-alerts {
		margin-left: auto;
	}
}

/*

	Theme ISG

*/

img{
	max-width: 100%;
}

.content-blog ul{
	padding-left: 0;
} 

.content-blog .post-container {
	list-style: none;
	border-bottom: 1px solid #e7e7e7;
	padding: 2em 0 1em;
	color: #555;
}

.content-blog .grid .post-container:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}

.content-blog .post-container .title{
	color: #333;
	padding-bottom: 15px;
}


.content-single {
	line-height: 1.6;
	font-size: 18px;
	max-width: 800px;
	margin: 30px auto;
}

.content-single p {
    
}

.content-single img {
	margin-bottom: 20px;
}

#singlePostTitle {
	margin-bottom: 50px;
}

/* .content-blog .post-container:after { */
	/* background: none repeat scroll 0 0 #f4f4f4;
	content: "";
	height: 2px;
	position: absolute;
	width: 60%; */
/* } */

.post-date {
	color: #aaa;
	letter-spacing: .5px;
}

.separator {
	width: 100%;
	height: 2px;
	background-color: #e7e7e7;
}

#comments {
	margin-top: 30px;
}


.content-blog .post-container h2 {
	margin-top: 0px;
}

.title:hover {
	text-decoration: none;
}

.comments-area .form-group {
	padding-left: 0px;
	padding-right: 0px;
}

.comments-area .form-group ~ .form-group{
	padding-left: 10px;
}




@media only screen and (max-width: 500px) {
	.sub-menu > li > a {
		padding-top: 10px;
		padding-bottom: 10px;
		line-height: 20px;
		margin-left: 10px;
		color: #777;
	}
	.sub-menu{
		position: relative;
		/* top: 80%;
		left: 0;
		z-index: 1000; */
		display: block;
		float: left;
		/* min-width: 160px; */
		width: 100%;
		padding: 5px 0;
		margin: 2px 0 0;
		font-size: 14px;
		text-align: left;
		list-style: none;
		border: none;
		box-shadow: none;
		background-color: transparent;
		/* background-color: #fff; */
		/* -webkit-background-clip: padding-box; */
		/* background-clip: padding-box; */
		/* border: 1px solid #ccc;
		border: 1px solid rgba(0, 0, 0, .15);
		border-radius: 4px;
		-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
		box-shadow: 0 6px 12px rgba(0, 0, 0, .175); */
	}   
}

/*

	Siti satellite "Guida"

*/

.checklist,
.thesaurus,
.errors,
.faq {
	list-style: none;
	padding-left: 0;
	margin: 40px 0;
}

.checklist,
.thesaurus,
.errors {
	display: grid;
	gap: 16px;
}

.checklist li,
.thesaurus li,
.errors li {
	position: relative;
	padding: 18px 24px 18px 56px;
	border-radius: 6px;
	font-size: 1.05rem;
	line-height: 1.6;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.checklist li {
	background-color: #f7fafd;
	color: #2a2a2a;
	box-shadow: inset 0 0 0 1px #e1e8ed;
}

.checklist li::before {
	content: "✔";
	position: absolute;
	left: 16px;
	top: 18px;
	width: 24px;
	height: 24px;
	background-color: #0070c0;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	line-height: 24px;
	text-align: center;
	border-radius: 50%;
	box-shadow: 0 0 0 2px #fff;
}

.checklist li:hover {
	background-color: #e6f2fb;
	box-shadow: inset 0 0 0 1px #bcdff5;
}

.thesaurus li {
	background-color: #fffdf8;
	color: #3a3a3a;
	box-shadow: inset 0 0 0 1px #e8e4d9;
}

.thesaurus li::before {
	content: "📘";
	position: absolute;
	left: 20px;
	top: 18px;
	font-size: 20px;
}

.thesaurus li strong {
	display: block;
	font-weight: 600;
	color: #5a4600;
	margin-bottom: 6px;
}

.thesaurus li:hover {
	background-color: #fdfaf2;
	box-shadow: inset 0 0 0 1px #dcd2ba;
}

.errors li {
	background-color: #fdf5f5;
	color: #3a3a3a;
	box-shadow: inset 0 0 0 1px #f0cfcf;
}

.errors li::before {
	content: "❌";
	position: absolute;
	left: 20px;
	top: 18px;
	font-size: 18px;
	color: #d9534f;
}

.errors li strong {
	color: #b02a28;
	font-weight: 600;
}

.faq-title {
	position: relative;
	padding: 16px 20px 16px 52px;
	margin-top: 20px;
	background-color: #f0f4f8;
	font-weight: bold;
	color: #003366;
	border-radius: 6px 6px 0 0;
	box-shadow: inset 0 0 0 1px #dbe3eb;
}

.faq-title::before {
	content: "Q";
	position: absolute;
	left: 16px;
	top: 16px;
	background-color: #0070c0;
	color: #fff;
	width: 24px;
	height: 24px;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	line-height: 24px;
	border-radius: 50%;
	box-shadow: 0 0 0 2px #fff;
}

.faq-text {
	padding: 16px 20px;
	margin-bottom: 24px;
	background-color: #ffffff;
	border-radius: 0 0 6px 6px;
	box-shadow: inset 0 0 0 1px #dbe3eb;
	font-size: 1.02rem;
	color: #444;
	line-height: 1.6;
}

.faq-title:hover,
.faq-text:hover {
	background-color: #e9f1f8;
}

/* Leggibilità */

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 1rem;
}

/* Home page */

/* Stili per chapter-content come fogli A4 */
.chapter-title {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    font-size: 1.75rem;
}

ul.chapter-content {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
}

ul.chapter-content li {
    background-color: #2c3e50; /* Sfondo scuro per card senza immagine */
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    min-height: 150px;
    display: flex;
    align-items: flex-start;
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s;
    aspect-ratio: 1 / 1.414; /* Proporzione A4 */
    font-size: 2em;
    font-weight: 600;
    line-height: 1em;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
    overflow: hidden; /* Assicura che l'angolino non esca dal bordo */
}

ul.chapter-content li, 
ul.chapter-content li a, 
ul.chapter-content li span {
    padding: 20% 1em 1em 1em;
}

/* Aggiunge un overlay gradiente per migliorare la leggibilità del testo */
ul.chapter-content li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.4) 30%, rgba(0,0,0,0.1) 70%, rgba(0,0,0,0) 100%);
    z-index: -1;
    pointer-events: none;
}

ul.chapter-content li a, 
ul.chapter-content li span {
    position: absolute;
    z-index: 2;
    color: white;
    text-decoration: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
}

ul.chapter-content li:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

/* Usa l'immagine all'interno del li come sfondo */
ul.chapter-content li {
    position: relative;
    z-index: 1;
}

ul.chapter-content li img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    border-radius: 5px;
}

ul.chapter-content li::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: linear-gradient(135deg, transparent 50%, rgba(255,255,255,0.2) 50%);
    border-radius: 0;
    z-index: 3;
}

/* Responsive per tablet */
@media (min-width: 768px) {
    ul.chapter-content li {
        width: calc(50% - 10px);
    }
}

/* Responsive per desktop (3 per riga) */
@media (min-width: 992px) {
    ul.chapter-content li {
        width: calc(33.333% - 14px);
    }
}

/* Homepage hero */

.homepage-hero {
	background: radial-gradient(circle at center, #d4e7f9 0%, #c0dcf5 100%);
	color: #0d0d0d;
	text-align: center;
	padding: 50px 20px 40px 20px !important;
	position: relative;
	overflow: hidden;
}

.homepage-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center, #ecf1f5 0%, #98c9f5 100%);
	z-index: 0;
}

.homepage-hero h1 {
	position: relative;
	z-index: 1;
	font-size: 4em;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #111;
	max-width: 820px;
	margin: 0 auto;
}

.homepage-hero p {
	position: relative;
	z-index: 1;
	font-size: 1.3rem;
	line-height: 1.8;
	color: #444;
	max-width: 700px;
	margin: 0 auto;
}

.homepage-hero .cta {
	position: relative;
	z-index: 1;
	margin-top: 48px;
	display: inline-block;
	padding: 14px 32px;
	background: linear-gradient(to right, #007aff, #4a90e2);
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	border-radius: 10px;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

.homepage-hero .cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
}
