/* ===== 05-caratteri.css ===== */
/* Open Sans ospitato sul sito (prima arrivava da Google Fonts).
   Licenza SIL Open Font License. Sottoinsiemi latin e latin-ext. */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/open-sans-400.woff2) format('woff2');
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(../fonts/open-sans-600.woff2) format('woff2');
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(../fonts/open-sans-700.woff2) format('woff2');
}

/* ===== 10-normalize.css ===== */
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */

article,
aside,
details, /* 1 */
figcaption,
figure,
footer,
header,
main, /* 2 */
menu,
nav,
section,
summary { /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */

template, /* 1 */
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */

a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/* Forms
   ========================================================================== */

/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
select,
textarea {
  font: inherit; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */

optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* ===== 20-bootstrap.min.css ===== */
:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.list-unstyled{padding-left:0;list-style:none}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn:first-child:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn:first-child:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.float-start{float:left!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}

/* ===== 30-template.css ===== */
/* SPARKY DYNAMICALLY GENERATED CSS - DO NOT EDIT THIS FILE!
YOUR CHANGES WILL BE OVERWRITTEN AFTER NEXT SAVE OF TEMPLATE PARAMETERS!
You can add your custom CSS code in template options, under Custom tab or
you can edit file custom.css to add your CSS code. */



* {
    box-sizing: border-box;
}

body {
    color:#333333;
    font-size:16px;
    line-height:1.4;
    font-family:'Open Sans', sans-serif;
    
    font-weight:400;
    font-style:normal;
    background:#333333;
}

input, textarea, button, select {
    font-family:'Open Sans', sans-serif;
}

.content_sparky li, dl, dd, dt {
    line-height:1.4;
}

.sparky_container::after {
    content:'';
    display:table;
    clear:both;
}

.clr {
    clear:both;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border:none;
}

.sparky_container {
    margin:0 auto;
    padding:0;
}

.sparky_container > .sparky_cell {
    float:left;
}


/* GRID SYSTEM */

.sparkle1 {
    width: 8.3333333333333%;
}

.sparkle2 {
    width: 16.666666666667%;
}

.sparkle3 {
    width: 25%;
}

.sparkle4 {
    width: 33.333333333333%;
}

.sparkle5 {
    width: 41.666666666667%;
}

.sparkle6 {
    width: 50%;
}

.sparkle7 {
    width: 58.333333333333%;
}

.sparkle8 {
    width: 66.666666666667%;
}

.sparkle9 {
    width: 75%;
}

.sparkle10 {
    width: 83.333333333333%;
}

.sparkle11 {
    width: 91.666666666667%;
}

.sparkle12 {
    width: 100%;
}

.full .sparky_container {
    width:100%;
}

/* ROW SETTINGS */


/* SCREEN >= TEMPLATE WIDTH */

@media (min-width:1134px) {
    .sparky_container {
        width:1104px;
    }

    [class*='sparkle'] {
        margin-left: 0;
    }
}
.one .sparkle1 {
    width: 8.3333333333333% !important;
}
.one .sparkle2 {
    width: 16.666666666667% !important;
}
.one .sparkle3 {
    width: 25% !important;
}
.one .sparkle4 {
    width: 33.333333333333% !important;
}
.one .sparkle5 {
    width: 41.666666666667% !important;
}
.one .sparkle6 {
    width: 50% !important;
}
.one .sparkle7 {
    width: 58.333333333333% !important;
}
.one .sparkle8 {
    width: 66.666666666667% !important;
}
.one .sparkle9 {
    width: 75% !important;
}
.one .sparkle10 {
    width: 83.333333333333% !important;
}
.one .sparkle11 {
    width: 91.666666666667% !important;
}
.one .sparkle12 {
    width: 100% !important;
}
.fluid .sparky_container {
    width: 100%;
}
.sparky_container > .sparky_cell {
    padding:0px 0px;
}

/* FONTS AND TYPOGRAPHY */

h1, h1 a {
    padding:30px 0;
    margin:0;
    line-height:1;
    color:#333333;
    font-size:36px;
    font-family:'Open Sans', sans-serif;
    
    font-weight:700;
    font-style:normal;
}

h2, h2 a {
    padding:15px 0;
    margin:0;
    line-height:1;
    color:#333333;
    font-size:30px;
    font-family:'Open Sans', sans-serif;
    
    font-weight:700;
    font-style:normal;
}

h2.row_heading {
    padding-left:0px;
    padding-right:0px;
}

h3 {
    padding:15px 0;
    margin:0;
    color:#333333;
    font-size:24px;
    line-height:1.4;
    font-family:'Open Sans', sans-serif;
    
    font-weight:600;
    font-style:normal;
}

h3.row_subheading {
    padding-left:0px;
    padding-right:0px;
}

h4 {
    padding:15px 0;
    margin:0;
    color:#333333;
    font-size:18px;
    line-height:1.4;
    font-family:'Open Sans', sans-serif;
    
    font-weight:600;
    font-style:normal;
}

a {
    color:#333333;
    font-weight:bold;
    font-style:normal;
    text-decoration:none;
}

a:hover, a:active, a:focus {
    color:var(--sparkycolor1);
    text-decoration:none;
}

p {
    margin: 0 0 15px;
}

button,
button.btn,
a.btn,
button.btn-primary,
p.readmore a,
a.readmore {
    display: inline-block;
    padding: 4px 12px;
    color: #333333;
    text-align: center;
    vertical-align: middle;
    background-color: #f5f5f5;
    background-image:none;
    border: 1px solid #cccccc;
    font-size:inherit;
    line-height:inherit;
    text-shadow:none;
    border-radius:0;
    box-shadow:none;
}

button:hover,
button.btn:hover,
button.btn-primary:hover,
button:active,
button.btn:active,
button.btn-primary:active,
button:focus,
button.btn:focus,
button.btn-primary:focus,
p.readmore a:hover,
p.readmore a:focus,
a.readmore:hover,
a.readmore:focus {
    color: #333333;
    text-decoration: none;
    background-color: #eeeeee;
    background-image:none;
}

p.readmore a.btn span {
    display:none;
}

/* blog layout */

.blog-items {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    clear:both;
}

.blog-items.columns-2 .blog-item {
    width:calc(50% - 7.5px);
}

.blog-items.columns-3 .blog-item {
    width:calc(33.33% - 7.5px);
}

.blog-items.columns-4 .blog-item {
    width:calc(25% - 7.5px);
}

.blog-items.columns-5 .blog-item {
    width:calc(20% - 7.5px);
}

.blog-items.columns-6 .blog-item {
    width:calc(16.66% - 7.5px);
}

@media (max-width: 767px) {

    .blog-items.columns-2 .blog-item,
    .blog-items.columns-3 .blog-item,
    .blog-items.columns-4 .blog-item,
    .blog-items.columns-5 .blog-item,
    .blog-items.columns-6 .blog-item {
        width:100%;
    }

}

.page-header {
    padding: 0;
    margin: 0;
    border: 0;
}

.pull-left.item-image, figure.left.item-image {
    margin-right:15px;
    float:left;
}

.pull-right.item-image, figure.right.item-image {
    margin-left:15px;
    float:right;
}

/* forms */

form {
    margin:0;
}

.form-inline {
    display:inline;
}

#login-form input {
    padding: 4px;
}

/* lists */

ul, ol {
    margin: 15px 45px;
    padding: 0;
}

div.item-page ol li, div.item-page ul li {
    margin: 0 0 10px 0;
    padding: 0;
}

div.icons ul.dropdown-menu li {
    margin: 0;
}


.fa, .fas, [class*=' icon-'], [class^=icon-] {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

ul.arrow, ul.arrowleft, ul.calendar, ul.checklist, ul.clock, ul.delete, ul.email, ul.file, ul.folder, ul.heart, ul.information, ul.lock, ul.pencil, ul.play, ul.rss, ul.person, ul.shop, ul.song, ul.star, ul.star2, ul.trash, ul.tweak, ul.unlock, ul.warn {
    margin: 15px 45px;
    padding: 0;
}

ul.arrow li, ul.arrowleft li, ul.calendar li, ul.checklist li, ul.clock li, ul.delete li, ul.email li, ul.file li, ul.folder li, ul.heart li, ul.information li, ul.lock li, ul.pencil li, ul.play li, ul.rss li, ul.person li, ul.shop li, ul.song li, ul.star li, ul.star2 li, ul.trash li, ul.tweak li, ul.unlock li, ul.warn li {
    list-style: none;
    padding: 0 15px;
}

ul.arrow li:before, ul.arrowleft li:before, ul.calendar li:before, ul.checklist li:before, ul.clock li:before, ul.delete li:before, ul.email li:before, ul.file li:before, ul.folder li:before, ul.heart li:before, ul.information li:before, ul.lock li:before, ul.pencil li:before, ul.play li:before, ul.rss li:before, ul.person li:before, ul.shop li:before, ul.song li:before, ul.star li:before, ul.star2 li:before, ul.trash li:before, ul.tweak li:before, ul.unlock li:before, ul.warn li:before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    padding: 0;
    margin: 0 -30px;
    position: absolute;
}

ul.arrow li:before {
    content: '\f061';
}

ul.arrowleft li:before {
    content: '\f060';
} 

ul.calendar li:before {
    content: '\f073';
}

ul.checklist li:before {
    content: '\f00c';
}

ul.clock li:before {
    content: '\f017';
}

ul.delete li:before {
    content: '\f00d';
}

ul.email li:before {
    content: '\f0e0';
}

ul.file li:before {
    content: '\f15b';
}

ul.folder li:before {
    content: '\f07b';
}

ul.heart li:before {
    content: '\f004';
}

ul.information li:before {
    content: '\f05a';
}

ul.lock li:before {
    content: '\f023';
}

ul.pencil li:before {
    content: '\f303';
}

ul.person li:before {
    content: '\f007';
}

ul.play li:before {
    content: '\f04b';
}

ul.rss li:before {
    content: '\f09e';
}

ul.shop li:before {
    content: '\f07a';
}

ul.song li:before {
    content: '\f001';
}

ul.star li:before {
    content: '\f005';
}

ul.star2 li:before {
    content: '\f006';
}

ul.trash li:before {
    content: '\f2ed';
}

ul.tweak li:before {
    content: '\f0ad';
}

ul.unlock li:before {
    content: '\f09c';
}

ul.warn li:before {
    content: '\f071';
}

/* font awesome icon sizes */

.fa-1 {
    font-size: 1em;
}

.fa-2 {
    font-size: 2em;
}

.fa-3 {
    font-size: 4em;
}

.fa-4 {
    font-size: 7em;
}

.fa-5 {
    font-size: 12em;
}

.fa-6 {
    font-size: 16em;
}

.fontawesome-icon-list {
    font-size: 10px;
}

.fontawesome-icon-list i {
    font-size: 16px;
}

.warning, .info, .error {
    padding:15px 30px;
    min-height: 50px;
}

.warning {
    color:#000;
    border: 1px solid #ffcc00;
    background:#ffff66;
}

.info {
    color:#006699;
    border: 1px solid #006699;
    background:#bde1ff;
}

.error {
    color:#900;
    border: 1px solid #900;
    background:#f8b5b5;
}

.warning:before, .info:before, .error:before {
    font-family: 'Font Awesome 5 Free';
    font-size: 32px;
    font-weight: 900;
    line-height:1;
    margin: 0 30px 0 0;
    float: left;
}

.warning:before {
    content: '\f071';
    color: #ffcc00;
}

.info:before {
    content: '\f05a';
    color:#006699;
}

.error:before {
    content: '\f057';
    color:#900;
}

.outline {
    background: transparent;
}

.warning.outline {
    color: #d5aa00;
}

.typewriter {
    background: url('../img/typewriter_bg.png');
    padding:20px 15px 20px 30px;
    color:#000;
    font-family:'Courier New', Courier, monospace;
    line-height:20px;
}

.quote {
    margin-left: auto;
    margin-right: auto;
    padding: 15px 15px 15px 15px;
    font-size: 24px;
    font-style: normal;
    line-height: 1.4;
    text-align: center;
    max-width: 600px;
}

.dropcap:first-letter {
    font-size: 300%;
    font-weight:bold;
    float:left;
    margin:0 10px 5px 0;
    line-height: 1;
}

.p_number:first-letter {
    display:block;
    float:left;
    font-family: monospace;
    font-size: 400%;
    line-height:1;
    font-weight:bold;
    text-align: center;
    margin:0 15px 15px 0;
    padding:5px 15px;
    position: relative;
    color: #fff;
    background: #ccc;
}

.inset_left {
    display:block;
    float:left;
    width: 150px;
    font-style: italic;
    margin: 15px 15px 15px 0;
}

.inset_right {
    display:block;
    float:right;
    width: 150px;
    font-style: italic;
    margin: 15px 0 15px 15px;
}

.inset_title {
    font-weight:bold;
    display:block;
}

img.img_left {
    float:left;
    margin:0 30px 30px 0;
}

img.img_right {
    float:right;
    margin:0 0 30px 30px;
}

blockquote {
    border-left: 3px solid #ccc;
    font-family: Georgia, serif;
    font-style: italic;
    margin: 15px;
    padding: 15px;
}

legend {
    display: block;
    padding: 15px;
    margin-bottom: 5px;
    background:#f5f5f5;
    border: 0;
    font-size:inherit;
    line-height:inherit;
}

code {
    display: block;
    padding: 1em;
    color:inherit;
    border:0;
}


.quote:before {
    display: block;
    text-align: center;
    font-family: 'Font Awesome 5 Free';
    content: '\f10d';
    font-size: 1.5em;
    font-style: normal;
    font-weight: 900;
    color: #ccc;
    float: none;
    margin-bottom: 15px;
}

.fontawesome-icon-list div {
    width: 25%;
    float: left;
    padding: 5px 0;
}

.fontawesome-icon-list i {
    width: 30px;
    color: #333;
}

@media(min-width:600px) {
    .two-cols {
        -moz-column-count:2;
        -webkit-column-count:2;
        column-count:2;
        -moz-column-gap:3em;
        -webkit-column-gap:3em;
        column-gap:3em;
    }

    .three-cols {
        -moz-column-count:3;
        -webkit-column-count:3;
        column-count:3;
        -moz-column-gap:3em;
        -webkit-column-gap:3em;
        column-gap:3em;
    }

    .four-cols {
        -moz-column-count:4;
        -webkit-column-count:4;
        column-count:4;
        -moz-column-gap:3em;
        -webkit-column-gap:3em;
        column-gap:3em;
    }

    .five-cols {
        -moz-column-count:5;
        -webkit-column-count:5;
        column-count:5;
        -moz-column-gap:2em;
        -webkit-column-gap:2em;
        column-gap:2em;
    }

    .six-cols {
        -moz-column-count:6;
        -webkit-column-count:6;
        column-count:6;
        -moz-column-gap:2em;
        -webkit-column-gap:2em;
        column-gap:2em;
    }
}

.abovecontent {
    padding: 0 0 30px 0;
}

.belowcontent {
    padding: 30px 0 0 0;
}


/* LOGO */

.sparky_logo {
    color:#333333;
    font-size:33px;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:normal;
    font-style:normal;
    
    text-decoration:none;
}
.sparky_slogan {
    color:#333333;
    font-size:12px;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:normal;
    font-style:normal;
    
    text-decoration:none;
}

.sparky_logo_link {
    display:block;
}


/* STANDARD MENU */

ul.mnu_footermenu {
    display:block;
    margin:0;
    padding:0;
}

ul.mnu_footermenu ul {
    margin:10px;
    padding:0;
}

.mnu_footermenu li {
    display:block;
}

.mnu_footermenu > li {
    display:inline-block;
}

.mnu_footermenu > li {
    margin-bottom:5px;
    padding:5px 8px;
    font-size:14px;
    font-weight:400;
    font-style:normal;
}

.mnu_footermenu > li > a {
    color:#666666;
    font-family:'Open Sans', sans-serif;
    font-weight:400;
    font-style:normal;
}

.mnu_footermenu > li > a:hover {
    color:#333333;
}

.mnu_footermenu > li li {
    margin:0;
    padding:0;
    font-size:11px;
    line-height:15px;
    font-weight:400;
    font-style:normal;
}

.mnu_footermenu > li li a {
    color:#782320;
    font-family:'Noto Sans', sans-serif;
    font-weight:400;
    font-style:normal;
}

.mnu_footermenu > li li a:hover {
    color:#333333;   
}


/* DROP-DOWN MENU */

ul.mnu_topmenu {
    display:block;
    margin:0;
    padding:0;
    list-style-type:none;
    list-style-position:outside;
    position:absolute;
    z-index:100;
    white-space:nowrap;
    text-align:center;
    position:relative;
    font-family:'Open Sans', sans-serif;
}

.mnu_topmenu ul {
    margin:0;
    list-style-type:none;
    list-style-position:outside;
    text-align:initial;
    position:absolute;
    z-index:100;
    background:#1c8cc9;
    width:210px;
    border:0px solid #dddddd;
    padding:15px;
}

.mnu_topmenu > li > a, .mnu_topmenu > li > span {
    display:block;
    margin:0;
    text-decoration:none;
    color:var(--sparkycolor1);
    font-size:14px;
    padding:0 15px;
    font-weight:400;
    font-style:normal;
    height:115px;
    line-height:115px;
    cursor:pointer;
}

.mnu_topmenu  > li.active > a, .mnu_topmenu > li.active > span {
    color:var(--sparkycolor1);
    cursor:pointer;
}

.mnu_topmenu > li > a:hover, .mnu_topmenu > li:hover > a, .mnu_topmenu > li > a:hover, .mnu_topmenu > li:hover > span {
    color:var(--sparkycolor1);
}

.mnu_topmenu > li {
    display:inline-block;
    position:relative;
    margin:0;
    padding:0;
    border-right:0px solid #cccccc;
    border-bottom:0px solid #cccccc;
    border-top:0px solid #cccccc;
}

.mnu_topmenu > li.active {
    background:#055682;
}

.mnu_topmenu > li:first-child {
    border-left:0px solid #cccccc;
}

.mnu_topmenu li:hover {
    position:relative;
    background:#055682;
}

.mnu_topmenu li ul li:hover {
    background-color:#055682;
}

.mnu_topmenu li ul li {
    height:25px;
    border-bottom:0px solid #dddddd;
    padding:0 0px;
    margin: 0;
    
}

.mnu_topmenu li ul a, .mnu_topmenu li ul span {
    display: block;
    line-height:25px;
    font-size:12px;
    color:var(--sparkycolor1);
    font-weight:400;
    font-family:'Open Sans', sans-serif;
    font-style:normal;
    padding-top:0;
    cursor:pointer;
}

.mnu_topmenu li ul li:hover > a, .mnu_topmenu li ul li:hover > span {
    color:var(--sparkycolor1);
}

.mnu_topmenu li ul ul {
    left: calc(210px - 15px);
    margin-top:-15px;
}

.mnu_topmenu ul ul {
    top:0px;
}

.mnu_topmenu .sub {
    font-size:10px;
    line-height:normal;
    display:block;
}

.mnu_topmenu > li > ul {
    display: none;
}


/* STANDARD MENU */

ul.mnu_menu-studio {
    display:block;
    margin:0;
    padding:0;
}

ul.mnu_menu-studio ul {
    margin:10px;
    padding:0;
}

.mnu_menu-studio li {
    display:block;
}

.mnu_menu-studio > li {
    margin-bottom:5px;
    padding:5px 0px;
    font-size:14px;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-studio > li > a {
    color:#000000;
    font-family:'Open Sans', sans-serif;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-studio > li > a:hover {
    color:var(--sparkycolor1);
}

.mnu_menu-studio > li li {
    margin:0;
    padding:0;
    font-size:11px;
    line-height:15px;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-studio > li li a {
    color:#782320;
    font-family:;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-studio > li li a:hover {
    color:#333333;   
}


/* STANDARD MENU */

ul.mnu_menu-metodo {
    display:block;
    margin:0;
    padding:0;
}

ul.mnu_menu-metodo ul {
    margin:10px;
    padding:0;
}

.mnu_menu-metodo li {
    display:block;
}

.mnu_menu-metodo > li {
    margin-bottom:5px;
    padding:5px 0px;
    font-size:14px;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-metodo > li > a {
    color:#000000;
    font-family:'Open Sans', sans-serif;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-metodo > li > a:hover {
    color:var(--sparkycolor1);
}

.mnu_menu-metodo > li li {
    margin:0;
    padding:0;
    font-size:11px;
    line-height:15px;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-metodo > li li a {
    color:#782320;
    font-family:;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-metodo > li li a:hover {
    color:#333333;   
}


/* STANDARD MENU */

ul.mnu_menu-gyrotonic {
    display:block;
    margin:0;
    padding:0;
}

ul.mnu_menu-gyrotonic ul {
    margin:10px;
    padding:0;
}

.mnu_menu-gyrotonic li {
    display:block;
}

.mnu_menu-gyrotonic > li {
    margin-bottom:5px;
    padding:5px 0px;
    font-size:14px;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-gyrotonic > li > a {
    color:#000000;
    font-family:'Open Sans', sans-serif;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-gyrotonic > li > a:hover {
    color:var(--sparkycolor1);
}

.mnu_menu-gyrotonic > li li {
    margin:0;
    padding:0;
    font-size:11px;
    line-height:15px;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-gyrotonic > li li a {
    color:#782320;
    font-family:;
    font-weight:400;
    font-style:normal;
}

.mnu_menu-gyrotonic > li li a:hover {
    color:#333333;   
}


/* STANDARD MENU */

ul.mnu_forse-ti-puo-interessare {
    display:block;
    margin:0;
    padding:0;
}

ul.mnu_forse-ti-puo-interessare ul {
    margin:10px;
    padding:0;
}

.mnu_forse-ti-puo-interessare li {
    display:block;
}

.mnu_forse-ti-puo-interessare > li {
    margin-bottom:5px;
    padding:5px 0px;
    font-size:14px;
    font-weight:400;
    font-style:normal;
}

.mnu_forse-ti-puo-interessare > li > a {
    color:#000000;
    font-family:'Open Sans', sans-serif;
    font-weight:400;
    font-style:normal;
}

.mnu_forse-ti-puo-interessare > li > a:hover {
    color:var(--sparkycolor1);
}

.mnu_forse-ti-puo-interessare > li li {
    margin:0;
    padding:0;
    font-size:11px;
    line-height:15px;
    font-weight:400;
    font-style:normal;
}

.mnu_forse-ti-puo-interessare > li li a {
    color:#782320;
    font-family:;
    font-weight:400;
    font-style:normal;
}

.mnu_forse-ti-puo-interessare > li li a:hover {
    color:#333333;   
}

/* RESPONSIVE TOP MENU */

.js .nav-collapse {
    clip: rect(0 0 0 0);
    max-height: 0;
    position: absolute;
    display: block;
    zoom: 1;
}

.nav-collapse.opened {
    max-height: 9999px;
    position:absolute;
}

.nav-collapse.opened > ul {
    position: fixed;
    top: 0;
    left: 5%;
    width: 90%;
    height: auto;
    background:#444;
}

.nav-collapse.opened > ul ul {
    width: 100%;
    position: relative;
    left:0;
    padding:0;
    margin:0;
    background:#444;
    border:0;
}

.nav-collapse.opened > ul ul li {
    height:auto;
}

.nav-collapse.opened li {
    width: 100%;
    display: block;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
    text-align:initial;
}

.nav-collapse.opened li.active, .nav-collapse.opened li:hover {
    background-color:#333;
}

.nav-collapse.opened li.active a {
    color:#fff !important;
}

.nav-collapse.opened li a,
.nav-collapse.opened li span {
    padding:0 15px;
    margin:0;
    line-height:50px;
    height:50px;
    color:#fff !important;
}

.nav-collapse.opened li li a,
.nav-collapse.opened li li span {
    padding:0 30px;
    line-height:30px;
    height:30px;
}

.nav-toggle {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    background: url('../img/tinynav.png');
    background-size: 42px 84px;
    width: 42px;
    height: 42px;
    text-indent:-9999px;
    display:inline-block;
    float:right;
}

.nav-toggle.active {
    position: fixed;
    z-index: 999;
    right: 5%;
    top: 0;
    margin-top:5px;
    margin-right:15px;
    background-position: bottom;
}

#blocker {
    position:fixed;
    width:100%;
    height:100%;
    left:0;
    top:0;
    right:0;
    bottom:0;
    z-index:9999;
}

@media screen and (min-width: 980px) {

    .js .nav-collapse {
        position: relative;
    }

    .js .nav-collapse.closed {
        max-height: none;
    }

    .nav-toggle {
        display: none;
    }

}

@media screen and (max-width: 979px) {

    .nav-collapse.closed {
        overflow:hidden;
    }

    .firstClick + ul {
        display: none !important;
    }

}
    
.element-invisible {
    display:none !important;
}

/* forms */

.input-group {
    margin-bottom:15px;
}

.has-danger input {
    border-color:red;
}

.form-control-feedback {
    color:red;
    padding: 0 15px;
}

.control-group {
    margin-bottom:15px;
}

.input-prepend .add-on,
.input-prepend .btn,
a.jmodedit {
    box-sizing: content-box;
}

.nav-tabs.nav-stacked {
    margin:0;
}

a.modal.btn, a.btn.hasTooltip, a.btn.modal-button {
    font-size:13px;
}

a.jmodedit.btn {
    text-decoration: none;
}

.input-password-toggle .icon-eye::before {
    content: '\f06e';
}

.input-password-toggle .icon-eye-slash::before {
    content: '\f070';
}

.btn .icon-edit::before {
    content: '\f044';
}

/* front-end edit */

.edit.item-page button span {
    margin:0 5px;
}

#jform_publish_up_img, #jform_publish_down_img {
    padding:7px 12px 6px;
}

#modules-form legend {
    border:0;
    padding:0;
    margin-bottom:15px;
    font-size:18px;
}

#jformposition_chzn ul.chzn-results li:nth-child(1),
#jformposition_chzn ul.chzn-results li:nth-child(2),
#jformposition_chzn ul.chzn-results li:nth-child(3) {
    display:none;
} 

/* article info */

dl.article-info {
    display:inline-block;
    width:auto;
    margin:0 0 10px;
    padding:4px 3px 3px;
    font-size:13px;
}

dl.article-info dt.article-info-term {
    display:none;
}

dl.article-info dd {
    display:inline-block;
    padding:0 5px;
    margin:0;
    border-right:1px solid #ccc;
}

dl.article-info dd:first-of-type {
    padding:0 5px 0 0;
}

dl.article-info dd:last-child {
    border:0;
}

/* print/email drop-down */

.items-leading .icons,
.items-row .icons {
    float:right;
    width:15%;
}

.dropdown-menu li a span {
    padding:0 10px;
    background-image:none !important;
}

.dropdown-menu li a span:before {
    margin-left:-10px;
}

/* pagination */

.icon-angle-left:before {
    content: '\f104';
}

.icon-angle-double-left:before {
    content: '\f100';
}

.icon-angle-right:before {
    content: '\f105';
}

.icon-angle-double-right:before {
    content: '\f101';
}

/* pager */

.pager li > a, .pager li > span {
    background: transparent;
    border: 1px solid #121212;
    border-radius: 0;
    color: #121212;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 25px;
    text-transform: uppercase;
}

/* tags */

ul.tags.list-inline, .mod-tagspopular ul {
    margin:0;
    padding:15px 0;
    list-style:none;
}

ul.tags.list-inline li, .mod-tagspopular ul li {
    display:inline-block;
    border:1px solid #ccc;
    padding:0;
    border-radius:4px;
    line-height:13px;
}

ul.tags.list-inline li:hover, .mod-tagspopular ul li:hover {
    background:#f5f5f5;
}

ul.tags.list-inline li a.btn, .mod-tagspopular ul li a {
    display:inline-block;
    background:none;
    border:none;
    text-shadow:none;
    color:#999;
    padding:5px;
    margin:0;
    font-size:13px;
    line-height:13px;
}

ul.tags.list-inline li a.btn:hover, .mod-tagspopular ul li a:hover {
    color:#666 !important;
}

/* rating */

.content_rating {
    display: inline-block;
    margin-inline-end: 15px;
}

.content_vote {
    display: inline-block;
    margin-bottom: 15px;
}

.content_rating ul {
    margin: 0 0 15px;
}

.content_vote select {
    display: inline-block;
    height: 30px;
}

.content_vote input.btn {
    height: 30px;
    line-height: 30px;
    padding-top: 0;
    padding-bottom: 0;
}

/* blog */

.items-more ol.nav {
    margin:0;
}

.items-more ol.nav li a {
    border:0;
    padding:5px 0;
}

.items-more ol.nav li a:hover,
.items-more ol.nav li a:focus {
    background:none;
}

/* category */

ul.category {
    margin:0;
    padding:0;
    list-style:none;
}

ul.category li {
    padding:10px 0;
}

ul.category li .list-title {
    font-size:18px;
}

/* contact form */


/* search form */

ol.com-finder__results-list,
ol.com-finder__results-list ul.result__taxonomy {
    margin: 0;
}

.com-finder__explained {
    padding-bottom: 30px;
}

/* user */

.registration legend,
.profile-edit legend {
    border:0;
    font-size:18px;
}

ul.mod-login__options {
    margin-left:0;
    margin-right:0;
}

/* breadcrumbs */

ol.mod-breadcrumbs {
    margin: 0;
}

/* faq */

.accordion-header {
    padding: 0;
}


/* Custom user code */

/* ===== 40-custom.css ===== */
body {
	-webkit-font-smoothing: antialiased;
    
}

.video-responsive {
position: relative;
padding-bottom: 56.25%;
padding-top: 35px;
height: 0;
overflow: hidden;
}

.video-responsive iframe {
position: absolute;
top:0;
left: 0;
width: 100%;
height: 100%;
}

.typewriter {
    background: url('../img/typewriter_bg.png');
    padding:20px 15px 20px 50px;
    color:#000;
    font-family:'Open Sans', Sans;
    font-size: 14px;
    line-height:25px;
}

h1 {
    padding:0 0 30px 0;
    letter-spacing: -2px;
}

h2, h2 a {
    padding:0 0 15px 0;
    letter-spacing: -2px;
}

.sparky_inner h2 {
	background: #f6cc26;
	padding:15px 0 30px 0;
}

h4 {
    padding:0 0 15px 0;
}

hr {
	border-top:1px solid #333;
	border-bottom:0;
	border-left:0;
	border-right:0;
}

img {
	max-width: 100%;
	height: auto;
}

/* forms */

.inputbox, input.required, textarea.required, .form-control {
	display: inline-block;
	vertical-align: middle;
	padding: 12px;
	margin: 0;
	background-color: #ffffff;
	color:#555555;
	border: 1px solid #fff;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	font-size: inherit;
	font-family: 'Open Sans', sans-serif;
}

.button, .btn, a.btn, button.btn, p.readmore a, p.readmore a.btn {
	display: inline-block;
	padding: 10px 15px;
	margin: 0;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	background-color: #fc3942;
	border: 0;
	font-family: 'Open Sans', sans-serif;
	text-transform: uppercase;
	font-size: 14px;
	line-height: 28px;
	font-weight: normal;
}

.button:hover, .btn:hover, a.btn:hover, button.btn:hover {
	background-color: #f6cc26;
	color: #333 !important;
}

.contentrow .button:hover, .contentrow .btn:hover, .contentrow a.btn:hover {
	background-color: #333;
	color: #fff !important;
}

p.readmore a, p.readmore a.btn {
	padding: 4px 15px;
}

p.readmore a:hover, p.readmore a.btn:hover {
	background-color: #333;
	color: #fff !important;
}

img.img_left {
	float:left;
	margin:0 30px 30px 0;
}

img.img_right {
	float:right;
	margin:0 0 30px 30px;
}

/* abovecontent and belowcontent modules */

div.abovecontent {
	padding: 0 0 30px 0;
}

div.belowcontent {
	padding: 30px 0 0 0;
}

p.copyright {
	text-align: right;
}

strong {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

/* top row */

.toprow {
	color: #fff;
	font-size: 15px;
	text-align: right;
	padding: 10px 0;
}

.toprow .sparky_cell {
	padding: 0;
}

.toprow div.moduletable {
	display: inline-block;
	padding: 0 20px;
	border-right: 1px solid #f6cc26;
}

.toprow div.moduletable:last-child {
	border-right: none;
	padding-right: 0;
	position: relative;
	top: 3px;
}

.toprow i {
	padding: 0 5px;
    font-size: 1.5em;
}

.toprow a {
	color: #545454;
}

.toprow a:hover {
	color: #fff;
}

a.hours {
	color: #fff;
}

i.far.fa-clock {
	color: #f6cc26;
	font-size: 1em;
}

/* topmenu row */

.topmenurow {
	background: #1c8cc9;
	z-index: 1;
	width: 100%;
	max-height: 115px;
	margin-top: 3px;
}

.sparky_home .topmenurow {
	position: absolute;
}

.topmenurow .sparky_cell {
	padding: 0;
}

.sparky_logo {
	background: url(../img/custom/logo_icon.png) no-repeat left;
	height: 100px;
	line-height: 100px;
	padding-left: 83px;
}

.sparky_logo span {
	color: #fff;
}

.mnu_topmenu {
	text-transform: uppercase;
}

.mnu_topmenu > li.active:hover {
	background: #333;
}

.mnu_topmenu > li.active:hover > a {
	color: #fff;
}

.mnu_topmenu ul {
	top: 80px;
}

@media screen and (max-width: 979px) {
    .topmenurow nav:not(.opened) ul.menu {
		display: none;
	}

	.mnu_topmenu ul {
	    top: 0px;
	    padding-left: 15px !important;
	}
}

/* carousel row */

.hero-carousel article .contents p {
	line-height: 28px;
}

.hero-carousel article .contents h2 {
	color: #fff !important;
	letter-spacing: -3px;
	line-height: 80px;
	background: transparent;
}

.hero-carousel-nav {
	width: 85px !important;
	position: relative !important;
	float: right;
	top: -50px !important;
}

.hero-carousel-nav li.prev, .hero-carousel-nav li.next {
	left: auto !important;
	right: auto !important;
	position: relative !important;
	display: inline-block;
	margin: 0 5px !important;
}

.hero-carousel-nav li a {
	opacity: 0.5;
}

.hero-carousel-nav li a:hover {
	background: transparent !important;
	opacity: 1;
}

.hero-carousel article .contents {
	top: 335px !important;
	width: 665px !important;
	height: 430px !important;
	padding: 40px !important;
}

/* advert row */

.advertrow {
	font-size: 15px;
	color: #fff;
	padding: 50px 0;
}

.advertrow p {
	line-height: 25px;
}

.advertrow img {
	position: absolute;
}

.advertrow .sparky_cell {
	margin: 0px 10px;
	width: calc(33.333333333333% - 20px);
	height: 247px;
}

.advertrow .mp_advert1.sparky_cell {
	background: url(../img/custom/demo_cardio.jpg) no-repeat;
}

.advertrow .mp_advert2.sparky_cell {
	background: url(../img/custom/demo_bodyweight.jpg) no-repeat;
}

.advertrow .mp_advert3.sparky_cell {
	background: url(../img/custom/demo_individual.jpg) no-repeat;
}

.advertrow .sparky_cell .moduletable {
	padding: 15px 30px;
	position: absolute;
	width: 350px;
}

.advertrow h3 {
	padding: 170px 0 0 0;
	margin: 0;
	color: #fff;
	font-size: 36px;
}

.advertrow a {
	font-weight: bold;
	color: #fff;
}

.advertrow a:hover {
	color: #fff;
}

.advertrow .custom {
	display: none;
}

.advertrow .sparky_cell.active_state .moduletable {
	background: #333;
	opacity: .85;
	transition: all .5s;
	margin-top: 55px;
}

.advertrow .sparky_cell.active_state .moduletable .custom {
	display: block;
}

.advertrow .sparky_cell.active_state .moduletable h3 {
	color: #f6cc26;
	padding: 15px 0;
}

/* message row */

.messagerow {
	background: url(../img/custom/message_bg.jpg);
	background-attachment: fixed;
	text-align: right;
	padding: 140px 0 40px;
}

.messagerow .sparky_cell {
	margin: 0;
	padding: 0;
}

.messagerow h2 {
	color: #fff;
	text-align: right;
	font-size: 72px;
}

.messagerow .button {
	background-color: #f6cc26;
	color: #333 !important;
}

.messagerow .button:hover {
	background-color: #fc3942;
	color: #fff !important;
}

/* trainers row */

.trainersrow .sparky_cell, .partnersrow .sparky_cell {
	margin: 0;
	padding: 30px 0;
	color: #fff;
	background: url(../img/custom/pink.png) 0px 58px repeat-x;
}

.trainersrow h3, .partnersrow h3 {
	color: #fff;
	font-size: 24px;
	text-transform: uppercase;
	margin-bottom: 25px;
	padding-right: 20px;
	display: inline-block;
	background: #333;
}

.trainersrow h4 {
	color: #fff;
	text-transform: uppercase;
	padding:15px 15px 0;
	margin: 0;

}

/* hot film tape */

.list_carousel.responsive {
	width: 100%;
}

.list_carousel.responsive p {
	margin: 0;
	padding: 15px;
	line-height: 21px;
}

.list_carousel.responsive li {
	opacity: .5;
	transition: all .3s;
}

.list_carousel.responsive img {
	filter: grayscale(1);
	-webkit-filter: grayscale(1);
	-moz-filter: grayscale(1);
	-o-filter: grayscale(1);
	-ms-filter: grayscale(1);
}

.list_carousel.responsive li:hover {
	opacity: 1;
	transition: all .3s;
}

.list_carousel.responsive li:hover img {
	-webkit-filter: grayscale(0);
	-moz-filter: grayscale(0);
	-o-filter: grayscale(0);
	-ms-filter: grayscale(0);
}

a#hot_film_tape_prev.prev, a#hot_film_tape_next.next {
	padding: 5px !important;
	font-size: 32px;
	color: #9C9C9C !important;
	opacity: 0.5;
}

a#hot_film_tape_prev.prev:hover, a#hot_film_tape_next.next:hover {
	background: transparent !important;
	color: #fff !important;
	opacity: 1;
}

.list_carousel.responsive .view {
	display: none;
}

.list_carousel.responsive li:hover .view {
	display: block;
	position: absolute;
	margin: -47px 0 0 20px;
}

/* content row */

.contentrow {
	background: #f6cc26;
	padding: 40px 0;
}

.content_sparky.sparky_cell {
	background: url(../img/custom/white.png) repeat-x 0 42px;
}

.contentrow .sparky_cell {
	padding: 0;
}

.sparky_container > .mp_left.sparky_cell {
	padding-left: 0 !important;
	padding-right: 60px !important;
}

.sparky_container > .mp_right.sparky_cell {
	padding-left: 60px !important;
	padding-right: 0 !important;
}

.mp_left img, .mp_right img {
	max-width: 100%;
	height: auto;
}

.blog-items, .item-page h2, dl.article-info, .item-page div[itemprop="articleBody"], .item-page figure.item-image {
	clear: both;
}

.sparky_home .contentrow .blog-items {
	text-align: left;
}

.contentrow h1 {
	background-color: #f6cc26;
}

.sparky_home .contentrow h1,
.sparky_inner .contentrow .item-page h1 {
	display: block;
	float: right;
	padding-left: 25px;
}

.sparky_home .contentrow h2, .sparky_home .contentrow h2 a {
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -1px;
	padding: 0 0 15px;
	color: #333;
	line-height: normal;
}

dt.article-info-term {
	display: none;
}

dl.article-info dd.category-name, dl.article-info dd.category-name a:link, dl.article-info dd.category-name a:visited, dl.article-info dd.category-name a:hover {
	font-size: 13px;
}

dl.article-info dd.published, dl.article-info dd.createdby {
	font-size: 0px;
	display: inline-block;
	padding: 10px 0 5px;
	font-family: 'Open Sans', sans-serif;
	color: #333;
	border: 0;
}

.sparky_inner .item-page dl.article-info {
	margin-bottom: 45px;
}

.contentrow h3 {
	background: url(../img/custom/white_line.png) bottom left no-repeat;
	padding-bottom: 12px;
	margin-bottom: 12px;
}

.img-fulltext-right, .pull-right {
	margin: 0 0 45px 45px;
}

.img-fulltext-left, .pull-left {
	margin: 0 45px 45px 0;
}

.pane-toggler-down, .pane-toggler, fieldset {
	border: none;
}

.sparky_inner .blog-items p.readmore {
	margin-bottom: 45px;
}

.article-info.muted {
	color: inherit;
}

.article-info span.icon-calendar {
	display: none;
}

.article-info time {
	margin: 0 10px;
}

.breadcrumb-item.active {
    color: inherit;
}

/* side menu */

.mnu_sidemenu, .mp_left li, .mp_right li {
	text-transform: uppercase;
	list-style: none;
}

.mp_left ul, .mp_right ul {
	margin: 0;
	padding: 0;
}

.mp_left li, .mp_right li {
	margin: 0;
	padding: 0;
}

.mnu_sidemenu > li > a, .mp_left li a, .mp_right li a {
	display: block;
	border-bottom: 1px solid #eac01c;
	padding: 7px 0;
}

.mnu_sidemenu > li > a:hover, .mp_left li a:hover, .mp_right li a:hover {
	border-bottom: 1px solid #fff;
}

/* partners row */

.partnersrow .sparky_cell {
	border-bottom: 1px solid #424242;
}

.partnersrow p {
	margin: 10px 0;
}

/* bottom row */

.bottomrow {
	color: #b0b0b0;
}

.bottomrow .sparky_container {
	border-bottom: 1px solid #f6cc26;
	padding: 30px 0 40px;
}

.bottomrow .sparky_cell {
	padding: 0 20px;
}

.bottomrow .sparky_container > .mp_bottom1.sparky_cell {
	padding: 0;
}

.bottomrow .sparky_container > .mp_bottom4.sparky_cell {
	padding: 0;
}

.bottomrow h3 {
	color: #fff;
	font-size: 24px;
	margin-bottom: 25px;
	padding-bottom: 12px;
	background: url(../img/custom/yellow_line.png) no-repeat bottom left;
}

.small_logo {
	font-family: 'Exo 2', sans-serif;
	font-size: 26px;
	line-height: 49px;
	color: #f6cc26;
	background: url(../img/custom/logo_small.png) no-repeat;
	padding-left: 60px;
}

.small_logo span {
	color: #fff;
}

.bottomrow iframe, .abovecontent iframe {
	-webkit-filter: grayscale(1);
	-moz-filter: grayscale(1);
	-o-filter: grayscale(1);
	-ms-filter: grayscale(1);
	filter: grayscale(1);
}

/* hot lightbox */

#gallery {
	text-align: inherit !important;
}

/* footer */

footer.sparky_full {
	font-family: 'Open Sans', sans-serif;
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
	padding: 25px 0 80px;
	line-height: 21px;
}

footer .sparky_cell {
	margin: 0;
}

footer.sparky_full a, footer.sparky_full a:hover {
	color: #fff;
}

.mnu_footermenu li:first-child {
	padding-left: 0;
}

/* hot hours */

.hot_hours > div {
	height: 32px;
	border-bottom: 1px solid #404040;
}

.hot_hours > div:last-child {
	border-bottom: none;
}

.hot_hours > div.today {
	border-bottom: 1px solid #f6cc26;
}

.hot_hours div div {
	width: 50%;
	float: left;
	line-height: 32px;
}

.hot_hours .day {
	font-weight: bold;
	color: #fff;
	text-transform: uppercase;
}

/* hot bars */

.hot_bars {
	font-weight: bold;
	margin-bottom: 60px;
}

.hot_bars p {
	font-family: 'Open Sans', sans-serif;
	text-transform: uppercase;
}

.meter {
	margin: 15px 0;
	border: none;
}

.meter, .meter > span {
	-webkit-border-radius:0;
	-moz-border-radius:0;
	border-radius:0;
}

/* tags */

ul.tags.list-inline {
	margin: 10px 0;
	padding: 0;
}

ul.tags.list-inline li {
	display: inline-block;
	list-style: none;
	margin: 0 2px !important;
	padding: 0;
	border: 0;
}

ul.tags.list-inline li a.btn {
	display: inline-block;
	padding: 5px;
	margin: 0;
	border-radius: 3px;
	color: #fff !important;
	font-weight: normal;
	background-color: #333 !important;
    border: 0 !important;
}

ul.tags.list-inline li a.btn:hover {
	background-color: #444 !important;
	color: #fff !important;
}

.contact-form input, .contact-form textarea {
	border:1px solid #ccc;
}

/* responsive behaviour */

.nav-toggle {
	margin-top: 28px;
	background: url(../img/tinynav_white.png);
    background-size: 42px 84px;
}

@media (min-width: 980px) and (max-width: 1130px) {


	.sparky_container > .mp_topmenu.sparky_cell {
		width: 708px !important;
	}

	.advertrow .sparky_cell .moduletable {
		width: 237px;
		padding: 15px;
	}

	.advertrow .sparky_cell:hover .moduletable {
		margin-top: 40px;
	}

	.partnersrow .custom {
		text-align: center;
	}

	.bottomrow {
		font-size: 11px;
	}

	.small_logo {
		font-size: 20px;
	}

	.mnu_footermenu > li {
		padding: 0px 10px;
	}

	.hero-carousel article .contents {
		left: 15% !important;
	}

	.messagerow {
		background-size: cover;
		background-attachment: scroll;
	}

}

@media (max-width: 979px) {

	.sparky_container > .mp_logo.sparky_cell,
	.sparky_container > .mp_topmenu.sparky_cell {
		width: 50% !important;
	}

	.sparky_container > .mp_topmenu.sparky_cell {
		position: relative;
	}

	.hero-carousel article .contents {
		left: 100px !important;
	}

	.toprow div.moduletable {
		padding: 0 10px;
	}

	.toprow i {
		padding: 0 2px;
	}

	.sparky_container > .mp_advert1.sparky_cell,
	.sparky_container > .mp_advert2.sparky_cell,
	.sparky_container > .mp_advert3.sparky_cell {
		width: 100% !important;
	}

	.advertrow .sparky_container {
		width: 350px;
	}

	.advertrow .sparky_cell {
		margin: 0 0 30px 0 !important;
	}

	.bottomrow .sparky_cell {
		width: 100%;
	}

	.bottomrow .sparky_cell {
		padding: 0 20px !important;
	}

	.partnersrow .custom {
		text-align: center;
	}

	.mnu_footermenu li:first-child {
		padding-left: 15px;
	}

	.messagerow {
		background-size: cover;
		background-attachment: scroll;
	}

}

@media (max-width: 767px) {

.sparky_container {
width: 100%;
}

.sparky_container > [class*='sparkle'] {
width: 100% !important;
}

.two [class*='sparkle'] {
width: 50% !important;
}

.full .sparky_container {
width:100%;
}

.full .sparky_container > .sparky_cell {
margin: 0;
padding: 0;
}
	.toprow div.moduletable {
		border-right: 0;
	}

	.toprow div.moduletable:first-child {
		border-right: 1px solid #f6cc26;
	}

	.toprow div.moduletable:last-child {
		display: block;
		padding: 0 10px;
	}

	.topmenurow .sparky_cell,
	.messagerow .sparky_cell,
	.trainersrow .sparky_cell,
	.partnersrow .sparky_cell {
		padding: 0 15px;
	}

	.hero-carousel article .contents h2 {
		font-size: 48px !important;
		line-height: 48px;
	}

	.hero-carousel article .contents {
		left: 1% !important;
		width: 90% !important;
		padding: 4% !important;
	}

	ul.mnu_footermenu, p.copyright {
		text-align: center;
	}

	p.copyright {
		margin-top: 10px;
	}

	.contentrow div.blog-item {
		width: 98%;
		float: none;
		margin: 0 1%;
	}

	.contentrow div.blog-item img, .contentrow div.item-page img {
		width: 100%;
	}

	.content_sparky.sparky_cell {
		background: none;
	}

	.contentrow .sparky_container > .sparky_cell {
		padding: 0 15px 30px !important;
	}

	.mp_left.sparky_cell {
		padding-bottom: 30px !important;
	}

	.mp_right.sparky_cell {
		padding-top: 30px !important;
	}

	.img-fulltext-right, .pull-right, .img-fulltext-left, .pull-left {
		float: none;
		margin-left: 0;
		margin-right: 0;
	}

	.carouselrow .button {
		padding: 10px;
		font-size: 13px;
	}

	.hero-carousel article .contents p {
		font-size: 14px !important;
		line-height: 22px;
	}

	.advertrow .sparky_cell {
		padding: 0 0 15px 0 !important;
	}

	.messagerow h2, h1, h1 a {
		font-size: 48px;
	}

	.sparky_logo, .sparky_logo a {
		font-size: 28px;
	}

	.advertrow .sparky_cell .moduletable {
		width: 290px;
		padding: 15px;
	}

	img.img_left, img.img_right {
		float:none;
		margin:0 0 30px 0;
	}
}

/* ===== 50-moduli.css ===== */
/* Stili dei moduli della home e del fondo pagina.
   Riprendono, ripuliti, i fogli di stile dei moduli Joomla originali
   (galleria, insegnanti, carosello) e i parametri con cui erano configurati. */

:root {
	--sparkycolor1: #ffffff;
	--sparkycolor2: #ffffff;
	--sparkycolor3: #ffffff;
	--sparkycolor4: #ffffff;
	--sparkycolor5: #ffffff;
	--sparkycolor6: #ffffff;
}

/* --- icone (Font Awesome 5 Free, solo i file dei caratteri) --- */
@font-face {
	font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-weight: 400;
	font-display: block;
	src: url(../fonts/fa-regular-400.woff2) format('woff2');
}
@font-face {
	font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-weight: 900;
	font-display: block;
	src: url(../fonts/fa-solid-900.woff2) format('woff2');
}
.far {
	font-family: 'Font Awesome 5 Free';
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	display: inline-block;
	-webkit-font-smoothing: antialiased;
}
.fa-arrow-alt-circle-left:before { content: '\f359'; }
.fa-arrow-alt-circle-right:before { content: '\f35a'; }

/* --- galleria "Visita lo studio" --- */
#gallery, .galleria {
	margin: 0 auto;
	text-align: center !important;
	position: relative;
	width: 261px;
	height: 330px;
	overflow: hidden;
}
#gallery img {
	margin: 0 2px 10px 0;
	padding: 0;
	border: 2px solid #b2cb4c;
}
#gallery img:hover {
	border-color: #ffffff;
}
.galleria.galleria-pagina img {
	margin: 0 7px 20px 0;
	padding: 0;
	border: 0;
}

/* --- "I nostri insegnanti" --- */
.list_carousel ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
}
.list_carousel li {
	display: block;
	position: relative;
	background-image: none;
	border: 0;
	flex: 0 0 calc(33.3333% - 2px);
	height: 500px;
	padding: 0;
	margin: 1px;
}
.list_carousel li img {
	max-width: 100%;
}
.list_carousel li, .list_carousel li a {
	color: #ffffff;
	text-decoration: none;
}
.list_carousel.responsive {
	width: 97%;
	margin: 0 auto;
}
.list_carousel .center {
	text-align: center;
	display: none;
}
a#hot_film_tape_prev.prev, a#hot_film_tape_next.next {
	border: none;
	outline: none;
	padding: 5px 20px;
	text-decoration: none;
	display: inline-block;
	background: #333333;
	color: #ffffff !important;
}

/* --- carosello della home --- */
.hero {
	width: 100%;
	position: relative;
	overflow: hidden;
}
.hero-carousel {
	display: flex;
	transition: transform 2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.hero-carousel article.carousel-article {
	margin: 0;
	display: block;
	flex: 0 0 100%;
	position: relative;
	background-size: cover;
	background-position: top center;
}
.hero-carousel article.carousel-article .contents {
	position: relative;
}
.hero-carousel article {
	height: 765px;
}
.hero-carousel article .contents {
	top: 300px;
	left: 27%;
	width: 30%;
	color: #ffffff;
	padding: 1.5%;
	border-radius: 0;
	background: rgba(51,51,51,0.9);
	font-size: 18px;
}
.hero-carousel article .contents h2 {
	font-size: 50px;
}
.hero-carousel article.carousel-article a {
	color: #fff;
	text-decoration: none;
}
.hero-carousel-nav {
	position: absolute;
	z-index: 20;
	width: 100%;
	text-align: center;
	display: none;
	bottom: 0;
}
.hero:hover .hero-carousel-nav, .hero:focus-within .hero-carousel-nav {
	display: block;
}
ul.hero-carousel-nav {
	padding: 0 !important;
	margin: 0 !important;
}
.hero-carousel-nav li {
	bottom: 0;
	list-style: none !important;
	background-image: none;
	margin: 0 !important;
	padding: 0 !important;
	width: 32px;
	height: 32px;
}
.hero-carousel-nav li button {
	border: none;
	outline: none;
	display: block;
	float: left;
	padding: 0;
	cursor: pointer;
	background: rgba(0,0,0,0);
	color: #9c9c9c;
	width: 32px;
	height: 32px;
	line-height: 32px;
	border-radius: 0;
	font-size: 32px;
	opacity: 0.5;
}
.hero-carousel-nav li button:hover, .hero-carousel-nav li button:focus-visible {
	background: transparent;
	color: #9c9c9c;
	opacity: 1;
}

/* ===== 60-aggiunte.css ===== */
/* Stili scritti per la versione statica: sostituiscono quelli delle
   estensioni Joomla non più presenti (moduli di contatto, slideshow,
   lightbox, avviso cookie) e sistemano il menu senza jQuery. */

/* --- menu principale: tendine al passaggio del mouse --- */
@media screen and (min-width: 980px) {
	.mnu_topmenu > li > ul {
		display: block;
		visibility: hidden;
		opacity: 0;
		transition: opacity .3s, visibility .3s;
	}
	.mnu_topmenu > li:hover > ul,
	.mnu_topmenu > li:focus-within > ul {
		visibility: visible;
		opacity: 1;
	}
}
.mnu_topmenu li ul li:last-child {
	border-bottom: none;
}

/* --- menu principale su schermi piccoli --- */
.js .nav-collapse.opened {
	clip: auto;
	z-index: 998;
}
.nav-collapse.opened > ul {
	max-height: 100vh;
	overflow-y: auto;
}
@media screen and (max-width: 979px) {
	.mnu_topmenu > li.aperto > ul {
		display: block;
	}
	.topmenurow .sparky_container {
		position: relative;
	}
}

/* --- riquadri della home: stato attivo anche da tastiera/tocco --- */
.advertrow .sparky_cell {
	position: relative;
}

/* --- insegnanti: su schermi piccoli due affiancati, a scorrimento continuo
   (lo spostamento e' gestito da site.js) --- */
@media (max-width: 767px) {
	.list_carousel.responsive {
		overflow: hidden;
	}
	.list_carousel li {
		flex: 0 0 calc(50% - 2px);
		height: auto;
		opacity: 1 !important;
	}
	.list_carousel li img {
		height: auto;
	}
	.list_carousel .center {
		display: block;
	}
}

/* --- condivisione degli articoli --- */
.condividi {
	line-height: 18px;
	padding-bottom: 7px;
	font-size: 0;
}
.condividi a {
	display: inline-block;
	margin: 0 6px 0 0;
	padding: 1px 6px 1px 5px;
	border-radius: 2px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 11px;
	font-weight: bold;
	line-height: 18px;
	color: #fff !important;
	text-decoration: none;
}
.condividi .fb { background-color: #3b5998; }
.condividi .wa { background-color: #25d366; }
.condividi svg {
	vertical-align: text-bottom;
	margin-right: 4px;
	width: 1em;
	height: 1em;
	fill: #fff;
}

/* --- briciole di pane --- */
.breadcrumb-item a.pathway, .breadcrumb-item span {
	font-size: inherit;
}

/* --- modulo "Lezione di prova" --- */
.modulo-prova {
	margin: 15px 0;
	border: 1px solid #dedede;
	background: #fff;
	color: #111;
	font-size: 13px;
	line-height: 18px;
	text-align: left;
}
.modulo-prova:hover {
	box-shadow: 0 0 7px 0 #bababa;
}
.modulo-prova .mp-testa {
	padding: 15px;
}
.modulo-prova .mp-titolo {
	color: #000;
	font-size: 28px;
	line-height: 1.2;
}
.modulo-prova .mp-testo {
	color: #000;
	margin-top: 3px;
	padding-top: 3px;
	line-height: 1.2;
}
.modulo-prova form {
	padding: 5px 15px 15px;
}
.modulo-prova label {
	display: block;
	margin: 0 0 1px 3px;
	color: #000;
	font-weight: normal;
}
.modulo-prova .campo {
	margin-bottom: 18px;
}
.modulo-prova .richiesto {
	color: #f00;
	font-size: 20px;
	line-height: 1;
	vertical-align: middle;
}
.modulo-prova input[type=text],
.modulo-prova input[type=email] {
	display: block;
	width: 60%;
	min-width: 150px;
	max-width: 100%;
	margin: 0;
	padding: 7px 8px;
	border: 1px solid #ccc;
	border-radius: 0;
	box-shadow: 0 0 10px 0 #f5f5f5;
	background: #fff;
	color: #000;
	font-size: 14px;
	line-height: 17px;
}
.modulo-prova input:hover,
.modulo-prova input:focus {
	box-shadow: 0 0 10px 2px #d4d4d4;
}
.modulo-prova input:focus {
	outline: 2px solid #1c8cc9;
	outline-offset: 1px;
}
.modulo-prova .mp-piede {
	overflow: hidden;
	padding-right: 5%;
}
.modulo-prova button {
	float: right;
	padding: 12px 26px;
	border: 1px solid #c2c2c2;
	border-radius: 0;
	background: linear-gradient(to bottom, #fff, #e0e0e0);
	color: #666;
	font-size: 14px;
	line-height: 17px;
	font-weight: bold;
	text-shadow: 0 0 3px #fff;
	cursor: pointer;
}
.modulo-prova button:hover,
.modulo-prova button:focus {
	background: linear-gradient(to bottom, #fff, #e0e0e0);
	color: #6b6b6b;
	border-color: #cfcfcf;
	box-shadow: 0 0 6px 0 #999;
}
.modulo-prova .mp-nota {
	clear: both;
	margin: 0;
	padding-top: 12px;
	font-size: 11px;
	line-height: 1.4;
	color: #555;
}
.modulo-prova .mp-nota a {
	color: #333;
	font-weight: bold;
	text-decoration: underline;
}

/* --- modulo della pagina Contattaci --- */
.fc_page .fc_outer {
	padding: 10px;
	border: 1px solid #d3d3d3;
	background: #f9f9f9;
}
.fc_page .fc_line {
	margin: 2px 0 0;
	overflow: hidden;
}
.fc_page .fc_line > label {
	display: inline-block;
	width: 20%;
	min-width: 150px;
	margin: 0 8px 0 0;
	font-size: 14px;
	line-height: 32px;
	vertical-align: top;
}
.fc_page input.fc_input,
.fc_page textarea.fc_input {
	display: inline-block;
	width: 75%;
	max-width: 100%;
	padding: 4px 6px;
	border: 1px solid #d3d3d3;
	border-radius: 0;
	background: #fff;
	color: #000;
	font-size: 15px;
	line-height: normal;
}
.fc_page input.fc_input {
	height: 32px;
}
.fc_page .fc_lcb input {
	width: 15px;
	height: 32px;
	margin: 0 8px 0 0;
	vertical-align: top;
}
.fc_page .fc_lcb label {
	width: auto;
	max-width: calc(100% - 30px);
}
.fc_page .fc_lcb a {
	text-decoration: underline;
}
.fc_page .fc_button {
	margin: 4px 6px;
	padding: 10px 35px;
	border: 0;
	border-radius: 0;
	background: #0079c1;
	color: #fff;
	font-size: 16px;
	line-height: 22.4px;
	cursor: pointer;
}
.fc_page .fc_button:hover,
.fc_page .fc_button:focus {
	background: #005f98;
	color: #fff;
}
@media (max-width: 767px) {
	.fc_page .fc_line > label,
	.fc_page input.fc_input,
	.fc_page textarea.fc_input {
		width: 100%;
	}
}

/* --- elementi comuni ai due moduli --- */
.campo-nascosto {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.form-esito {
	clear: both;
	margin: 10px 0 0;
	font-weight: bold;
}
.form-esito:empty {
	display: none;
}
.form-esito.ok {
	color: #1c7c2c;
}
.form-esito.errore {
	color: #b00020;
}
button[disabled] {
	opacity: .6;
	cursor: default;
}

/* --- slideshow (pagina Franca Franci) --- */
.slideshow {
	position: relative;
	margin-bottom: 61px;
}
.slideshow .slide-area {
	position: relative;
	width: 100%;
	aspect-ratio: 828 / 513;
	overflow: hidden;
	background: #222;
}
.slideshow figure {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 1s;
}
.slideshow figure.attiva {
	opacity: 1;
	z-index: 1;
}
.slideshow figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slideshow figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 10px 20px;
	background: rgba(0,0,0,.8);
	color: #fff;
	font-weight: bold;
}
.slideshow .punti {
	position: absolute;
	right: 0;
	top: 100%;
	margin: 0;
	padding: 16px 4px 0;
	list-style: none;
	font-size: 0;
}
.slideshow .punti li {
	display: inline-block;
	margin: 0 0 0 8px;
	padding: 0;
}
.slideshow .punti button {
	display: block;
	width: 12px;
	height: 12px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #b7b7b7;
	cursor: pointer;
}
.slideshow .punti button.attivo,
.slideshow .punti button:hover {
	background: #333;
}

/* --- ingrandimento delle foto della galleria --- */
.lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.8);
}
.lightbox[hidden] {
	display: none;
}
.lightbox .lb-box {
	position: relative;
	max-width: 92vw;
	padding: 10px 10px 0;
	background: #fff;
	text-align: left;
	color: #666;
	font: 10px/1.4 Verdana, Helvetica, sans-serif;
}
.lightbox img {
	display: block;
	max-width: calc(92vw - 20px);
	max-height: calc(92vh - 70px);
}
.lightbox .lb-piede {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
}
.lightbox button {
	border: 0;
	background: none;
	color: #666;
	font: bold 11px Verdana, Helvetica, sans-serif;
	text-transform: uppercase;
	cursor: pointer;
	padding: 4px 6px;
}
.lightbox button:hover {
	background: none;
	color: #000;
}
.lightbox .lb-prec,
.lightbox .lb-succ {
	position: absolute;
	top: 10px;
	bottom: 45px;
	width: 45%;
	opacity: 0;
	font-size: 12px;
}
.lightbox .lb-prec {
	left: 10px;
	text-align: left;
}
.lightbox .lb-succ {
	right: 10px;
	text-align: right;
}
.lightbox .lb-prec:hover,
.lightbox .lb-succ:hover,
.lightbox .lb-prec:focus-visible,
.lightbox .lb-succ:focus-visible {
	opacity: 1;
	color: #fff;
	text-shadow: 0 0 4px #000;
}

/* --- avviso cookie --- */
#avviso-cookie {
	position: fixed;
	inset: 0;
	z-index: 99998;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(0,0,0,.45);
}
#avviso-cookie[hidden] {
	display: none;
}
#avviso-cookie .ac-box {
	width: 520px;
	max-width: 92vw;
	padding: 24px;
	background: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
	box-shadow: 0 4px 24px rgba(0,0,0,.4);
}
#avviso-cookie .ac-titolo {
	display: block;
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: 700;
}
#avviso-cookie .ac-pulsanti {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 16px;
}
#avviso-cookie button {
	padding: 6px 24px;
	border: 0;
	background: #1c8cc9;
	color: #fff;
	font-size: 14px;
	line-height: 28px;
	text-transform: uppercase;
	cursor: pointer;
}
#avviso-cookie button.rifiuta {
	background: #666;
}
#avviso-cookie button:hover,
#avviso-cookie button:focus {
	background: #333;
	color: #fff;
}
#avviso-cookie .ac-info {
	margin-left: auto;
	color: #333;
	text-decoration: underline;
}

