/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Text Domain:  generatepress
 Version:      0.1
*/

body {
	overflow-x: hidden;
}

.main-navigation ul li a, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
	font-family: "Kalam", handwriting!important;
	font-weight: normal;
	transition: .3s;
}

*::selection {
	background-color: var(--accent);
	color: white;
}

.no-marg-bot {
	margin-bottom: 0!important;
}

.no-marg-top {
	margin-top: 0!important;
}

.blog-layout-grid article .entry-title {
	font-size: 25px;
	font-weight: 400;
}



/* SO CSS */
/* Titoli Form */
.fluentform .hbb-form-new h3 {
	font-size: 26px;
	margin: 0;
}

/* Help Message */
.fluentform .hbb-form-new .ff-el-help-message{
	font-size:15px;
	font-style:normal;
}

/* Checkbox */
.fluentform .hbb-form-new .loc-check .ff-el-form-check span {
	font-size: 18px;
	line-height: 20px;
	color: #626262;
}

/* GDPR */
.fluentform .hbb-form-new .gdpr-check .ff_t_c {
	color: #626262;
	font-size: .9em;
}

/* Marketing - Iscrizione - Immagini */
.fluentform .hbb-form-new .marketing-check .ff-el-form-check label,
.fluentform .hbb-form-new .iscrizione-check .ff-el-form-check label,
.fluentform .hbb-form-new .immagini-check .ff-el-form-check label {
	display: table-row;
}

.fluentform .hbb-form-new .marketing-check .ff-el-form-check input,
.fluentform .hbb-form-new .iscrizione-check .ff-el-form-check input,
.fluentform .hbb-form-new .immagini-check .ff-el-form-check input {
	display: table-cell;
	width: 20px;
}

.fluentform .hbb-form-new .marketing-check .ff-el-form-check span,
.fluentform .hbb-form-new .iscrizione-check .ff-el-form-check span,
.fluentform .hbb-form-new .immagini-check .ff-el-form-check span {
	display: table-cell;
	color: #626262;
	font-size: .9em;
}
.fluentform .hbb-form-new .marketing-check,
.fluentform .hbb-form-new .iscrizione-check,
.fluentform .hbb-form-new .immagini-check {
	margin-bottom: 0;
}
.fluentform .hbb-form-new .ff-el-tc label.ff_tc_label>span {
	padding-top:0!important ;
}
/* / SO CSS */


/* CSS Per Sub Header Image */

div.area-image-top div.sub-header.image {
	background-position: top!important;
}

div.sub-header.image {
	height: 590px;
	background-position: center;
	text-align: center;
	position: relative;
	background-size: cover;
}

h3.intro-web-title {
	font-size: 70px;
	line-height: 70px;
	color: #fff;
	margin-bottom: 20px;
	word-wrap: break-word;
	text-shadow: 2px 2px 4px #b60b41;
}

.ombra h2,
.ombra p {
	word-wrap: break-word;
	text-shadow: 2px 2px 4px #b60b41 !important;
}

div.intro-inner {
	position: relative;
	padding: 250px 10%;
}

@media (max-width: 768px) {
	div.sub-header.image {
		height: 290px;
	}
	h3.intro-web-title {
		font-size: 40px;
		line-height: 50px;
	}
	div.intro-inner {
		padding: 50px 30px!important;
	}
	.top-25 h1.entry-title {
		font-size: 26px;
	}
}

/* Banner ENFASI */
.enfasi1 {
	font-size: 1.1em;
	font-weight: bold;
	color: var(--accent);
	border-color: var(--accent);
	border: 2px solid;
	border-radius: 25px;
	padding: 5px 15px;
	width: fit-content;
}

.block-center {
	margin-left: auto;
	margin-right: auto;
}

/* CSS Titolo Post e Info Corsi*/
header.entry-header.top-25 {
	margin-top: 25px;
}
.blog-layout-grid header.entry-header {
	margin-top: 0;
}

div.subtitle {
	display: block;
	width: 10%;
	height: 5px;
	background: #7fbd5d;
}

.infocorso p {
	margin: 0;
}

.infocorso p:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: var(--accent);
	margin-right: 6px;
	display: inline-block;
	width: 16px;
	text-align: center;
}

.infocorso p.quando:before,
.infocorso p.quando_2:before {
	content: "\f274";
/*	font-weight: 700;*/
}

.infocorso p.giorni:before,
.infocorso p.giorni_2:before {
	content: "\f017";
}

.infocorso p.dove:before,
.infocorso p.dove_2:before {
	content: "\f3c5";
}

