/*
Theme Name: CFA v2
Author: NovityLab
Author URI: http://www.novitylab.it/
Description: Tema creato da NovityLab per CFA
Version: 1.0
*/


/******************/
/*****  Font  *****/
/******************/

/* latin-ext */
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/titilium-web-latin-ext-italic.woff2) format('woff2'),
    url(fonts/titilium-web-latin-ext-italic.woff) format('woff');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/titilium-web-latin-italic.woff2) format('woff2'),
    url(fonts/titilium-web-latin-italic.woff) format('woff');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/titilium-web-latin-ext.woff2) format('woff2'),
     url(fonts/titilium-web-latin-ext.woff) format('woff');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/titilium-web-latin.woff2) format('woff2'),
     url(fonts/titilium-web-latin.woff) format('woff');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/titilium-web-latin-ext-bold.woff2) format('woff2'),
     url(fonts/titilium-web-latin-ext-bold.woff) format('woff');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/titilium-web-latin-bold.woff2) format('woff2'),
     url(fonts/titilium-web-latin-bold.woff) format('woff');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* http://meyerweb.com/eric/tools/css/reset/  v2.0 | 20110126 */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

/******************/
/*****  GRID  *****/
/******************/
.grid{ display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; }
.grid-container{ margin-left: auto; margin-right: auto; max-width: 480px; box-sizing: border-box;}
.grid-item{ box-sizing: border-box; width: 100%; flex: 0 0 auto; }
.grid-clearfix{ width:100%; height: 0; visibility: hidden; flex: 0 0 auto; }

.grid-align-center { align-items: center; }
.grid-justify-center { justify-content: center; }

.hidden{ display: none; }

.griglia{ display: -ms-grid; display: grid; -ms-grid-rows: auto; grid-template-rows: auto; width: 100%; }
.griglia > *{ -ms-grid-column: 2; grid-column-start: 2;  -ms-grid-column-span: 12;  grid-column-end: 14; }

@media screen and (max-width: 567px) {
    .griglia{ grid-template-columns: minmax(16px, 1fr) repeat(12, minmax(auto, 40px) ) minmax(16px, 1fr); }

    .grid-span1{ width: 8.33333%; } .grid-span2{ width: 16.666666%; } .grid-span3{ width: 25%; } .grid-span4{ width: 33.33333%; } .grid-span5{ width: 41.666666%; } .grid-span6{ width: 50%; }
    .grid-span7{ width: 58.33333%; } .grid-span8{ width: 66.666666%; } .grid-span9{ width: 75%; } .grid-span10{ width: 83.33333%; } .grid-span11{ width: 91.666666%; } .grid-span12{ width: 100%; }

    .hidden-xs{ display: none; }
}

@media screen and (min-width: 568px) and (max-width: 767px) {

    .griglia{ grid-template-columns: 1fr repeat(12, 40px) 1fr; }

	.grid-span1-sm{ width: 8.33333%; } .grid-span2-sm{ width: 16.666666%; } .grid-span3-sm{ width: 25%; } .grid-span4-sm{ width: 33.33333%; } .grid-span5-sm{ width: 41.666666%; } .grid-span6-sm{ width: 50%; }
	.grid-span7-sm{ width: 58.33333%; } .grid-span8-sm{ width: 66.666666%; } .grid-span9-sm{ width: 75%; } .grid-span10-sm{ width: 83.33333%; } .grid-span11-sm{ width: 91.666666%; } .grid-span12-sm{ width: 100%; }

    .hidden-sm{ display: none; }
}


@media print, screen and (min-width: 768px) and (max-width: 1023px) {
    .grid-container{ max-width: 740px;}
    .griglia{ -ms-grid-columns: 1fr (60.333333px)[12] 1fr; grid-template-columns: 1fr repeat(12, 60.333333px) 1fr; }

    .grid-span1-md{ width: 8.33333%; } .grid-span2-md{ width: 16.666666%; } .grid-span3-md{ width: 25%; } .grid-span4-md{ width: 33.33333%; } .grid-span5-md{ width: 41.666666%; } .grid-span6-md{ width: 50%; }
	.grid-span7-md{ width: 58.33333%; } .grid-span8-md{ width: 66.666666%; } .grid-span9-md{ width: 75%; } .grid-span10-md{ width: 83.33333%; } .grid-span11-md{ width: 91.666666%; } .grid-span12-md{ width: 100%; }

    .grid-reverse-md{ flex-direction: row-reverse; }

    .hidden-md{ display: none; }

}

@media screen and (min-width: 1024px) and (max-width: 1279px)  {
	.grid-container{ max-width: 996px; padding-left: 15px; padding-right: 15px; }

    .griglia{ -ms-grid-columns: 1fr (80.5px)[12] 1fr; grid-template-columns: 1fr repeat(12, 80.5px) 1fr; }

	.grid-span1-lg{ width: 8.33333%; } .grid-span2-lg{ width: 16.666666%; } .grid-span3-lg{ width: 25%; } .grid-span4-lg{ width: 33.33333%; } .grid-span5-lg{ width: 41.666666%; } .grid-span6-lg{ width: 50%; }
	.grid-span7-lg{ width: 58.33333%; } .grid-span8-lg{ width: 66.666666%; } .grid-span9-lg{ width: 75%; } .grid-span10-lg{ width: 83.33333%; } .grid-span11-lg{ width: 91.666666%; } .grid-span12-lg{ width: 100%; }

	.grid-reverse-lg{ flex-direction: row-reverse; }
    .hidden-lg{ display: none; }
}