/* --- pagina non trovata --- */
.pagina-404 p {
	font-size: 18px;
}

/* --- mappa del sito --- */
.mappa-sito ul {
	margin: 0 0 20px 20px;
}
.mappa-sito li {
	margin: 0 0 6px;
}

/* --- mappa: segnaposto finché il visitatore non la richiede --- */
.mappa-segnaposto {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 15px;
	background: #e5e3df;
	color: #333;
	text-align: center;
	font-size: 14px;
	line-height: 1.4;
}
.mappa-segnaposto.caricata {
	display: block;
	padding: 0;
}
.mappa-segnaposto p {
	margin: 0;
}
.mappa-segnaposto .ms-indirizzo {
	font-weight: 700;
}
.mappa-segnaposto .ms-mostra {
	padding: 6px 15px;
	border: 0;
	background: #fc3942;
	color: #fff;
	font-size: 14px;
	line-height: 28px;
	text-transform: uppercase;
	cursor: pointer;
}
.mappa-segnaposto .ms-mostra:hover,
.mappa-segnaposto .ms-mostra:focus {
	background: #333;
	color: #fff;
}
.mappa-segnaposto .ms-apri {
	color: #333 !important;
	text-decoration: underline;
}
.mappa-segnaposto .ms-nota {
	font-size: 11px;
	color: #555;
}