.infocorso p.eta:before,
.infocorso p.eta_2:before {
	content: "\f007";
}

/*.infocorso {
	padding-top:40px;
	padding-bottom:40px;
	border-bottom: 1px solid rgba(0,0,0,.08);
	border-top: 1px solid rgba(0,0,0,.08);
}*/
.infocorso.archive {
	margin-top: 10px;
}

.infocorso.top {
	padding-top:40px;
	padding-bottom:10px;
	border-top: 1px solid rgba(0,0,0,.08);
}

.infocorso.bottom {
	padding-top:10px;
	padding-bottom:40px;
	border-bottom: 1px solid rgba(0,0,0,.08);
}

/*.infocorsoalto {
	padding-top:20px;
	padding-bottom:20px;
	border-bottom: 1px solid rgba(0,0,0,.08);
	border-top: 1px solid rgba(0,0,0,.08);
}*/

.infocorso.top.alto {
	padding-top:20px;
	padding-bottom:10px;
/*	border-top: 1px solid rgba(0,0,0,.08);*/
}

.infocorso.bottom.alto {
	padding-top:10px;
	padding-bottom:20px;
/*	border-bottom: 1px solid rgba(0,0,0,.08);*/
}

span.btn-label {
	padding: 11px 20px;
	display: block;
	font-size: 1.08em;
}

.btn-pink, .btn-pink:visited {
	display: inline-block;
	background-color: var(--accent);
	color:#fff;
}

.btn-pink:hover {
	background-color: #D9255D;
	color:#fff;
}

.btn-pink-sow.center { /* DIV 1 */
	text-align: center;
}

.btn-pink-sow.left { /* DIV 1 */
	text-align: left;
}

.btn-pink-sow.right { /* DIV 1 */
	text-align: right;
}

.btn-pink-sow a, .btn-pink-sow a:visited, .sow-more-text a { /* A Tag */
	text-align: center;
	display: inline-block;
	cursor: pointer;
	text-decoration: none;
	line-height: 1em;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 1em;
	padding: 1em 2em;
	background: var(--accent);
	color: #ffffff !important;
	border: 1px solid var(--accent);
	border-width: 1px 0;
	-webkit-border-radius: 0em;
	-moz-border-radius: 0em;
	border-radius: 0em;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.btn-pink-sow a:hover,  .sow-more-text a:hover{
	background: #dd366a;
	border-color: #dd366a;
	color:#fff!important;
	text-decoration: none!important;
}

.btn-pink-sow span:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f044";
	color:#fff;
	margin-right:15px;
}

.btn-pink-sow.info span:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f05a";
	color:#fff;
	margin-right:15px;
}

/* Liste puntate in Corsi */
article.corsi ul:not(.manual-tax) {
	list-style-type: none;
	margin-left: 1em;
	padding-left: 0;
}
article.corsi ul:not(.manual-tax) li {
	padding:4px 0;
}
article.corsi ul:not(.manual-tax) li:before {
	font-size: 12px;
	line-height: 16px;
	vertical-align: 0;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin-right: 7px;
	color: var(--accent);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f192";
}

/* CSS Content Padded */
/*.padded-r {
	padding-right: 25px;
}*/
@media screen and (min-width: 768px) {
	.padded-r {
		padding-right: 25px;
	}
}

.team h5 {
	margin-top: 0;
	margin-bottom: 5px;
}

.team p {
	font-size: 14px;
	line-height: 16px;
}

.team {
	border-bottom: 2px solid rgba(0,0,0,.08);
	margin-bottom: 26px;
}

.widget-area aside.widget_siteorigin-panels-builder {
	margin: 0 0 26px;
}

/* CSS per menu */
@media (max-width: 768px) {
	.mega-menu-menu-1 .site-header .site-header-inner {
		display: block;
	}
}
@media (min-width: 768px) {
	header div.corp-container {
		max-width: 100%;
	}
}

/* CSS Transazionali */

.img-modulo img {
	border: 3px solid var(--accent);
	text-align: center;
	margin: auto;
}

.nf-form-layout label {
	color: #626262;
}

.first-col {
	margin: 0 0 20px;
	display: inline-block;
	vertical-align: middle;
	width: 48.717948717948715%;
	float: left;
	clear: none;
	/*color: #707981;*/
}

.last-col {
	display: inline-block;
	vertical-align: middle;
	width: 48.717948717948715%;
	margin: 0 0 20px;
	margin-left: 2.564102564102564%;
	clear: both;
	/*color: #707981;*/
}

.form-corsi input,
.form-corsi select {
	height: 40px!important;
}