@media screen and (min-width: 1280px) {
	.grid-container{ max-width: 1252px; padding-left: 15px; padding-right: 15px; }

    .griglia{ -ms-grid-columns: 1fr (101.8333333px)[12] 1fr; grid-template-columns: 1fr repeat(12, 101.8333333px) 1fr; }

	.grid-span1-xl{ width: 8.33333%; } .grid-span2-xl{ width: 16.666666%; } .grid-span3-xl{ width: 25%; } .grid-span4-xl{ width: 33.33333%; } .grid-span5-xl{ width: 41.666666%; } .grid-span6-xl{ width: 50%; }
	.grid-span7-xl{ width: 58.33333%; } .grid-span8-xl{ width: 66.666666%; } .grid-span9-xl{ width: 75%; } .grid-span10-xl{ width: 83.33333%; } .grid-span11-xl{ width: 91.666666%; } .grid-span12-xl{ width: 100%; }

    .grid-reverse-xl{ flex-direction: row-reverse; }
    .hidden-xl{ display: none; }
}

@media screen and (max-width: 768px) {
    .grid-container{ padding-left: 8px; padding-right: 8px; }
    .grid-itemgap{ padding-left: 8px; padding-right: 8px; }
    .grid-gap{ margin-left: -8px; margin-right: -8px; }
}

@media screen and (min-width: 769px) {
    .grid-container{ padding-left: 15px; padding-right: 15px; }
    .grid-itemgap{ padding-left: 15px; padding-right: 15px; }
    .grid-gap{ margin-left: -15px; margin-right: -15px; }
}