/* --- video: segnaposto finché il visitatore non lo avvia --- */
.video-responsive .video-segnaposto {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px;
	border: 0;
	background: #222 center / cover no-repeat;
	color: #fff;
	cursor: pointer;
}
.video-responsive .video-segnaposto:hover,
.video-responsive .video-segnaposto:focus {
	background-color: #111;
	color: #fff;
}
.video-segnaposto .vs-play {
	width: 68px;
	height: 48px;
	border-radius: 12px;
	background: #f00;
	position: relative;
}
.video-segnaposto .vs-play::after {
	content: '';
	position: absolute;
	left: 27px;
	top: 14px;
	border-style: solid;
	border-width: 10px 0 10px 18px;
	border-color: transparent transparent transparent #fff;
}
.video-segnaposto .vs-testo {
	font-size: 18px;
	font-weight: 600;
	text-shadow: 0 1px 3px #000;
}
.video-segnaposto .vs-nota {
	font-size: 12px;
	text-shadow: 0 1px 3px #000;
}

/* --- elenchi dentro gli articoli (informativa privacy) --- */
.com-content-article__body ul.elenco-carta {
	margin: 0 0 15px;
	padding: 20px 15px 20px 70px;
	background: url('../img/typewriter_bg.png');
	color: #000;
	font-size: 14px;
	line-height: 25px;
}
.com-content-article__body ul.elenco-carta li {
	margin: 0 0 8px;
}
.com-content-article__body .typewriter a,
.com-content-article__body ul.elenco-carta a {
	text-decoration: underline;
}