.form-corsi select {
	padding: 10px!important;
}

.form-corsi .nf-field-element:after {
	height: 38px!important;
	line-height: 40px!important;
}

.listradio-wrap .nf-field-element label.nf-checked-label:before {
	background: var(--accent)!important;
	top: 0.27em!important;
}

.listradio-wrap .nf-field-element label.nf-checked-label:after {
	border-color: var(--accent)!important;
}

.hr-web {
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: rgba(0,0,0,.08);
}

.privacy-sw label,
.marketing-sw label,
.marketing-sw .nf-field-description p {
	font-size: 14px!important;
	letter-spacing: 0px;
}

.checkbox-container.label-right.marketing-sw .field-wrap {
	display: block;
}

.marketing-sw .nf-field-description p {
	padding-left: 30px;
}

.no-req .nf-form-fields-required {
	display:none;
}

.un-terzo {
	width:33.3333%;
	float:left;
	clear:none!important;
	padding-right:10px;
}

.all-black, .all-black ol li, .all-black ul li {
	color:#000!important;
}

.nf-form-content select.ninja-forms-field:focus { /* bordo focus tendina di scelta */
	border: 1px solid #c4c4c4!important;
}

.nf-form-content .listselect-wrap .nf-field-element div { /* Altezza Select */
	height:40px!important;
}

.nf-form-content .list-select-wrap>div div:after { /* Allineamento icona di scelta per Select */
	height:40px!important;
	line-height:40px!important;
}

.nf-field-description {
	font-size:15px!important;
}

.nf-form-content .nf-field-label label {
	font-size: 20px;
}

.checkbox-wrap .nf-field-element label.nf-checked-label:before,
.checkbox-wrap .nf-field-label label.nf-checked-label:before,
.listcheckbox-wrap .nf-field-element label.nf-checked-label:before,
.listcheckbox-wrap .nf-field-label label.nf-checked-label:before {
	color: var(--accent) !important;
}

.listradio-wrap .nf-field-description p,
.listcheckbox-wrap .nf-field-description p{ /* Margine no per paragrafi interni */
	margin:0;
}

.listradio-wrap .nf-field-description p:last-child,
.listcheckbox-wrap .nf-field-description p:last-child{ /*margine si per ultimo paragrafo */
	margin-bottom:15px;
}

.nf-form-content button, .nf-form-content input[type=button], .nf-form-content input[type=submit] {
	display: inline-block;
	background-color: var(--accent)!important;
	color:#fff!important;
	padding: 11px 20px;
	font-size: 1.08em;
	height: auto!important;
}

.nf-form-content button:hover, .nf-form-content input[type=button]:hover, .nf-form-content input[type=submit]:hover {
	background-color: #D9255D!important;
	color:#fff!important;
}

/* CSS Web Class */
.corsi-web h3 {
	margin-top:0;
	line-height: 30px;
}
.corsi-web p {
	margin-bottom:0;
}

/* CSS per Programmi Corsi */
dt {
	display: block;
	float: left;
	width: 130px;
	font-weight: 700;
	border-top-width: 3px;
	border-top-style: solid;
	border-color: rgba(0,0,0,.08);
	padding: 10px 0;
	margin: 0;
}

dd {
	margin-left: 140px;
	border-top-width: 3px;
	border-top-style: solid;
	border-color: rgba(0,0,0,.08);
	padding: 10px 0;
}

/* CSS per presentazione online CORSI */
div.presentazione h5 {
	text-align: center;
	margin-bottom: 5px;
}

div.presentazione p {
	text-align: center;
}

div.presentazione div.date-online p {
	margin-bottom: 0px;
}

div.presentazione div.date-online p:last-of-type {
	margin-bottom: 26px;
}

/* CSS per Post Slider Home Page */
.featured-posts-slider .slides .slide .slide-content .entry-title,
.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider {
	text-shadow: 2px 2px 4px #b60b41;
}
.featured-posts-slider .slides .slide {
	height: 590px;
}
.featured-posts-slider .slides .slide .overlay a {
	background: rgba(0, 0, 0, 0.2);
}
.flexslider .flex-direction-nav a {
	background: rgba(231,39,99, 0.5);
}
.flexslider .flex-direction-nav a:hover {
	background: rgba(231,39,99, 0.8);
}

/* Slider Corsi NEW */
.featured-posts-slider .slides .slide .slide-content .entry-meta {
	display: flex;
	justify-content: center;
}

@media screen and (max-width:768px) {
	.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider {
		flex-direction: column;
		gap: 10px;
	}
}

.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider {
	color: #fff;
	font-size: 20px;
	margin-bottom: 17px;
}

