/*
Theme Name: Codit
Theme URI: 
Author: Studio70
Author URI: http://www.studio70.it/
Description: 
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: 
Text Domain: https://www.codit.net
*/

@import url('https://fonts.googleapis.com/css?family=Raleway');

/* 1.0	RESET ============= */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, 
blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, 
kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, 
li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, 
tr, th, td,article, aside, canvas, details, figcaption, figure,footer, 
header, hgroup, menu, nav, section, summary,time, mark, audio, video 	{ margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
body 																	{ line-height:1; font-family: 'Raleway', sans-serif;}
article,aside,details, figcaption,figure,footer, 
header,hgroup,menu,nav,section 											{ display:block;}
nav ul 																	{ list-style:none;}
blockquote, q 															{ quotes:none;}
blockquote:before, blockquote:after,q:before, q:after					{ content:''; content:none;}
a 																		{ margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; text-decoration:none; color:#4A4A4A; text-rendering: geometricPrecision;}
ins 																	{ background-color:#ff9; color:#000; text-decoration:none;}
mark 																	{ background-color:#ff9; color:#000; font-style:italic; font-weight:bold;}
del 																	{ text-decoration: line-through;}
abbr[title], dfn[title] 												{ border-bottom:1px dotted; cursor:help;}
table 																	{ border-collapse:collapse; border-spacing:0; font-family: 'Raleway', sans-serif;}
hr 																		{ display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
input, select				 											{ vertical-align:middle;}	


/* 1.1 FORMATTAZIONE POST ======= */
.aligncenter,div.aligncenter 		{ display: block; margin-left: auto; margin-right: auto; }
.alignleft 							{ float: left; margin-right:10px;}
.alignright 						{ float: right; margin-left:10px;}
.wp-caption 						{ border: 1px solid #ddd; text-align: center; background-color: #f3f3f3; padding-top: 4px; margin: 10px; -moz-border-radius: 3px; -khtml-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
.wp-caption img 					{ margin: 0; padding: 0; border: 0 none; }
.wp-caption p.wp-caption-text 		{ font-size: 11px; line-height: 17px; padding: 0 4px 5px; margin: 0;}
.size-full							{ margin-top:19px !important;}

/* 1.2 CONTACT FORM ============= */
div.wpcf7-validation-errors,
div.wpcf7-mail-sent-ok 				{ border: none !important;}


/* 2.0 GENERAL */
body 																																{ position:relative;}
.clear 																															{ clear:both;}
.wrap 																															{ width: 1200px; position: relative; margin: 0 auto; padding: 0; font-size: 18px; line-height: 45px;}
.inner 																															{ position: relative; display: inline-block;}
							
/* 3.0 HEADER */							
header 																															{ width: 100%; position: absolute; z-index: 9;}
.menublock																													{ border-top: solid 2px #ffc930; border-bottom: solid 2px #ffc930; margin: 45px 0; padding: 30px 0; width: 100%; position: relative; background-color: rgba(0, 0, 0, 0.55);}
.menuleft 																													{ width: 40%; float: left; margin:-12px 0 0 0;}
.menuright 																													{ width: 40%; float: left; margin:-12px 0 0 0;}
.logo 																															{ width: 20%; float: left; }
.logo img 																													{ width: 220px; height: auto; margin: -58px auto 0; display: block;}
							
/* 3.1 MENU */							
.menuleft li, .menuright li 																				{ list-style: none; float: left; padding: 0; margin: -10px 15px 0 15px;}
.menuleft li a, .menuright li a 																		{ color: #fff; font-size: 14px; letter-spacing: 1px;}
.menu-menu-left-container																						{ float: left; }
.menu-menu-right-container 																					{ float: right; }
.menuleft li.current_page_item, .menuright li.current_page_item 		{ border-bottom: 2px solid #ffc930; width: fit-content; padding: 0 0 5px 0;}

/* 4.0 BANNER */
.banner 																														{ position: relative; width: 100%; margin: 0; padding: 0;}
.banner-slider-container 																						{ position: relative; width: 100%; height: 100%;}
.banner-slider 																											{ width: 100%; height: 100%; position: relative;}
.banner-slider .swiper-slide 																				{ width: 100%; height: 100%;}
.banner-item 																												{ width: 100%; height: 100%; position: relative;}
.banner-item img 																										{ width: 100%; height: 100%; object-fit: cover; display: block;}
.banner-next, .banner-prev 																					{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 44px; height: 44px; margin-top: 0; color: white; background: rgba(0, 0, 0, 0.5); border-radius: 50%; transition: all 0.3s ease; }
.banner-next 																												{ right: 20px;}
.banner-prev 																												{ left: 20px;}
.banner-next:after, .banner-prev:after 															{ font-size: 18px; font-weight: 700;}
.bg 																																{ height: 49px; background-image: url(img/bg-border.png); background-repeat: repeat-x; margin: -49px 0 0 0; z-index: 9999999; position: relative;}
												
@media (max-width: 768px) {												
.banner-next, .banner-prev 																					{ width: 35px; height: 35px;}
.banner-next:after, .banner-prev:after 															{ font-size: 14px;}
.banner-next 																												{ right: 10px;}
.banner-prev 																												{ left: 10px; }
}



/* 4.1 HOME */
.home .left 																												{ float: left; width: 20%; font-size: 38px; line-height: 55px; margin: 0 10% 0 0; color: #333; }
.home .right 																												{ float: left; width: 65%; margin: 0 0 0 5%; line-height: 30px; font-size: 16px; color: #333; border: none; padding: 0;}
.home .block 																												{ background-image: url(img/bg.jpg); background-repeat: no-repeat; margin: 50px 0 0 0; line-height: 30px; font-size: 16px; color: #333;}
h1 																																	{ text-align: center; margin: 50px auto 0; font-size: 26px; color: #404694; border-bottom: 3px solid #ffc930; width: fit-content; padding-bottom: 15px; color: #333;}
.offerta img 																												{ width: 100%; height: auto; }
.offerta 																														{ width: 50%; margin: 0 auto;}
.offerta:nth-child(even) 																						{ float: right; }
							
/* 5.0 PAGINE */							
.title 																															{ position: absolute; bottom: 90px; width: 100%; text-align: center;}
.title h1 																													{ font-size: 26px; color: #404694; margin: 0; border: none; width: auto; padding: 0; color: #ffc930; text-transform: uppercase; letter-spacing: 2px; text-shadow: 0px 3px 2px #000;}
.left 																															{ width: 70%; line-height: 30px; float: left;}
.left ul 																														{ padding: 0 0 0 18px; }
.left h2 																														{ font-size: 20px; letter-spacing: 1px; color: #545454; margin: 25px 0 10px 0;}
.left h3 																														{ font-size: 18px; letter-spacing: 1px; color: #545454; margin: 25px 0 10px 0;}
.left h4 																														{ font-size: 16px; letter-spacing: 1px; color: #545454; margin: 25px 0 10px 0;}
.right 																															{ width: 25%; float: right; padding: 18px; line-height: 30px}
.right li 																													{ list-style: none; }
.right h2 																													{ font-size: 20px; letter-spacing: 1px; color: #545454; margin: 5px 0 15px 0;}
.assl-top-bar 																											{ display: none !important; }
.left img 																													{ width: 100%; height: auto; }
							
							
/* 6.0 LOGO */							
.rt-wpls .single-logo h3 																						{ margin: 5px 0 10px !important; font-size: 14px !important; letter-spacing: 0 !important;}
.single-logo-container> * 																					{ text-align: center !important; display: block !important; vertical-align: middle; font-size: 14px !important; line-height: 20px !important;}
.rt-wpls .single-logo img 																					{ padding: 0px !important; max-width: 100%; display: inline-block;}
.rt-wpls .single-logo 																							{ margin: 0px 0 26px 0 !important; height: 310px !important; border: 1px solid #0c394c40 !important; box-shadow: 0px 2px 0px #147cac52;}
.logo_home 																													{ margin: 40px 0; width: 100%;}
.logo-carousel-container 																						{ position: relative; width: 100%; margin: 0; padding: 20px 40px; box-sizing: border-box;}
.logo-carousel 																											{ overflow: hidden; border-radius: 10px;}
.logo-item 																													{ display: flex; align-items: center; justify-content: center; height: 180px; padding: 30px; background: #fff; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.logo-item:hover 																										{ transform: translateY(-5px);}
.logo-item img 																											{ max-width: 100%; max-height: 120px; width: auto; height: auto; object-fit: cover; transition: opacity 0.3s ease;}
.logo-item a:hover img 																							{ opacity: 0.8;}
.swiper-button-next, .swiper-button-prev 														{ color: #333; background: transparent; width: 50px; height: 50px; margin-top: -25px; box-shadow: none;}
.swiper-button-next:after, .swiper-button-prev:after 								{ font-size: 20px; font-weight: bold;}
.swiper-button-prev, .swiper-button-next 														{ color: #ffc930 !important; box-shadow: none; height: 30px !important; width: 30px !important;}
							
@media (max-width: 1400px) {							
.logo-carousel-container 																						{ padding: 0 30px;}
}							
							
@media (max-width: 768px) {							
.logo-carousel-container 																						{ padding: 0 20px;}
.logo-item 																													{ height: 140px; padding: 20px;}
.logo-item img 																											{ max-height: 90px;}
.swiper-button-next, .swiper-button-prev 														{ width: 40px; height: 40px; margin-top: -20px;}
.swiper-button-next:after, .swiper-button-prev:after 								{ font-size: 16px;}
}

@media (max-width: 480px) {
.logo-carousel-container 																						{ padding: 0 15px;}
.logo-item 																													{ height: 120px; padding: 15px;}
.logo-item img 																											{ max-height: 75px; }
.swiper-button-next, .swiper-button-prev 														{ display: none;}
}

.loghi-container 																										{ margin-top: 30px;}
.loghi-grid 																												{ display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px;}
.logo-single																												{ flex: 0 0 calc(33.333% - 14px); box-sizing: border-box; border: 1px solid #ddd; padding: 15px; background: #fff; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1);}
.logo-thumbnail 																										{ text-align: center; margin-bottom: 15px;}
.logo-thumbnail img 																								{ max-width: 100%; height: auto; border-radius: 3px;}
.logo-title 																												{ margin-bottom: 10px;}
.logo-title h3 																											{ margin: 0; font-size: 18px; color: #333; text-align: center;}
.logo-content 																											{ font-size: 14px; line-height: 1.5; color: #666;}

@media (max-width: 768px) {
.logo-item 																													{ flex: 0 0 calc(50% - 10px); }
}

@media (max-width: 480px) {
.logo-item 																													{ flex: 0 0 100%; }
}
.clearfix 																													{ clear: both; width: 100%;}

/* 7.0 CONTATTI */
.contatti .left																											{ width: 60%; line-height: 30px; float: left;}
.contatti .right																										{ width: 30%; float: right; border: 1px solid #4046945c; padding: 18px; line-height: 30px}
.contatti .right p, .contatti .right ul  		 												{ margin: 0 0 25px 0;}			
.wpcf7-form input, .wpcf7-form textarea															{ width: 60%; padding: 15px; margin: 0 0 25px 0; border: 1px solid #0000002b; box-shadow: 0px 1px 0px #000;}
.map iframe 																												{ width: 100%; height: 500px; }

/* 8.0 AREE RISERVATE */
.custom-field-item 																									{ display:inline-block; width:100%; position:relative; }
.custom-field-item h1 																							{ margin: 0 0 20px 0; padding: 0;}
a.button 																														{ display:inline-block; padding:0.7em 1.7em; margin:0 0.3em 0.3em 0; border-radius:0.2em; box-sizing: border-box; text-decoration:none; font-family:'Roboto',sans-serif; font-weight:400; color:#FFFFFF; background-color:#086194; box-shadow:inset 0 -0.6em 1em -0.35em rgba(0,0,0,0.17),inset 0 0.6em 2em -0.3em rgba(255,255,255,0.15),inset 0 0 0em 0.05em rgba(255,255,255,0.12); text-align:center; position:relative;}
a.button:active																											{ box-shadow:inset 0 0.6em 2em -0.3em rgba(0,0,0,0.15),inset 0 0 0em 0.05em rgba(255,255,255,0.12);}
.gotoadmin a.button 																								{ width: fit-content; margin: 150px auto; display: block; }
.loginuser 																													{ width: 320px; margin: 100px auto; box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.44); border-radius: 8px; border: 1px solid #cecece; padding: 25px;}
.loginuser input 																										{ padding: 10px; border: 1px solid #cecece; border-radius: 16px; box-shadow: 0px 1px 0px #909090; margin: 15px 0 15px 0; text-align: center !important; width: 100%;}
.loginuser .tml-rememberme-wrap 																		{ display: none; }
.loginuser .tml-submit-wrap input 																	{ width: 100%; background-color: #056693; color: #fff; text-transform: uppercase; letter-spacing: 2px; box-shadow: 0px 1px 0px #000; border: none; margin: 15px 0 0 0; text-align: center !important;}
.loginuser .login_title 																						{ text-align: center; text-transform: uppercase; font-size: 18px; font-weight: 700; color: #0c507f; letter-spacing: 2px; margin: 0 0 40px 0;}
.loginuser label 																										{ font-size: 14px; text-align: center; }
.wppb-form-field label, 
#wppb-login-wrap .login-username label, 
#wppb-login-wrap .login-password label 															{ width: 100% !important;}
#wppb-login-wrap .login-username input,
#wppb-login-wrap .login-password input 															{ width: 100% !important;}
.login-remember 																										{ display: none !important;} 	
.login-submit input 																								{ background-color: #8d8d8d; color: #fff; text-transform: uppercase; font-weight: 700; letter-spacing: 2px;}
.w3eden #wpdm-dashboard-sidebar 																		{ display: none; }
.w3eden #wpdm-dashboard-contents 																		{ width: 100% !important; }
.dashboard-panel .col-md-4																					{ width: auto !important; }
.user-dashboard 																										{ background-color: #ededed; padding: 15px; border: 1px solid #bcbcbc; margin: 0 0 25px 0;}
.specialwrap 																												{ margin: 50px auto; font-size: 13px}
.assegnazioni ul li                 																{ list-style: none; padding: 15px; margin: 15px 0;}
.assegnazioni ul li:nth-child(odd)  																{ background-color: #e1e1e1; }
.specialwrap .cp-logout 																						{ display: none; }
.assegnazioni .cp-logout            																{ display: none; }
.cp-logout																													{ background-color: #817f7f !important; color: #fff !important; padding: 10px 25px !important; margin: 25px 0 !important;}
.cp-logout a 																												{ color: #fff; font-weight: 700; }
.dataTables_length 																									{ margin: 0 0 25px 0;}
.dataTables_info 																										{ margin: 25px 0 25px;}
.dataTables_paginate 																								{ margin: 4px 0 0; padding: 15px !important; width: 200px; text-align: center; align-content: center; color: #fff; border-radius: 20px;}
.tablepress tbody td 																								{ padding: 20px 0;}
.dataTables_wrapper .dataTables_paginate .paginate_button   				{ margin-left: 24px !important;}
#wpdm-all-packages .dataTables_paginate                     				{ background-color: #fff; text-align: center !important; width: 360px !important;}
#wpdm-all-packages .dataTables_paginate a.paginate_button   				{ margin: 0 15px 0 !important; font-size: 14px;}
.paging_simple .paginate_button.next::after, 				
.paging_simple .paginate_button.previous::before            				{ text-shadow: none !important; color: #000;}
.textwidget .wpfilebase-cat-default 																{ width: 100% !important; background-color: #e4e4e4; display: inline-block;}
.textwidget .wpfilebase-cat-default h3 img 													{ margin-left: 15px !important;}
.textwidget .wpfilebase-file-default 																{ width: 369px !important; min-width: 369px !important; padding: 5px; margin: 0 30px 30px 0 !important; float: left; min-height: 140px;}
.wpfilebase-file-default .filetitle 																{ width: 100% !important;}
.textwidget .wpfilebase-file-default:nth-child(3n+4) 								{ margin: 0 0px 30px 0 !important;  }
.assegnazioni 																											{ display: inline-block; width: 100%;}
.files-hierarchy-section 																						{ margin-top: 2rem; }
.files-hierarchy-section h2 																				{ color: #333; margin-bottom: 1.5rem; font-size: 1.4rem; border-bottom: 3px solid #007cba; padding-bottom: 0.5rem;}
.hierarchy-container 																								{ background: white; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
.level-header 																											{ display: flex; justify-content: space-between; align-items: center; padding: 0.2rem 1.5rem; cursor: pointer; transition: all 0.3s ease; user-select: none;}
.tipo-header 																												{ background: linear-gradient(135deg, #0a344e 0%, #0f80b0 100%); color: #fff; font-weight: 700; font-size: 1.1rem; border-bottom: 1px solid rgba(255,255,255,0.2);}
.anno-header 																												{ background: #e3f2fd; color: #1976d2; font-weight: 600; margin-left: 2rem; border-bottom: 1px solid #bbdefb;    }
.mese-header 																												{ background: #f3e5f5; color: #7b1fa2; font-weight: 500; margin-left: 4rem; border-bottom: 1px solid #e1bee7;}
.level-content 																											{ transition: all 0.3s ease;}
.files-list 																												{ padding: 1rem 2rem; margin-left: 4rem; background: #fafafa;}
.file-item 																													{ display: flex; justify-content: space-between; align-items: center; padding: 1rem; background: white; border-radius: 0px; margin-bottom:15px; border-top: 4px solid #4caf50; box-shadow: 0 1px 3px rgba(0,0,0,0.1);  }
.file-info h4 																											{ margin: 0 0 0.25rem 0; color: #333; font-size: 1rem;}
.file-date 																													{ font-size: 0.85rem; color: #666;}
.download-btn 																											{ background: #4caf50; color: white; padding: 0.5rem 1rem; text-decoration: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; transition: all 0.3s ease;}
.download-btn:hover 																								{ background: #45a049; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.2);}
.toggle-icon 																												{ transition: transform 0.3s ease; font-size: 0.8rem; }
.level-header.active .toggle-icon 																	{ transform: rotate(180deg);}


.files-view-selector 																								{ margin-bottom: 2rem; background: white; border-radius: 8px; padding: 1rem; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
.view-tabs 																													{ display: flex; gap: 0.5rem; border-bottom: 2px solid #e9ecef; padding-bottom: 1rem;}
.view-tab 																													{ background: #f8f9fa; border: 1px solid #dee2e6; padding: 0.75rem 1.5rem; border-radius: 6px 6px 0 0; cursor: pointer; font-weight: 500; color: #495057; transition: all 0.3s ease; border-bottom: none;}
.view-tab:hover 																										{ background: #e9ecef; color: #333;}
.view-tab.active 																										{ background: linear-gradient(135deg, #0a344e 0%, #0f80b0 100%); color: white; border-color: #667eea; transform: translateY(2px);}
.view-container 																										{ display: none; animation: fadeIn 0.3s ease-in-out;}
.view-container.active 																							{ display: block;}

@keyframes fadeIn {
from 																																{	opacity: 0; transform: translateY(10px); }
to 																																	{ opacity: 1;  transform: translateY(0); }
}

@media (max-width: 768px) {
.files-hierarchy-section 																						{ padding: 1rem;}
.file-item 																													{ flex-direction: column; align-items: flex-start; gap: 1rem;}
.anno-header 																												{ margin-left: 1rem;}
.mese-header 																												{ margin-left: 2rem;}
.files-list 																												{ margin-left: 2rem; padding: 1rem;}
.view-tabs 																													{ flex-direction: column; gap: 0.25rem;}
.view-tab 																													{ border-radius: 6px; text-align: center;}
.view-tab.active 																										{ transform: none;}
}

/* FOOTER */
footer 																															{ margin: 50px 0; text-align: center; font-size: 14px;}




@media only screen and (max-width: 1279px) and (min-width: 1024px){

	.wrap 									{ width: 1000px;}
	.textwidget .wpfilebase-file-default 	{ width: 302px !important; min-width: 302px !important; }

}


@media only screen and (max-width: 1023px) and (min-width: 768px){

	.wrap 								{ width: 700px;}
	.menuleft, .menuright 				{ display: none;}
	.logo 								{ width: 220px; float: none; margin: 0 auto;}
	.logo img 							{ width: 220px; height: auto; margin: -30px auto -50px; display: block;}	
	.menublock 							{ padding: 0px 0;}	
	.left 								{ width: 100%;}
	.right 								{ width: 100%;}
	.grid-layout div.logo-description	{ min-height: 120px;  }

	.textwidget .wpfilebase-file-default 					{ width: 325px !important; min-width: 325px !important; }
	.textwidget .wpfilebase-file-default:nth-child(3n+4) 	{ margin: 0 30px 30px 0 !important;  }
	.textwidget .wpfilebase-file-default:nth-child(2n+3) 	{ margin: 0 0px 30px 0 !important;  }
.offerta 							{ width: 100%; margin: 0 auto;}
}


@media only screen and (max-width: 767px) and (min-width: 480px){
	
	.wrap 								{ width: 460px;}
	.menuleft, .menuright 				{ display: none;}	
	.logo 								{ width: 220px; float: none; margin: 0 auto;}	
	.logo img 							{ width: 220px; height: auto; margin: -30px auto -50px; display: block;}	
	.menublock 							{ padding: 0px 0;}		
	.home .left 						{ width: 100%;}
	.home .right 						{ width: 100%; margin: 0;}
	.left, .contatti .left 				{ width: 100%; padding: 0; border: none;}
	.right, .contatti .right 			{ width: 100%; padding: 0; border: none;}

	.textwidget .wpfilebase-file-default 					{ width: 97% !important; min-width: 97% !important; margin: 0 0 30px 0 !important; }
	.textwidget .wpfilebase-file-default:nth-child(3n+4) 	{ margin: 0 0 30px 0 !important; }
.offerta 							{ width: 100%; margin: 0 auto;}	

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

	.wrap 								{ width: 320px;}
	.menuleft, .menuright 				{ display: none;}
	.logo 								{ width: 220px; float: none; margin: 0 auto;}	
	.logo img 							{ width: 220px; height: auto; margin: -30px auto -50px; display: block;}	
	.menublock 							{ padding: 0px 0;}	
	.home .left 						{ width: 100%;}
	.home .right 						{ width: 100%; margin: 0;}	
	.left, .contatti .left 				{ width: 100%; padding: 0; border: none;}
	.right, .contatti .right 			{ width: 100%; padding: 0; border: none;}

	.textwidget .wpfilebase-file-default 					{ width: 97% !important; min-width: 97% !important; margin: 0 0 30px 0 !important; }
	.textwidget .wpfilebase-file-default:nth-child(3n+4) 	{ margin: 0 0 30px 0 !important; }
	.offerta 							{ width: 100%; margin: 0 auto;}
}