/* --- accessibilita' --- */
/* testo presente solo per i lettori di schermo */
.solo-lettori {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	float: none !important;
}
/* contorno visibile per chi naviga con la tastiera */
a#hot_film_tape_prev.prev:focus-visible,
a#hot_film_tape_next.next:focus-visible,
.hero-carousel-nav li button:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	opacity: 1;
}
#avviso-cookie .ac-box:focus {
	outline: none;
}
/* insegnanti: pulsante INFO raggiungibile anche da tastiera e da schermo tattile */
.list_carousel.responsive .view {
	display: block;
	position: absolute;
	margin: -47px 0 0 20px;
	opacity: 0;
}
.list_carousel.responsive li:hover .view,
.list_carousel.responsive li:focus-within .view {
	opacity: 1;
}
.list_carousel.responsive li:focus-within {
	opacity: 1;
}
.list_carousel.responsive li:focus-within img {
	filter: grayscale(0);
}
@media (hover: none), (max-width: 767px) {
	.list_carousel.responsive .view {
		opacity: 1;
	}
}
/* titoli: cambia il livello (per lettori di schermo e motori di ricerca), non l'aspetto */
.sparky_home .contentrow h2.come-h1 {
	display: block;
	float: right;
	padding: 0 0 30px 25px;
	background-color: #f6cc26;
	font-size: 36px;
	line-height: 1;
	letter-spacing: -2px;
}
.fc_page h1.come-h2 {
	padding: 15px 0 30px;
	font-size: 30px;
	line-height: 1;
}
.modulo-prova h1.mp-titolo {
	padding: 0;
	background: none;
	font-weight: 400;
	letter-spacing: normal;
}
@media (max-width: 767px) {
	.sparky_home .contentrow h2.come-h1 {
		font-size: 48px;
	}
}