.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider p.quando:before,
.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider p.dove:before,
.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider p.eta:before {
	text-shadow: 2px 2px 4px #ffffff;
}

/*.featured-posts-slider .slides .slide .slide-content .entry-meta .slider:before {
	text-shadow: none;
}*/

.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider .dove,
.featured-posts-slider .slides .slide .slide-content .entry-meta.infocorso.slider .eta {
	margin-left: 17px;
}


/* CSS per Post Navigation */
nav.navigation.post-navigation {
	padding-right: 25px;
	border-top:0;
}

.post-navigation .nav-previous, .post-navigation .nav-next {
	width: calc( 50% - 12.5px );
}

.post-navigation a .nav-innner {
	width: calc( 74% - 12.5px );
}

/* CSS Riga o Cella con bordo verde a sinistra */
.border-left-green {
	padding: 0px 0px 0px 20px;
	border-left: 5px solid #7fbd5d;
}

/* CSS Riga o Cella con bordo Arancione a sinistra */
.border-left-orange {
	padding: 0px 0px 0px 20px;
	border-left: 5px solid #f07d01;
}

/* Galleria Meow Gallery -------------------------------------------------------------------------------------- */
article.corsi .mgl-square-container {
	display:none;
}

.view-gal .mgl-square-container,
.view-gal .mgl-tiles-container {
	display: block;
}

@media (max-width: 480px) {
	article.corsi .mgl-tiles-container {
		display: none;
	}
	article.corsi .mgl-square-container {
		display: block;
	}
	.view-gal .mgl-tiles-container {
		display: block;
	}
	.view-gal .mgl-square-container {
		display: block;
	}
}

article.corsi div.sow-image-container img {
	cursor: zoom-in;
}

.mgl-item img,
article.corsi div.sow-image-container img {
	transition: .2s;
}
.mgl-item:hover img,
article.corsi div.sow-image-container:hover img,
article.corsi div.wgt-modal:hover img {
	transform: scale(1.1);
	transition: .5s;
}

/* Animazione Sub Header */
.sub-header.parent {
	overflow: hidden;
}
.sub-header.image,
.sub-header.image .intro-inner {
	transition: .5s;
}
.sub-header.image:hover {
	transform: scale(1.1);
	transition: .5s;
}
.sub-header.image:hover .intro-inner {
	transform: scale(0.9);
	transition: .5s;
}

.nf-form-fields-required {
	font-size: 14px;
}

/* CSS Per Post Carousel in home ---------------------------------------------------------------------------------------------------------- */
.lsow-container ul.slick-dots {
	position: unset;
}

/* CSS Per Online Box dei cordi ---------------------------------------------------------------------------------------------------------- */
.online-box {
	border-radius: 15px;
}

.online-box .sow-headline {
	font-weight: 900;
	text-shadow: -1px 0 #b60b41, 0 1px #b60b41, 1px 0 #b60b41, 0 -1px #b60b41;
}

.online-box .decoration-inside {
	border-radius: 2px;
}

.online-box .sow-sub-headline {
	padding-top: 5px;
}

.online-box .btn-pink-sow a {
	background: #ffed00;
	border-color: #ffed00;
	color: #b60b41 !important;
	/*border-radius: 15px;*/
}

.online-box .btn-pink-sow span:before {
	content: "\f067";
	color: #b60b41 !important;
}

.online-box .wrap {
	display: flex;
}

.online-box .wrap .uno {
	margin-right:5px;
}

.online-box .wrap .due {
	margin-left:5px;
	margin-top: -15px;
}

/* NEW ONLINE BOX */

.btn-pink-sow.online a {
	background: #ffed00;
	border-color: #ffed00;
	color: #b60b41 !important;
	/*border-radius: 15px;*/
}

.btn-pink-sow.online span:before {
	content: "\f067";
	color: #b60b41 !important;
}

/* CSS BLOG ALTERNATE / SLIDER ALTERNATE */
.blog-layout-alternate .hentry .entry-title,
.wg-alternate .hentry .entry-title,
.wg-carousel-alternate.swiper article:not(.blog-visual) .corp-content-wrapper .entry-title {
	font-size: 23px;
}

/* CSS Home Live Mesh Carousel */
.lsow-posts-carousel .lsow-posts-carousel-item .lsow-entry-text-wrap .entry-title {
	font-family: Nunito;
}