/************************/
/* Tipografia e utility */
/************************/
html,body{ font-size: 16px; line-height: 1.2em; background-color: #FBFBFB; color: #3E3E3E; word-wrap: break-word; word-break: break-word; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
html, button, input, select, textarea { font-family: 'Titillium Web', sans-serif; }

.img-responsive, .editor-img { display: inline-block; max-width: 100%; height: auto; vertical-align:bottom; }

strong{ font-weight: bold;}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-weight: bold; color: #0F8CA9; line-height: 1.1em;}
.h1, h1 { font-size: 32px; }
.h2, h2 { font-size: 32px; color:#ee702e;}
.h3, h3 { font-size: 26px; }
.h4, h4 { font-size: 26px; color:#ee702e; }
.h6, h6 { font-size: 20px; }

.testo{ font-size: 20px; line-height: 1.625em; }
.testosmall{ font-size: 16px; line-height: 1.4285em; }
.testo > p, .testo ul, .testo ol,
.testo .h1, .testo .h2, .testo .h3, .testo .h4, .testo .h5, .testo .h6,
.testo h1, .testo h2, .testo h3, .testo h4, .testo h5, .testo h6 { margin: 1em 0; }
.testosmall > p, .testosmall ul, .testosmall ol,
.testosmall .h1, .testosmall .h2, .testosmall .h3, .testosmall .h4, .testosmall .h5, .testosmall .h6,
.testosmall h1, .testosmall h2, .testosmall h3, .testosmall h4, .testosmall h5, .testosmall h6 { margin: .4em 0; }
.testosmall{ font-size: 16px; line-height: 1.4285em; }
.testo strong{ font-weight: 700; }
.testo table { width: 100%; margin: 2em 0; background-color: #f8f7f7; text-align: left; border-right: 1px solid #eaeaea; border-bottom: 1px solid #eaeaea; font-size: 14px; }
.testo table th, .testo table td{ padding: 10px 10px; vertical-align: top; background: #fff; border-left: 1px solid #eaeaea; border-top: 1px solid #eaeaea; line-height: 1.2em;}
.testo table tr:nth-child(2n) td{ background: #f8f7f7; }
.testo table thead th { vertical-align: bottom; font-weight: bold; background: #F6F6F6; text-transform: uppercase; color: #0ea6db; }
.testo a, .corsodet-label a { color: #0F8CA9; text-decoration: underline; outline: none; }
.testo a:hover, .testo a:focus,
.corsodet-label a:hover, .corsodet-label a:focus{ color: #ee702e;  }
.testobig{ font-size: 23px; }
.testo ul li:before { color: #EE702E; content:'⬗'; display: inline-block; margin-right: 10px; font-size: 1em; line-height: 1em;}
.testo ol{ list-style-type: decimal; padding-left: 1em; }
.testo ol li::marker{ color: #EE702E;  }
.editor-img.aligncenter{ margin-left: auto; margin-right: auto; }

hr{ border: none; border-top: 1px solid #f0f0f0; height: 0; width: 100%; clear: both; }

.testo .btn-editor, .btn, .btn2, .btn-outline,  .btn-outline2{ background: none; padding: 0; margin: 0; border: none; appearance: none; -moz-appearance: none; -webkit-appearance: none;
    cursor: pointer; display: inline-block; text-decoration: none; color:inherit; text-align: center;  box-sizing: border-box; }


.btn-outline, .btn-outline2{ font-size: 16px; font-weight: bold; line-height: 1.1em; border-radius: 5px; padding: 8px 14px; letter-spacing: 1.3px;
    transition: border-color .3s ease-out, color .3s ease-out; }
.btn-outline{ border: 1px solid #777777; color: #777777; }
.btn-outline:hover, .btn-outline:focus, .btn-outline2:hover, .btn-outline2:focus{ color: #EE702E; border-color: #EE702E;  }
.btn-outline.active, .btn-outline2.active{ color: #EE702E; border-color: #EE702E; }

.btn-outline2 { border: 1px solid #0f8ca9; color: #0f8ca9; }
.btn.filtriavanzatibtn { border: 1px solid #0f8ca9; margin-right: 10px; }
.btn.filtriavanzatibtn:hover, .btn.filtriavanzatibtn:focus { border-color: #EE702E; }

.testo .btn-editor, .btn, .btn2{ font-size: 16px; font-weight: bold; line-height: 1.1em; border-radius: 5px; padding: 8px 14px; letter-spacing: 1.3px;
    transition: background-color .3s ease-out, color .3s ease-out; }
.testo .btn-editor, .btn{ background-color: #0f8ca9; color: #ffffff; }
.testo .btn-editor:hover, .testo .btn-editor:focus, .btn:hover, .btn:focus { background-color: #EE702E; color: #fff; }
.btn.active{ background-color: #ee702e; color: #fff; }

.btn2{ background-color: #E8E8E8; color: #141414;  }
.btn2:hover, .btn2:focus { background-color: #EE702E; color: #fff; }
.btn2.active{ background-color: #0f8ca9; color: #fff; }

.testo .btn-editor, .btn.big, .btn2.big, .btn-outline.big, .btn-outline2.big{ padding: 14px 30px 13px; width: 100%; font-size: 20px; }

.margin, .margin-top{ margin-top: 30px; }
.margin, .margin-bottom{ margin-bottom: 30px; }

.margin-big, .margin-top-big{ margin-top: 50px; }
.margin-big, .margin-bottom-big{ margin-bottom: 50px; }

.margin-small, .margin-top-small{ margin-top: 15px; }
.margin-small, .margin-bottom-small{ margin-bottom: 15px; }

.padding, .padding-top{ padding-top: 30px; }
.padding, .padding-bottom{ padding-bottom: 30px; }

.padding-big, .padding-top-big{ padding-top: 50px; }
.padding-big, .padding-bottom-big{ padding-bottom: 50px; }

.padding-small, .padding-top-small{ padding-top: 15px; }
.padding-small, .padding-bottom-small{ padding-bottom: 15px; }


.bgwhite {background-color: #FFF;}
.arancio {color:#ee702e;}


.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}

.alert { padding: 15px; border-left: 10px solid transparent;  }
.alert .alert-link { font-weight: bold; }

.alert p{ margin-top: 0.5em; }
.alert p:first-child{ margin-top: 0em; }

.alert-success { color: #4A4A4A; background-color: #d4e6d4; border-color: #6da272; }
.alert-success hr { border-top-color: #c9e2b3; }
.alert-success .alert-link, .alert-success a { color: #4A4A4A; text-decoration:underline; }
.alert-success .alert-link:hover, .alert-success a:hover  { color: #9FB4A1; }

.alert-info { color: #4A4A4A; background-color: #D2E2EB; border-color: #6E9EBA; }
.alert-info hr { border-top-color: #a6e1ec; }
.alert-info .alert-link, .alert-info a { color: #4A4A4A; text-decoration:underline; }
.alert-info .alert-link:hover, .alert-info a:hover { color: #6E9EBA; }

.alert-warning { color: #4A4A4A; background-color: #F8EDD1; border-color: #f8b90d; }
.alert-warning hr { border-top-color: #f7e1b5; }
.alert-warning .alert-link, .alert-warning a { color: #4A4A4A; text-decoration:underline; }
.alert-warning .alert-link:hover, .alert-warning a:hover { color: #E4CE95; }

.alert-danger { color: #FFF; background-color: #EC9797; border-color: #cf4343; }
.alert-danger hr { border-top-color: #e4b9c0; }
.alert-danger .alert-link, .alert-danger a { color: #FFF; text-decoration:underline; }
.alert-danger .alert-link:hover, .alert-danger a:hover { color: #CB6161; }

svg{ fill: currentColor; vertical-align: bottom;}


/*********************/
/* Personalizzazioni */
/*********************/
html{ background-color: #0f8ca9; scroll-behavior: smooth; }
#header{ position: sticky; background-color: #FFF; z-index: 100; border-bottom: 1px solid #e1e1e1; padding: 0px; top:0; overflow: hidden; }

div#wpadminbar{ position: fixed !important; }
body.admin-bar #header{ top: 46px; }


#banner{ display: block; background-color: #a40c0c; color: #FFF; padding: 10px 16px; text-align: center;  position: relative;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-decoration: none; letter-spacing: .5px;}
a#banner::after{ content:''; position: absolute; top:0; left: 0; width: 100%; height: 100%; background-color: #0002; opacity: 0; transition: opacity .3s ease-out; }
a#banner:hover::after{ opacity: 1; }

#header-logo{ flex: 0 0 auto; max-width: 60vw; }


#logo{ display: block; padding: 5px 0; height: 60px; }
#logo picture, #logo img{ width: 100%; height: 100%; display: block; }
#logo img{ object-fit: contain; object-position: 0% 50%; }
#logo .fakeObjectfit{ background-size: contain; background-position: left center; background-repeat: no-repeat;}
#logo .fakeObjectfit img{ display: none; }

#header-menu{ display: flex; justify-content: flex-end; align-items: center; height: 100%; }

#headclub{ display: flex; align-items: center; padding: 8px 10px;   }
#headclub-text{ margin-left: 5px; }
#headclub .svg{ display: none; }


.boxmenutoggle,#boxmenuclose{ cursor: pointer; color: inherit; }
.boxmenutoggle{ margin-left: 15px; transition: color .3s ease-out; }
.boxmenutoggle:hover{ color: #EE702E; }
#boxmenuclose{ float: right; color: #FFF; margin: 0; margin-bottom: 15px;}
#boxmenuclose .svg{ width: 24px; height: 24px; opacity: 0.65; transition: opacity .3s ease-out; }
#boxmenuclose:hover .svg{ opacity: 1; }
#boxmenuclosebk{ position: absolute; top:0; left: 0; width: 100%; height: 100%;}

body.menuopen{ overflow: hidden; }


#menu{ position: fixed; top:0; left:0; width: 100%; height: 100%; z-index: 200; display: flex; align-items: flex-end; flex-direction: column;
    overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; background: rgba(213,213,213,0.30);
    visibility: hidden; opacity:0; transition: opacity .3s ease-out, visibility 0s linear .3s; }
#checkmenu{ position: fixed; top:0; left:0; z-index: -1; visibility: hidden; }
#nav{ background-color: #108ca9; padding: 30px 30px 55px 30px; box-sizing: border-box; flex-grow: 1; width: 100%; box-sizing: border-box; position: relative; z-index: 2;
    transform: translateX(101%); transition: transform .3s ease-out;  }

#menu:target { display: flex; visibility: visible; opacity:1;  transition: opacity .3s ease-in; }
#menu:target #nav { transform: translateX(0%); }
/*#checkmenu:checked ~ #menu { display: flex; visibility: visible; opacity:1;  transition: opacity .3s ease-in; }
#checkmenu:checked ~ #menu #nav { transform: translateX(0%); }*/


#menuPrincipale{ font-size: 26px; line-height: 1.2em; clear: both; }
#menuPrincipale li{ display: block;}
#menuPrincipale a{ text-decoration: none; color: rgba(255,255,255,0.85); padding: .8em 0; display: flex; align-items: center;}
#menuPrincipale a::before{ width: 10px; content:''; }
#menuPrincipale .menuitemtext, #menuPrincipale .current-menu-item > a:hover .menuitemtext,
#menuPrincipale .menu-item-open > a:hover .menuitemtext { transform: translateX(-10px); transition: transform .3s ease-out; flex-grow: 1; }
#menuPrincipale a:hover .menuitemtext{ transform: translateX(0px); }
#menuPrincipale .menu-item-open > a .menuitemtext{ color: #FFF; }
#menuPrincipale .current-menu-item > a, #menuPrincipale .current_page_ancestor > a{ font-weight: bold; color: #FFF; }
#menuPrincipale .sub-menu{ display: none; padding-left: 30px; font-size: 0.8em; line-height: 1.1em; margin-bottom: 30px; }
#menuPrincipale .sub-menu a{ padding: .6em 0; }
#menuPrincipale .menu-item-open > .sub-menu{ display: block; }
#menuPrincipale .svg-freccia{ margin-left: 15px; position: relative; top:2px; transform: rotate(0deg); transition: transform .3s ease-out;}
#menuPrincipale .menu-item-open > a .svg-freccia{ transform: rotate(180deg);}


.palceholder{ width: 100%; clear: both; height: 0; position: relative; top: -130px; }

.componentgrid-item{ display: block; padding: 15px; min-height: 135px; box-sizing: border-box; text-align: center; color: #0F8CA9; display: flex; align-items: center; justify-content: center;
    font-size: 24px; line-height: 1.2em; text-decoration: none; box-shadow: 10px 10px 24px 0 #D9D9D9, -10px -10px 24px 0 #FFFFFF; margin-bottom:  30px; line-height: 1.2em;
    transition: color .3s ease-out, box-shadow .3s ease-out; }
.componentgrid-item:hover{ text-decoration: none; color: #EE702E; box-shadow: -10px 10px 24px 0 #D9D9D9, -10px -10px 24px 0 #FFFFFF, 10px 10px 20px 0 #D9D9D9;  }

#calendariotitolo{ margin-bottom: 15px; }
#destinatari{ clear: both; display: flex; flex-wrap: wrap; align-items: center; }
#destinatari-titolo{ font-weight: bold; font-size: 21px; line-height: 32px; text-transform: uppercase; color: #0f8ca9; width: 100%; }
.destinatari-item{ margin: 5px 10px 5px 0; }

.listacorsi{ margin-top: 40px; }
.listacorsi-periodo{ margin: 30px 0;}
.listacorsi-periodotitolo{ font-size: 21px; text-transform: uppercase; line-height: 32px; font-weight: bold; color: #0F8CA9; padding-bottom: 15px; }

.listacorsi-griditem{ display: flex; flex-direction: column; }
.listacorsi-item{ padding: 15px; box-shadow: 10px 10px 24px 0 #D9D9D9, -10px -10px 24px 0 #FFFFFF; margin-bottom: 30px; flex-grow: 1;
    display: flex; flex-wrap: wrap; flex-direction: column; }
.listacorsi-itemhead{ display: flex; justify-content: space-between; margin-bottom: 15px; }
.listacorsi-itemtags{ display: flex; justify-content: flex-start; gap: 10px; margin-bottom: 15px; }
.listacorsi-itemdest{ font-size: 14px; line-height: 21px; color: #141414; font-weight: bold; margin-right: 10px; text-transform: uppercase; }
.listacorsi-itemtitolo{ font-size: 24px; line-height: 28px; color: #0F8CA9; font-weight: bold;  margin: 10px 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.listacorsi-itemtesto{ color: #777777; font-size: 16px; line-height: 23px; margin-bottom: 20px; flex-grow: 1; }
.listacorsi-itemtestoclamp{ display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

.listacorsi-itemstato{ display: flex; align-items: center; margin-bottom: 10px; }
.listacorsi-itemstatotag { margin-right: 10px; flex-shrink: 0; }
.listacorsi-itemstatotesto{ font-size: 13px; font-style: italic; color: #141414; padding: 2px 0; }

.listacorsi-itemcodice{ font-size: 14px; line-height: 21px; color: #0F8CA9; font-weight: bold; margin: 6px 0; text-transform: uppercase; }


.listacorsi-tags{ display: flex; flex-wrap: wrap; margin-left: -2px; margin-right: -2px;  align-items: flex-start; }
.listacorsi-tags .tag{ margin: 2px; }

.listacorsi-btns{ margin-top: 30px; display: flex; align-items: flex-end; justify-content: space-between; overflow: hidden; align-items: stretch;}
.listacorsi-btndett{ margin-left: auto; margin-right: 0; text-align: center;}
.listacorsi-btniscriviti{ margin-right: 10px; text-align: center; }
.listacorsi-btns a{ word-break: normal; display: flex; align-items: center; }


.listatalenti .listacorsi-item{ background: #FFF url('images/bkcardtalenti.png') no-repeat bottom right; background-size: 137px 162px; }
.listatalenti .listacorsi-itemtesto { margin: 10px 0 0; }

#corsodet, #corsodet .testo{ color: #141414; font-size: 22px; }

.corsodet-stato{ flex-shrink: 0; display: flex; align-items: center; margin-bottom: 15px; margin-right: 15px; }
.corsodet-statotag{ flex-shrink: 0; margin-right: 10px; }
.corsodet-statotesto{ font-size: 16px; line-height: 1.1em; font-style: italic; }

.corsodet-tags{ display: flex; margin-bottom: 15px }
.corsodet-tagstitle{ margin-right: 10px; font-weight: bolder; font-size: 16px; line-height: 1.1em; margin-top: 5px; flex-shrink: 0; }

.corsodet-tagslista{ display: flex; flex-wrap: wrap; margin-left: -5px; margin-right: -5px;}
.corsodet-tagslista .tag{ margin: 2px; }

.corsodet-titolo{ margin: 30px 0 25px; }

.corsodet-label{ margin-bottom: 15px; clear: both; line-height: 1.2em;}
.corsodet-labeltitle{ color: #119DBE; font-weight: bold; }
.corsodet-labelsede{ float: left; }

.corsodet-desc{ margin: 30px 0; }
.corsodet-desctitolo{ color: #119DBE; font-weight: bold; font-size: 26px; line-height: 1.1em; }

.corsodet-btns{ display: flex; flex-wrap: wrap; margin-left: -10px; margin-right: -10px; }
.corsodet-btn{ margin: 10px; }

#correlati{ margin: 45px 0;}
.correlati-titolo{ color: #0F8CA9; font-size: 26px; font-weight: bold; margin-bottom: 30px; text-transform: uppercase; }
.correlati-griditem{  display: flex; align-items: stretch;  }
.correlati-item{ box-shadow: 10px 10px 24px 0 #d9d9d9, -10px -10px 24px 0 #ffffff; padding: 30px 15px; background-color: #FFF; margin-bottom: 15px;
    display: flex; flex-direction: column; align-items: flex-start; width: 100%; }
.correlati-itemtitolo{ font-size: 24px; line-height: 28px; font-weight: bold; color: #0F8CA9; margin-bottom: 15px; flex: 1 0 auto; width: 100%;}
.correlati-itemtesto{ font-size: 18px; line-height: 1.2em; color: #777;  margin-bottom: 25px; flex: 1 1 auto; width: 100%; }

#mappaContatti{ display: block; }
#formContatti label{ text-transform: uppercase; font-weight:400; font-size: 14px; }
#formContatti .form-control{ border: none; border-radius: 0; background-color: transparent; border-bottom: 1px solid #0f8ca9; -webkit-box-shadow: none; box-shadow: none; }
#inputArgomento { border: 1px solid #0f8ca9 !important; }



.data{ color: #777; font-size: 13px; text-transform: uppercase; margin-top: 20px; }

.socialList, .socialList li { list-style: none; display: inline-block; margin-right: 20px; min-height: 32px; margin: 0; padding: 0; text-align:center; }
.socialList li{ margin-right: 5px;}
.boxSocialTwitter{ position: relative; top:6px;}
.boxSocialGoogle{ position: relative; top:8px;}

.breadcrumb {background-color:transparent; padding-left:0; text-transform:uppercase;font-size:13px; margin-bottom:0;}

.documenti, .collegamenti{ border-top: 1px solid #f0f0f0; margin: 20px 0 40px; clear: both; padding-top: 20px; font-size: 20px; }
.documento, .collegamento{ display: flex; line-height:1.1em; margin-top: 20px; color: #333; align-items: center; text-decoration: none; }
.documento-icon, .collegamento-icon{ margin-right: 10px; width: 24px; height: 24px; flex-shrink: 0; }
.documento:hover, .collegamento:hover{ color: #ee702e; text-decoration: none; }


.lastmod{ margin-top:50px; font-size:13px; font-style: italic; clear: both; line-height: 21px; clear: both; }


#footer{ color: #FFF; text-align: center; background-color: #0f8ca9; }
#footer a{ color: #FFF; text-decoration: none;}
#footer a:hover, #footer a:focus{  text-decoration: underline;}
.footerTitolo{ color: #FFF; text-transform: uppercase; font-size: 18px; }
#footer ul, #footer li, .footerMenu, .footerMenu li{ margin: 0; padding:0; list-style: none; display: block; }
#footer .icon-menu {fill:#FFF; cursor:pointer;}
#footer .icon-menu:hover {fill:#fab31e; cursor:pointer;}
#footer-dati{ border-top: 1px solid rgba(255,255,255,.2);}


#logoNovity { display: inline-block; height: 21px; width: 94px; background: url(images/novitylab-design.png) no-repeat 0 -66px; margin-top: 15px; }
#logoNovity:hover{ background-position: 0 -16px; }

#privacy-modal{ position: fixed; bottom: 0px; right:0; width:100%; padding: 10px 0; line-height: 1.1em; font-size: 12px; -webkit-text-size-adjust:none;
background-color: #FFF; z-index: 999; border: 1px solid #0f8ca9; }
#privacy-form{ margin-top: 10px; }
#privacy-modal a{ color: #4d4636; font-weight: bold; }
#privacy-modal .privacy-btn { display: inline-block; padding: 5px 20px; text-decoration: none; color: #0f8ca9; border: solid 2px #0f8ca9; text-transform: uppercase;
position: relative; background: none; cursor: pointer; border-radius: 5px; }
#privacy-modal .privacy-btn:hover {background-color: #0f8ca9; color:#fff; text-decoration:none;}

#corsodet{ box-shadow: 10px 10px 24px 0 #D9D9D9, -10px -10px 24px 0 #FFFFFF; padding: 15px; margin: 15px 0; }

.tag{ text-decoration: none; color: #141414; letter-spacing: .3px; background-color: #E8E8E8; font-size: 14px; padding: 2px 10px 3px; border-radius: 30px; line-height: 1.4em;
    transition: background-color .3s ease-out, color .3s ease-out; }
a.tag:hover, label.tag:hover{ background-color: #E8E8E877; color: #EE702E; }
a.tag.active, label.tag.active{ background-color: #EE702E; color: #FFF; }

#tags{ margin: 15px 0; display: none;}
#tags-list{ display: flex; flex-wrap: wrap;  }
#tags-titolo{ color: #141414; font-size: 16px; font-weight: bold; margin-bottom: 5px;}
#tags-list{ margin-left: -2px; margin-right: -2px; }
#tags-list .tag { margin: 2px; }

#vetrinatalenti #tags{ display: block; }

#txtfiltri{  }
#txtfiltri a{ color: #0F8CA9; }
#txtfiltri a:hover{ color: #EE702E; }

#filtriavanzati{ position: fixed; top:0; right: 0; bottom:0; left:0; visibility: hidden; background: rgba(213,213,213,0.30); z-index: 200;
    visibility: hidden; opacity:0; transition: opacity .3s ease-out, visibility 0s linear .3s;  }
#filtriavanzati:target{ visibility: visible; opacity:1; transition: opacity .3s ease-out; }
#filtriavanzati:target #filtriavanzatibox{ transform: translateX(0%); }
#filtriavanzatibox{ position: absolute; top:0; right: 0; bottom:0; width: 100%; max-width: 470px; background: #fff; overflow: auto; box-sizing: border-box; z-index: 2; padding: 15px 15px 65px 15px;
    transform: translateX(101%); will-change: transform; transition: transform .3s ease-out; }
#filtriavanzaticlose, #filtriavanzaticlose .svg{ display: block; width: 24px; height: 24px; }
#filtriavanzaticlose{ color: #0f8ca9; transition: color .3s ease-out; margin: 0 15px 30px auto; }
#filtriavanzaticlose:hover{ color: #EE702E; }
#filtriavanzatibkclose{ position: absolute; top:0; right: 0; bottom:0; left:0;    }

#filtriavanzatiform{ display: flex; flex-direction: column; min-height: 100%; box-sizing: border-box; }
#filtriavanzatibtns{ display: flex; align-items: flex-end; justify-content: space-between; padding: 30px 0 0; }

#linkfiltriavanzati, #linkvisualizza{ color: #5B5B5B; font-size: 16px; text-decoration: none; display: inline-flex; align-items: center; margin: 15px 5px; }
#linkfiltriavanzati:hover { color: #EE702E; }
#linkfiltriavanzati .svg{ width: 20px; height: 20px; margin-left: 10px; }

#linkvisualizza{
    margin-left: 24px;
}

.grid-or-list {
    display: inline-flex;
    align-items: center;
} 

.grid-or-list > div {
    width: 24px;
    height: 24px;
    display: inline-flex;
    cursor: pointer;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 15px 5px;
}

#grid-view {
    background-image: url(./images/ico-card.svg);
}

#grid-view:hover, #grid-view.active {
    background-image: url(./images/ico-card-on.svg);
}

#list-view {
    background-image: url(./images/ico-list.svg);
}

#list-view:hover, #list-view.active {
    background-image: url(./images/ico-list-on.svg);
}

.faq-accordion{ margin: 60px 0;  }
.accordion{ border-bottom: 1px solid #ccc; }
.accordion-title{ color: #0f8ca9; font-weight: bold; text-transform: uppercase; margin-bottom: 15px; font-size: 26px; line-height: 1.2em;}
.accordion-item{  border-top: 1px solid #ccc;  }
.accordion-itemtitle{ display: flex; padding: 15px 15px; text-decoration: none; color: #0f8ca9;
    align-items: center; font-size: 24px; line-height: 1.1em; justify-content: space-between; cursor: pointer; }
.accordion-itemtitle:hover{ color: #EE702E; }
.accordion-svg{ width: 24px; height: 24px; flex-shrink: 0; margin-left: 10px; }
.accordion-itemtesto{ padding: 0 15px; margin: 1em 0 2em; display: none; font-size: 22px; color: #777; }

.accordion-checkbox{ position: fixed; top:0; left: 0; visibility: hidden; z-index: 1;}
.accordion-checkbox:checked ~ .accordion-itemtesto{ display: block; }
.accordion-checkbox:checked ~ .accordion-itemtitle{ color: #EE702E; }
.accordion-checkbox:checked ~ .accordion-itemtitle .accordion-svg{ transform: rotate(180deg); }

.filtriavanzati-accordionlabel{ display: block; text-decoration: none; font-size: 22px; color: #777777; line-height: 1.2em; margin-bottom: 10px; position: relative; overflow: hidden; cursor: pointer; }
.filtriavanzati-accordioninput{ position: absolute; top: 0: left: -100px; visibility: hidden; z-index: -1; }
.filtriavanzati-accordionlabel:hover, .filtriavanzati-accordioninput:checked ~ .filtriavanzati-accordionlabeltext{ color: #EE702E; }

.shareLink, .breadcrumb{ margin-bottom: 10px; }

.shareBox{ }
.shareLink{ display: inline-flex; align-items: center;; color: #777; font-size: 14px; cursor: pointer; line-height: 23px; text-decoration: none;  }
.shareLink:hover{ color: #EE702E;  }
.shareLink .svg{ width: 20px; height:20px; margin-right:5px; position: relative; top: 1px; }

.breadcrumb{ display: flex; flex-wrap: wrap; align-items: center; color: #777; line-height: 23px; }
.breadcrumb li::after{ content: '/'; margin: 0 10px; position: relative; top: 0px;}
.breadcrumb a{ color: inherit; line-height: 1.8em;  text-decoration: none;  color: #0f8ca9;}
.breadcrumb a:hover{ text-decoration: underline; }
.breadcrumb li.active::after{ content: ''; }


#newshome{ margin-top: 15px; }
.newshome{ display: block; padding: 15px; text-decoration: none; color: #fff; font-size: 20px; line-height: 1.4em; box-sizing: border-box; position: relative; z-index: 2; }
.newshome-box{ position: relative; z-index: 2; }
.newshome::before{ content:''; position: absolute; top:0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0; transition: opacity .3s ease-out; }
.newshome-titolo,.newshome-testo{ display: block; font-size: 20px; }
.newshome-titolo{ font-weight: bold; font-size: 28px; line-height: 1.23em; margin-bottom: 15px; }

.newshome:hover::before{ opacity: .2; }

.fascia.pari{ background: #F4F4F4; }
body.home .fascia.pari{ background: #FBFBFB; }
body.home .fascia.dispari{ background: #F4F4F4; }


/* Paginazione */
.pag{ display: flex; justify-content: center; align-items: center; margin: 50px auto; }
.pag-arrow{ width: 35px; height: 35px; border: 1px solid #9DAFBD; border-radius: 3px; position: relative; transform: rotate(90deg); }
.pag-next{ transform: rotate(-90deg); }
.pag-disable{ cursor:not-allowed; }
.pag-arrow::after{ content:''; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #9DAFBD;
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); transform-origin: 50% 28%; transition: border-color 0.3s ease-out; }

.pag-active:hover::after{ border-top-color: #0f8ca9; }

.pag-text{ padding: 0 10px; }
.pag-textmax{ font-weight: bold; color: #0f8ca9; }
.pag-text form{ display: inline-block; }
.pag-text select { -webkit-appearance: none; height: 37px; padding: 0 15px; border: 1px solid #9DAFBD; text-align: center; display: inline-block; text-align-last:center;
    box-shadow: none; border-radius: 3px; outline: none; }
.pag-text select:focus{ border-color: #0f8ca9; }



body.menuopen .iubenda-tp-btn[data-tp-float]{ display: none !important; }




/***************/
/* Media query */
/***************/
@media print, screen and (min-width: 568px ) {
    #headclub .svg{ display: block; }
    #tags-titolo{ flex-shrink: 0; padding-right: 10px; line-height: 23px; }

    .newshome{ padding: 30px; }
}


/* Small devices (tablets, 768px and up) */
@media print, screen and (min-width: 768px ) {

    .btn-outline, .btn-outline2{ padding: 11px 30px;}
    .testo .btn-editor, .btn, .btn2{ padding: 11px 30px; }

    .testo{ font-size: 26px; }
    .testobig{ font-size: 30px; }
    .testosmall{ font-size: 16px; line-height: 1.4285em; }
    .accordion-itemtesto{ font-size: 22px; }

    .h1, h1, .h2, h2 { font-size: 40px; }
    .h3, h3, .h4, h4 { font-size: 30px; }

    body.admin-bar #header{ top: 32px; }

    #checkmenu:checked ~ #menu { display: flex; align-items: flex-end; flex-direction: column; }
    #nav{ width: 500px; flex-grow: 1; }

    #destinatari-titolo{ width: auto; margin: 5px 15px 5px 0px; }
    #corsodet{ padding: 45px; }
    .corsodet-head{ display: flex; justify-content: space-between; }

    .testo .btn-editor, .btn.big, .btn2.big, .btn-outline.big, .btn-outline2.big{ min-width: 190px; width: auto; }

    .listacorsi-item{ padding: 20px; }
    .correlati-item{ margin-bottom: 30px; padding: 40px 20px; }

    #tags{ display: flex; }
    #filtriavanzatibox{ padding: 45px 45px 65px 45px; }
    #grid-linkfiltriavanzati{ justify-content: flex-end;  display: flex; }
    #grid-linkfiltriavanzati span{ justify-content: flex-end;  display: flex; align-items: center; }
    #vetrinatalenti #grid-linkfiltriavanzati span{ justify-content: flex-end;  display: flex; align-items: flex-start; }



    #logo{ float: none; display: block; width: auto; height: 60px; position: relative; }
    #logo img{ left: 0; }

    .lastmod, .shareBox{ text-align: right; }

    #shareBoxBottom{ text-align: left; margin-top:50px; }

    #newshome{ display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; margin-top: 30px; }
    .newshome{ flex: 0 0 auto; width: 100%; }
    #newshome2, #newshome3{ width: 50%; }

    #newshome0, #newshome1{ font-size: 24px;  }
    #newshome0 .newshome-titolo{ font-size: 40px; }
    #newshome1 .newshome-titolo{ font-size: 32px; }

    #linkfiltriavanzati{ margin: 0; }

    #banner{ font-size: 18px; }

}

/* Medium devices (desktops, 1024px and up) */
@media screen and (min-width: 1024px) {

    .testo .alignleft { float: left; margin: 0.375em 1.75em 1.75em 0; }
    .testo .alignright { float: right; margin: 0.375em 0 1.75em 1.75em; }
    .testo .aligncenter { clear: both; display: block; margin: 0 auto 1.75em; }
    .testo blockquote.alignleft { margin: 0.3157894737em 1.4736842105em 1.473684211em 0; }
    .testo blockquote.alignright { margin: 0.3157894737em 0 1.473684211em 1.4736842105em; }
    .testo blockquote.aligncenter { margin-bottom: 1.473684211em; }


    #logoNovity{ margin-top: 0; float: right; }
    #footer-dati{ text-align: left;}
    #footer-dati .grid{ align-items: flex-end; }

    #footer{ text-align: left; }

    .newshome{ width: 50%; }

    #newshome0 .newshome-titolo{ font-size: 32px; }

}

/* Large devices (large desktops, and up) */
@media screen and (min-width: 1280px ) {

    #newshome0 .newshome-titolo{ font-size: 50px; }
    #newshome0 .newshome-testo{ font-size: 26px; line-height: 1.5em; }
    #newshome{ display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr 1fr; -ms-grid-rows: auto auto; grid-template-rows: auto auto; }
    #newshome0, #newshome1, #newshome2, #newshome3{ width: auto; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: start; justify-content: flex-start;  }
    #newshome0{ -ms-grid-column: 1; grid-column-start: 1; -ms-grid-column-span: 2; grid-column-end: 3; -ms-grid-row: 1; grid-row-start: 1; -ms-grid-row-span: 2; grid-row-end: 3; }
    #newshome1{ -ms-grid-column: 3; grid-column-start: 3; -ms-grid-column-span: 2; grid-column-end: 5; -ms-grid-row: 1; grid-row-start: 1; -ms-grid-row-span: 1; grid-row-end: 2; }
    #newshome2{ -ms-grid-column: 3; grid-column-start: 3; -ms-grid-column-span: 1; grid-column-end: 4; -ms-grid-row: 2; grid-row-start: 2; -ms-grid-row-span: 1; grid-row-end: 3; }
    #newshome3{ -ms-grid-column: 4; grid-column-start: 4; -ms-grid-column-span: 1; grid-column-end: 5; -ms-grid-row: 2; grid-row-start: 2; -ms-grid-row-span: 1; grid-row-end: 3; }

}