/* ICON BOX */
p.icon {
	margin-top: 15px;
	margin-bottom: 15px;
	vertical-align: middle;
}
p.icon a {
	color: #626262;
}
p.icon a:hover {
	color: var(--accent);
}
p.icon:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 8px;
	color: var(--accent);
	font-size: 23px;
	width: 29px;
	display: inline-block;
	text-align: center;
	vertical-align: sub;
}
p.fb:before {
	font-family: "Font Awesome 5 Brands";
	content: "\f09a";
}
p.ig:before {
	font-family: "Font Awesome 5 Brands";
	content: "\f16d";
}
p.tg:before {
	font-family: "Font Awesome 5 Brands";
	content: "\f2c6";
}
p.mail:before {
	content: "\f0e0";
}
p.tel:before {
	content: "\f879";
}
p.wa:before {
	font-family: "Font Awesome 5 Brands";
	content: "\f232";
}

/* Immagine max 500 */
.max500 img {
	max-width: 500px!important;
}

.max150 img {
	max-width: 150px!important;
}

/* TEAMS - Chi Siamo */
.lsow-team-members .lsow-team-member .lsow-team-member-text .lsow-team-member-position {
	color: var(--accent);
}

/* Love Planet */
div.master {
	display: flex;
	margin: auto;
}
div.master img {
	max-width: 150px;
}
div.uno {
	margin-right: 10px;
}
div.tre {
	margin-left: 10px;
}

/* Form Alert per moduli */
.form-alert .nf-field-element p {
	font-family: Nunito, sans-serif;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 5px;
}

.form-alert .nf-field-element p:first-of-type:before {
	font-family: "Font Awesome 5 Free";
	content: "\f071";
	color: var(--accent);
	width: 25px;
	margin-right: 5px;
}

/* Bugfix bottone radio in form */
.listradio-wrap .nf-field-element input {
	display: none!important;
}

/* Bugfix NJ Field Checkbox */
.nf-form-content input[type=checkbox].ninja-forms-field, .nf-form-content input[type=radio].ninja-forms-field {
	display: none!important;
}

/* Evidenziato Menu */
li.mega-evidenziato>a.mega-menu-link {
	color: var(--accent)!important;
}

/* Animazione Caroselli SLICK */
.wg-carousel article .entry-thumbnail {
	overflow: hidden;
}
.wg-carousel article .entry-thumbnail img {
	transition: .2s;
}
.wg-carousel article:hover .entry-thumbnail img {
	transform: scale(1.1);
	transition: .5s;
}

/* Nuovo Team Members - Chi Siamo */
.happy-team .sow-features-list .sow-features-feature .textwidget > h3 {
	text-align: center;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 10px;
}

.happy-team .sow-features-list .sow-features-feature .textwidget > p:first-of-type {
	margin-bottom: 10px;
	text-align: center;
	font-style: italic;
	color: #e72762;
}

.happy-team .sow-features-list .sow-features-feature .textwidget > p:last-of-type {
	font-size: 15px;
}

/* NUOVO FORM MANAGER - Fluent Forms Pro */
::root {
	--color-label: rgba(98, 98, 98, 1);
}
.ff-default .hbb-form-new .ff-el-input--label label {
	color: var(--color-label);
	font-size: 18px;
	font-weight: 600;
}
.hbb-form-new .ff-el-input--content input:focus,
.hbb-form-new .ff-el-input--content .ff-el-form-control.ff_stripe_card_element:focus,
.hbb-form-new .ff-el-input--content textarea:focus,
.hbb-form-new .ff-el-input--content select:focus {
	border-style: solid;
	border-color: rgba(231, 39, 98, 1);
	border-width: 1px;
}

.hbb-form-new .field-hidden {
	display: none!important;
}

/* STILE BANNER CAMP DIURNO / SOGGIORNO */
.entry-thumbnail.camp .thumbnail-meta.wg-thumbnail-meta .manual-tax li {
	line-height: 15px;
	background: var(--accent);
	font-weight: bold;
}

article.corsi.area-camp h1.entry-title {
	display: flex;
	align-items: center;
	gap: 20px;
}

div.banner-camp {
	text-transform: uppercase;
	font-size: 12px;
	font-weight: bold;
	line-height: 16px;
	padding: 4px 7px;
	background: var(--accent);
	display: inline-flex;
	color: white;
	font-family: Nunito;
}

@media screen and (max-width: 768px) {
	article.corsi.area-camp h1.entry-title {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	div.banner-camp {
		margin-bottom: 10px;
	}
}

.img4-3 img {
	object-fit: cover;
	object-position: center;
	aspect-ratio: 4 / 3;
}

.img3-4 img {
	object-fit: cover;
	object-position: center;
	aspect-ratio: 3 / 4;
}