/*!
 * Project_Name: Themezy Insurance Template
 * Author: Themezy
 * Email: info@themezy.com
 * URL: http://themezy.com
 */
/*=========================================== 
 * Importing CSS Libraries
 *===========================================*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block; }

audio,
canvas,
video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

html {
  background: #fefefe;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  overflow-y:scroll;
}

html,
button,
input,
select,
textarea {
  font-family: sans-serif; }

body {
  margin: 0; }

a {
  background: transparent; }
  a:focus {
    outline: thin dotted; }
  a:hover, a:active {
    outline: 0; }

/* rimuove evidenziazione su touch */

a:focus,
a:active,
button:focus,
button:active {
  outline: none;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

h2 {
  font-size: 1.5em;
  margin: 0.83em 0; }

h3 {
  font-size: 1.17em;
  margin: 1em 0; }

h4 {
  font-size: 1em;
  margin: 1.33em 0; }

h5 {
  font-size: 0.83em;
  margin: 1.67em 0; }

h6 {
  font-size: 0.75em;
  margin: 2.33em 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

q:before,
q:after {
  content: '';
  content: none; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0;
  white-space: normal; }

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  vertical-align: baseline; }

button,
input {
  line-height: normal; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
input[disabled] {
  cursor: default; }

input[type="checkbox"],
input[type="radio"] {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

*, *:before, *:after {
  -moz-box-sizing: border-box;
       box-sizing: border-box; }

/*
 * Global Styles
 */
body {
  color: #768089;
  font-family: "Roboto Condensed", "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: normal; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  margin: 0 0 20px; }

hr {
  border: none;
  border-bottom: 1px solid #777; }

ul, ol {
  margin: 0;
  padding-left: 0; }

a {
  text-decoration: none;
  color: #d00d00;}

/* elimina highlight touch su mobile */

a,
button,
.menu-toggle,
.social-links a{
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

a:focus,
a:active{
  outline: none;
}

/* evita selezione blu del testo */

*{
  -webkit-user-select: none;
  user-select: none;
}

address {
  font-style: normal; }

p {
  margin-top: 0; }

form input, form textarea, form select {
  outline: none;
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 5px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); }
form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
form textarea {
  resize: vertical; }

/*
 * Reusable Components Style
 */
.button, form input[type="submit"], form button, form input[type="reset"] {
  border: none;
  color: white;
  background: #d00d00;
  padding: 10px;
  border-radius: 3px;
  display: inline-block;
  -webkit-transition: .3s ease;
          transition: .3s ease; }
  .button:hover, form input[type="submit"]:hover, form button:hover, form input[type="reset"]:hover, .button:focus, form input[type="submit"]:focus, form button:focus, form input[type="reset"]:focus {
    background: #1392ec; }

.map {
  min-height: 450px; }

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  *zoom: 1; }
  .container:after {
    content: " ";
    clear: both;
    display: block;
    overflow: hidden;
    height: 0; }
  @media (min-width: 768px) {
    .container {
      width: 750px; } }
  @media (min-width: 992px) {
    .container {
      width: 970px; } }
  @media (min-width: 1200px) {
    .container {
      width: 1170px; } }

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  *zoom: 1; }
  .container-fluid:after {
    content: " ";
    clear: both;
    display: block;
    overflow: hidden;
    height: 0; }

.row {
  margin-left: -15px;
  margin-right: -15px;
  *zoom: 1; }
  .row:after {
    content: " ";
    clear: both;
    display: block;
    overflow: hidden;
    height: 0; }

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

.col-xs-1 {
  width: 8.3333333333%; }

.col-xs-2 {
  width: 16.6666666667%; }

.col-xs-3 {
  width: 25%; }

.col-xs-4 {
  width: 33.3333333333%; }

.col-xs-5 {
  width: 41.6666666667%; }

.col-xs-6 {
  width: 50%; }

.col-xs-7 {
  width: 58.3333333333%; }

.col-xs-8 {
  width: 66.6666666667%; }

.col-xs-9 {
  width: 75%; }

.col-xs-10 {
  width: 83.3333333333%; }

.col-xs-11 {
  width: 91.6666666667%; }

.col-xs-12 {
  width: 100%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-pull-1 {
  right: 8.3333333333%; }

.col-xs-pull-2 {
  right: 16.6666666667%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-4 {
  right: 33.3333333333%; }

.col-xs-pull-5 {
  right: 41.6666666667%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-7 {
  right: 58.3333333333%; }

.col-xs-pull-8 {
  right: 66.6666666667%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-10 {
  right: 83.3333333333%; }

.col-xs-pull-11 {
  right: 91.6666666667%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-push-1 {
  left: 8.3333333333%; }

.col-xs-push-2 {
  left: 16.6666666667%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-4 {
  left: 33.3333333333%; }

.col-xs-push-5 {
  left: 41.6666666667%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-7 {
  left: 58.3333333333%; }

.col-xs-push-8 {
  left: 66.6666666667%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-10 {
  left: 83.3333333333%; }

.col-xs-push-11 {
  left: 91.6666666667%; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-offset-0 {
  margin-left: 0%; }

.col-xs-offset-1 {
  margin-left: 8.3333333333%; }

.col-xs-offset-2 {
  margin-left: 16.6666666667%; }

.col-xs-offset-3 {
  margin-left: 25%; }

.col-xs-offset-4 {
  margin-left: 33.3333333333%; }

.col-xs-offset-5 {
  margin-left: 41.6666666667%; }

.col-xs-offset-6 {
  margin-left: 50%; }

.col-xs-offset-7 {
  margin-left: 58.3333333333%; }

.col-xs-offset-8 {
  margin-left: 66.6666666667%; }

.col-xs-offset-9 {
  margin-left: 75%; }

.col-xs-offset-10 {
  margin-left: 83.3333333333%; }

.col-xs-offset-11 {
  margin-left: 91.6666666667%; }

.col-xs-offset-12 {
  margin-left: 100%; }

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left; }

  .col-sm-1 {
    width: 8.3333333333%; }

  .col-sm-2 {
    width: 16.6666666667%; }

  .col-sm-3 {
    width: 25%; }

  .col-sm-4 {
    width: 33.3333333333%; }

  .col-sm-5 {
    width: 41.6666666667%; }

  .col-sm-6 {
    width: 50%; }

  .col-sm-7 {
    width: 58.3333333333%; }

  .col-sm-8 {
    width: 66.6666666667%; }

  .col-sm-9 {
    width: 75%; }

  .col-sm-10 {
    width: 83.3333333333%; }

  .col-sm-11 {
    width: 91.6666666667%; }

  .col-sm-12 {
    width: 100%; }

  .col-sm-pull-0 {
    right: auto; }

  .col-sm-pull-1 {
    right: 8.3333333333%; }

  .col-sm-pull-2 {
    right: 16.6666666667%; }

  .col-sm-pull-3 {
    right: 25%; }

  .col-sm-pull-4 {
    right: 33.3333333333%; }

  .col-sm-pull-5 {
    right: 41.6666666667%; }

  .col-sm-pull-6 {
    right: 50%; }

  .col-sm-pull-7 {
    right: 58.3333333333%; }

  .col-sm-pull-8 {
    right: 66.6666666667%; }

  .col-sm-pull-9 {
    right: 75%; }

  .col-sm-pull-10 {
    right: 83.3333333333%; }

  .col-sm-pull-11 {
    right: 91.6666666667%; }

  .col-sm-pull-12 {
    right: 100%; }

  .col-sm-push-0 {
    left: auto; }

  .col-sm-push-1 {
    left: 8.3333333333%; }

  .col-sm-push-2 {
    left: 16.6666666667%; }

  .col-sm-push-3 {
    left: 25%; }

  .col-sm-push-4 {
    left: 33.3333333333%; }

  .col-sm-push-5 {
    left: 41.6666666667%; }

  .col-sm-push-6 {
    left: 50%; }

  .col-sm-push-7 {
    left: 58.3333333333%; }

  .col-sm-push-8 {
    left: 66.6666666667%; }

  .col-sm-push-9 {
    left: 75%; }

  .col-sm-push-10 {
    left: 83.3333333333%; }

  .col-sm-push-11 {
    left: 91.6666666667%; }

  .col-sm-push-12 {
    left: 100%; }

  .col-sm-offset-0 {
    margin-left: 0%; }

  .col-sm-offset-1 {
    margin-left: 8.3333333333%; }

  .col-sm-offset-2 {
    margin-left: 16.6666666667%; }

  .col-sm-offset-3 {
    margin-left: 25%; }

  .col-sm-offset-4 {
    margin-left: 33.3333333333%; }

  .col-sm-offset-5 {
    margin-left: 41.6666666667%; }

  .col-sm-offset-6 {
    margin-left: 50%; }

  .col-sm-offset-7 {
    margin-left: 58.3333333333%; }

  .col-sm-offset-8 {
    margin-left: 66.6666666667%; }

  .col-sm-offset-9 {
    margin-left: 75%; }

  .col-sm-offset-10 {
    margin-left: 83.3333333333%; }

  .col-sm-offset-11 {
    margin-left: 91.6666666667%; }

  .col-sm-offset-12 {
    margin-left: 100%; } }
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left; }

  .col-md-1 {
    width: 8.3333333333%; }

  .col-md-2 {
    width: 16.6666666667%; }

  .col-md-3 {
    width: 25%; }

  .col-md-4 {
    width: 33.3333333333%; }

  .col-md-5 {
    width: 41.6666666667%; }

  .col-md-6 {
    width: 50%; }

  .col-md-7 {
    width: 58.3333333333%; }

  .col-md-8 {
    width: 66.6666666667%; }

  .col-md-9 {
    width: 75%; }

  .col-md-10 {
    width: 83.3333333333%; }

  .col-md-11 {
    width: 91.6666666667%; }

  .col-md-12 {
    width: 100%; }

  .col-md-pull-0 {
    right: auto; }

  .col-md-pull-1 {
    right: 8.3333333333%; }

  .col-md-pull-2 {
    right: 16.6666666667%; }

  .col-md-pull-3 {
    right: 25%; }

  .col-md-pull-4 {
    right: 33.3333333333%; }

  .col-md-pull-5 {
    right: 41.6666666667%; }

  .col-md-pull-6 {
    right: 50%; }

  .col-md-pull-7 {
    right: 58.3333333333%; }

  .col-md-pull-8 {
    right: 66.6666666667%; }

  .col-md-pull-9 {
    right: 75%; }

  .col-md-pull-10 {
    right: 83.3333333333%; }

  .col-md-pull-11 {
    right: 91.6666666667%; }

  .col-md-pull-12 {
    right: 100%; }

  .col-md-push-0 {
    left: auto; }

  .col-md-push-1 {
    left: 8.3333333333%; }

  .col-md-push-2 {
    left: 16.6666666667%; }

  .col-md-push-3 {
    left: 25%; }

  .col-md-push-4 {
    left: 33.3333333333%; }

  .col-md-push-5 {
    left: 41.6666666667%; }

  .col-md-push-6 {
    left: 50%; }

  .col-md-push-7 {
    left: 58.3333333333%; }

  .col-md-push-8 {
    left: 66.6666666667%; }

  .col-md-push-9 {
    left: 75%; }

  .col-md-push-10 {
    left: 83.3333333333%; }

  .col-md-push-11 {
    left: 91.6666666667%; }

  .col-md-push-12 {
    left: 100%; }

  .col-md-offset-0 {
    margin-left: 0%; }

  .col-md-offset-1 {
    margin-left: 8.3333333333%; }

  .col-md-offset-2 {
    margin-left: 16.6666666667%; }

  .col-md-offset-3 {
    margin-left: 25%; }

  .col-md-offset-4 {
    margin-left: 33.3333333333%; }

  .col-md-offset-5 {
    margin-left: 41.6666666667%; }

  .col-md-offset-6 {
    margin-left: 50%; }

  .col-md-offset-7 {
    margin-left: 58.3333333333%; }

  .col-md-offset-8 {
    margin-left: 66.6666666667%; }

  .col-md-offset-9 {
    margin-left: 75%; }

  .col-md-offset-10 {
    margin-left: 83.3333333333%; }

  .col-md-offset-11 {
    margin-left: 91.6666666667%; }

  .col-md-offset-12 {
    margin-left: 100%; } }
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left; }

  .col-lg-1 {
    width: 8.3333333333%; }

  .col-lg-2 {
    width: 16.6666666667%; }

  .col-lg-3 {
    width: 25%; }

  .col-lg-4 {
    width: 33.3333333333%; }

  .col-lg-5 {
    width: 41.6666666667%; }

  .col-lg-6 {
    width: 50%; }

  .col-lg-7 {
    width: 58.3333333333%; }

  .col-lg-8 {
    width: 66.6666666667%; }

  .col-lg-9 {
    width: 75%; }

  .col-lg-10 {
    width: 83.3333333333%; }

  .col-lg-11 {
    width: 91.6666666667%; }

  .col-lg-12 {
    width: 100%; }

  .col-lg-pull-0 {
    right: auto; }

  .col-lg-pull-1 {
    right: 8.3333333333%; }

  .col-lg-pull-2 {
    right: 16.6666666667%; }

  .col-lg-pull-3 {
    right: 25%; }

  .col-lg-pull-4 {
    right: 33.3333333333%; }

  .col-lg-pull-5 {
    right: 41.6666666667%; }

  .col-lg-pull-6 {
    right: 50%; }

  .col-lg-pull-7 {
    right: 58.3333333333%; }

  .col-lg-pull-8 {
    right: 66.6666666667%; }

  .col-lg-pull-9 {
    right: 75%; }

  .col-lg-pull-10 {
    right: 83.3333333333%; }

  .col-lg-pull-11 {
    right: 91.6666666667%; }

  .col-lg-pull-12 {
    right: 100%; }

  .col-lg-push-0 {
    left: auto; }

  .col-lg-push-1 {
    left: 8.3333333333%; }

  .col-lg-push-2 {
    left: 16.6666666667%; }

  .col-lg-push-3 {
    left: 25%; }

  .col-lg-push-4 {
    left: 33.3333333333%; }

  .col-lg-push-5 {
    left: 41.6666666667%; }

  .col-lg-push-6 {
    left: 50%; }

  .col-lg-push-7 {
    left: 58.3333333333%; }

  .col-lg-push-8 {
    left: 66.6666666667%; }

  .col-lg-push-9 {
    left: 75%; }

  .col-lg-push-10 {
    left: 83.3333333333%; }

  .col-lg-push-11 {
    left: 91.6666666667%; }

  .col-lg-push-12 {
    left: 100%; }

  .col-lg-offset-0 {
    margin-left: 0%; }

  .col-lg-offset-1 {
    margin-left: 8.3333333333%; }

  .col-lg-offset-2 {
    margin-left: 16.6666666667%; }

  .col-lg-offset-3 {
    margin-left: 25%; }

  .col-lg-offset-4 {
    margin-left: 33.3333333333%; }

  .col-lg-offset-5 {
    margin-left: 41.6666666667%; }

  .col-lg-offset-6 {
    margin-left: 50%; }

  .col-lg-offset-7 {
    margin-left: 58.3333333333%; }

  .col-lg-offset-8 {
    margin-left: 66.6666666667%; }

  .col-lg-offset-9 {
    margin-left: 75%; }

  .col-lg-offset-10 {
    margin-left: 83.3333333333%; }

  .col-lg-offset-11 {
    margin-left: 91.6666666667%; }

  .col-lg-offset-12 {
    margin-left: 100%; } }
@-ms-viewport {
  width: device-width; }
.visible-xs, .visible-sm, .visible-md, .visible-lg {
  display: none !important; }

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }

@media (max-width: 767px) {
  .visible-xs {
    display: block !important; }

  table.visible-xs {
    display: table; }

  tr.visible-xs {
    display: table-row !important; }

  th.visible-xs,
  td.visible-xs {
    display: table-cell !important; } }
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important; }

  table.visible-sm {
    display: table; }

  tr.visible-sm {
    display: table-row !important; }

  th.visible-sm,
  td.visible-sm {
    display: table-cell !important; } }
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important; }

  table.visible-md {
    display: table; }

  tr.visible-md {
    display: table-row !important; }

  th.visible-md,
  td.visible-md {
    display: table-cell !important; } }
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important; }

  table.visible-lg {
    display: table; }

  tr.visible-lg {
    display: table-row !important; }

  th.visible-lg,
  td.visible-lg {
    display: table-cell !important; } }
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important; } }
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important; } }
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important; } }
.visible-print {
  display: none !important; }

@media print {
  .visible-print {
    display: block !important; }

  table.visible-print {
    display: table; }

  tr.visible-print {
    display: table-row !important; }

  th.visible-print,
  td.visible-print {
    display: table-cell !important; } }
.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }
/*
 * Header Styles
 */
.site-header .top-header {
  padding: 20px 0; }
.site-header .bottom-header {
  background-color: #4a4c4e;
  *zoom: 1;
  padding: 20px 0; }
  .site-header .bottom-header:after {
    content: " ";
    clear: both;
    display: block;
    overflow: hidden;
    height: 0; }
  @media screen and (max-width: 640px) {
    .site-header .bottom-header .social-links {
      display: none; } }

#branding {
  float: left; }
  #branding .logo, #branding .logo-text {
    display: inline-block;
    vertical-align: middle; }
  #branding .logo {
    margin-right: 10px; }
  #branding .site-title {
    margin-bottom: 0;
    font-size: 20px;
    font-size: 1.25em; }
    #branding .site-title a {
      color: #768089; }

.right-section .phone, .right-section .search-form {
  display: inline-block;
  vertical-align: middle;
  position: relative; }
@media screen and (max-width: 640px) {
  .right-section .phone {
    display: none; } }
.right-section .phone img {
  vertical-align: middle; }
.right-section .search-form {
  margin: 10px 0;
  margin-left: 20px; }
  @media screen and (max-width: 480px) {
    .right-section .search-form {
      display: none; } }
  .right-section .search-form input {
    padding-right: 40px; }
  .right-section .search-form button {
    position: absolute;
    right: 0;
    top: 0;
    background: none; }

/* =====================================
   MAIN NAVIGATION
===================================== */

.main-navigation{
    float:left;
}

/* spazio tra logo e menu solo su desktop */
@media screen and (min-width:991px){
    .main-navigation{
        margin-left:30px;
    }
}

/* ---------------------------------
   HAMBURGER
---------------------------------- */

.main-navigation .menu-toggle{
    border:none;
    background:none;
    color:white;
    font-size:1.25em;
    outline:none;
    display:none;
}

/* hamburger visibile su mobile */
@media screen and (max-width:990px){
    .main-navigation .menu-toggle{
        display:block;
    }
}

/* hamburger nascosto su desktop */
@media screen and (min-width:991px){
    .main-navigation .menu-toggle{
        display:none;
    }
}


/* ---------------------------------
   MENU
---------------------------------- */

.main-navigation{
    position:relative; /* ?? base per centratura */
    width:100%;
}

/* menu base */
.main-navigation .menu{
    list-style:none;
    margin:0;
    padding:0;
}

/* ---------------------------------
   MENU
---------------------------------- */

.main-navigation{
    width:100%;
    text-align:center; /* ?? centratura reale */
    position:relative;
}

/* menu base */
.main-navigation .menu{
    list-style:none;
    margin:0 auto; /* ?? centra il blocco */
    padding:0;
    display:inline-flex; /* ?? mantiene compatto */
    gap:20px;
    align-items:center;
}
.main-navigation .menu{
    transform:translateX(-30px);
}

/* =========================
   DESKTOP
========================= */

@media screen and (min-width:991px){

    .main-navigation .menu{
        display:inline-flex;
    }
}

.main-navigation .menu li{
    display:block;
}

.main-navigation .menu li a{
    color:white;
    padding:0 14px;
    letter-spacing:0.5px;
    transition:color .25s ease;
    white-space:nowrap;
    font-size:clamp(13px, 1vw, 16px);
}

.main-navigation .menu li a:hover{
    color:#42a8f0;
}

.main-navigation .menu li.current-menu-item a{
    color:#1392ec;
}


/* =========================
   MOBILE
========================= */

@media screen and (max-width:990px){

    .main-navigation{
        text-align:left; /* ?? ripristina mobile */
    }

    .main-navigation .menu{
        display:none;
    }
}


/* =========================
   SOCIAL (NASCOSTI SU DESKTOP)
========================= */

.social-links{
    float:right;
}

/* ?? nasconde davvero */
@media screen and (min-width:991px){
    .social-links{
        display:none !important;
    }
}


/* =========================
   MOBILE NAV
========================= */

.mobile-navigation{
    clear: both;
    display: none;
    
}

@media screen and (min-width: 991px){
    .mobile-navigation{
        display: none !important;
    }
}

.mobile-navigation .menu{
    list-style: none;
}

.mobile-navigation .menu a{
    padding: 10px 0;
    display: block;
    color: white;
    font-size:15px;
}

.mobile-navigation .menu .current-menu-item a{
    color: #1392ec;
}


/* =========================
   BREADCRUMBS
========================= */

.breadcrumbs{
    background-color: #f1f1f1;
    padding: 10px 0;
    font-size: 14px;
}

.breadcrumbs a{
    margin-right: 10px;
}

.breadcrumbs a:after{
    content: " ";
    width: 7px;
    height: 5px;
    background: url(images/arrow.png) no-repeat;
    display: inline-block;
    margin-left: 10px;
}
/* ---------------------------------
   SLIDER
---------------------------------- */


.hero-slider {
  position: relative;
  margin-bottom: 50px;
}

.hero-slider .slides {
  list-style: none;
  *zoom: 1;
  overflow: hidden;
}

.hero-slider .slides:after {
  content: " ";
  clear: both;
  display: block;
  overflow: hidden;
  height: 0;
}

.hero-slider .slides li {
  min-height: 630px;
  float: left;
  margin-right: -100%;
  width: 100%;

  background-size: cover;
  background-position: center;

  position: relative;

  transition: transform .6s ease;
}

/* overlay scuro per migliorare leggibilità testo */

.hero-slider .slides li:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.15) 100%);
  z-index:1;
}

/* contenuto sopra overlay */

.hero-slider .slide-content {

  position: absolute;
  z-index: 2;

  top: 50%;
  left: 8%;

  transform: translateY(-50%);

  width: 60%;
  padding: 0;

  background: transparent;
}

/* titolo slider */

.hero-slider .slide-content .slide-title{
    font-size:68px;
    color:white;
    text-shadow:
        0 3px 12px rgba(0,0,0,0.7),
        0 1px 2px rgba(0,0,0,0.6);
}

/* sottotitolo slider */

.hero-slider .slide-content .slide-subtitle{
    font-size:22px;
    color:white;
    text-shadow:
        0 2px 8px rgba(0,0,0,0.7);
}

/* responsive */

@media screen and (max-width: 990px) {
  .hero-slider .slide-content {
    width: 50%;
  }
}

@media screen and (max-width: 480px) {
  .hero-slider .slide-content {
    width: 100%;
  }
}

.hero-slider .slide-content .slide-title strong {
  color: #d00d00;
  display: block;
  font-weight: 300;
}

.hero-slider .slide-content p {
  line-height: 2;
  margin-bottom: 50px;
}

.hero-slider .flex-control-nav {
  list-style: none;
  position: absolute;
  bottom: -50px;
  width: 100%;
  text-align: center;
}

.hero-slider .flex-control-nav li {
  display: inline-block;
  margin: 0 5px;
}

.hero-slider .flex-control-nav li a {
  display: block;
  width: 15px;
  height: 15px;
  background-color: #c6c7c7;
  border-radius: 50%;
  overflow: hidden;
  text-indent: -99999px;
  cursor: pointer;
}

.hero-slider .flex-control-nav li a.flex-active {
  background-color: #d00d00;
}

.fullwidth-block {
  padding: 50px 0;
}

.section-title, .section-subtitle {
  font-weight: 300;
  margin-bottom: 50px;
  text-align: center;
  display: block;
}

.section-title {
  font-size: 48px;
  font-size: 3em;
}

.section-subtitle {
  font-size: 30px;
  font-size: 1.875em;
  color: #9ba1a6;
  margin-top: -50px;
  margin-bottom: 50px;
}

.feature {
  margin-bottom: 30px;
  text-align: center; }
  .feature i {
    font-size: 48px;
    font-size: 3em;
    color: #d00d00;
    display: inline-block;
    margin-bottom: 20px; }
  .feature .feature-title {
    font-size: 20px;
    font-size: 1.25em;
    margin-bottom: 20px;
    color: #d00d00;
    font-weight: 400; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.offer {
  position: relative;
  margin-bottom: 30px;
  overflow: hidden; }
  .offer .caption {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    width: 100%;
    padding: 20px; }
  .offer.caption-top .caption {
    top: 0; }
  .offer.caption-bottom .caption {
    bottom: 0; }
  .offer img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto; }
  .offer .offer-title {
    margin: 0; }

.news-list {
  margin-top: 50px; }

.news figure {
  margin-bottom: 20px;
  overflow: hidden; }
  .news figure img {
    display: block;
    max-width: 100%;
    width: 100%; }
.news .date {
  font-size: 14px;
  font-size: 0.875em; }
  .news .date img {
    margin-right: 10px; }
.news .entry-title {
  font-size: 16px;
  font-size: 1em;
  font-weight: 300; }
  .news .entry-title a {
    color: #768089;
    -webkit-transition: .3s ease;
            transition: .3s ease; }
    .news .entry-title a:hover {
      color: #d00d00; }
    .news .entry-title a:after {
      content: " ";
      display: inline-block;
      margin-left: 10px;
      width: 10px;
      height: 7px;
      background: url("images/arrow-blue.png"); }

.testimonial-slider {
  color: white;
  position: relative;
  padding-bottom: 50px; }
  .testimonial-slider .slides {
    list-style: none;
    *zoom: 1; }
    .testimonial-slider .slides:after {
      content: " ";
      clear: both;
      display: block;
      overflow: hidden;
      height: 0; }
  .testimonial-slider blockquote {
    font-size: 30px;
    font-size: 1.875em;
    text-align: center; }
    .testimonial-slider blockquote cite {
      font-size: 15px;
      font-size: 0.9375rem;
      text-transform: uppercase;
      margin-top: 30px;
      display: block;
      font-style: normal; }
  .testimonial-slider .flex-control-nav {
    position: absolute;
    bottom: 30px;
    width: 100%;
    text-align: center;
    list-style: none;
    z-index: 99; }
    .testimonial-slider .flex-control-nav li {
      display: inline-block;
      margin: 0 5px; }
      .testimonial-slider .flex-control-nav li a {
        overflow: hidden;
        text-indent: -9999px;
        background: #4795cd;
        border-radius: 50%;
        display: block;
        width: 15px;
        height: 15px;
        cursor: pointer; }
        .testimonial-slider .flex-control-nav li a.flex-active {
          background-color: white; }

.partners {
  text-align: center;
  margin-top: 50px; }
  .partners a {
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px 10px; }

.page {
  padding: 50px 0; }
  .page .entry-title {
    font-size: 48px;
    font-size: 3em;
    font-weight: 300; }
  .page p {
    line-height: 2; }
  .page .row {
    margin: 25px -15px; }

.features {
  *zoom: 1;
  margin: 0 -15px;
  position: relative;
  z-index: 1; }
  .features:after {
    content: " ";
    clear: both;
    display: block;
    overflow: hidden;
    height: 0; }
  .features:after {
    content: " ";
    height: 50px;
    top: 50px;
    left: 15px;
    right: 15px;
    position: absolute;
    background: url(images/dotted.png) repeat-x;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .features:after {
        display: none; } }
  .features .feature-numbered {
    width: 25%;
    float: left;
    padding: 15px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .features .feature-numbered {
        width: 50%; } }
    @media screen and (max-width: 480px) {
      .features .feature-numbered {
        width: 100%; } }
    .features .feature-numbered .num {
      width: 70px;
      height: 70px;
      border-radius: 50%;
      border: 2px solid #d00d00;
      color: #d00d00;
      text-align: center;
      font-size: 36px;
      font-size: 2.25em;
      line-height: 1.8;
      font-weight: 400;
      margin: 0 auto 20px;
      background-color: white;
      box-shadow: 0 0 0 10px white; }
    .features .feature-numbered .feature-title {
      font-size: 20px;
      font-size: 1.25em;
      color: #d00d00;
      font-weight: 400; }

.team {
  text-align: center;
  margin-top: 50px; }
  .team .team-image {
    overflow: hidden;
    border-radius: 50%;
    width: 230px;
    height: 230px;
    margin: 0 auto 30px; }
    .team .team-image img {
      display: block;
      width: 100%;
      max-width: 100%; }
  .team .team-name, .team .team-title {
    font-size: 16px;
    font-size: 1em; }
  .team .team-name {
    margin-bottom: 0; }
  .team .team-title {
    font-style: italic;
    display: block;
    margin-bottom: 20px; }
  .team .social-links {
    float: none;
    display: inline-block; }
    .team .social-links a {
      background: #d00d00;
      border: none;
      font-size: 14px;
      font-size: 0.875em;
      line-height: 2; }

.filterable-nav {
  margin: 50px 0 30px; }
  .filterable-nav .mobile-filter {
    display: none; }
  .filterable-nav strong {
    font-weight: 300;
    margin-right: 10px; }
  .filterable-nav a {
    padding: 10px 20px;
    border-radius: 3px;
    border: 1px solid #ccc;
    color: #768089;
    display: inline-block;
    margin-bottom: 10px;
    -webkit-transition: .3s ease;
            transition: .3s ease; }
    .filterable-nav a.current, .filterable-nav a:hover {
      color: #d00d00;
      border-color: #d00d00; }

.filterable-items {
  margin: 0 -15px;
  -webkit-transition: .3s ease;
          transition: .3s ease; }

.insurance-item {
  width: 33.3333%;
  padding: 15px; }
  @media screen and (max-width: 990px) {
    .insurance-item {
      width: 50%; } }
  @media screen and (max-width: 480px) {
    .insurance-item {
      width: 100%; } }
  .insurance-item .insurance-icon {
    font-size: 48px;
    font-size: 3em;
    color: #d00d00;
    margin-bottom: 20px; }
  .insurance-item .insurance-content {
    background: #f1f1f1;
    border-radius: 3px;
    padding: 30px;
    text-align: center; }
  .insurance-item .insurance-title {
    font-size: 36px;
    font-size: 2.25em;
    font-weight: 300;
    color: #d00d00; }

.pagination {
  text-align: center;
  margin-top: 40px; }
  .pagination span, .pagination a {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    line-height: 1.8;
    -webkit-transition: .3s ease;
            transition: .3s ease; }
  .pagination span.current, .pagination a:hover {
    background-color: #d00d00;
    color: white;
    border: 1px solid #d00d00; }
  .pagination a {
    border: 1px solid #ccc;
    color: #768089; }

.arrow-list {
  list-style: none;
  margin-bottom: 30px; }
  .arrow-list li {
    padding-left: 20px;
    position: relative;
    margin-bottom: 10px; }
    .arrow-list li:before {
      content: " ";
      width: 7px;
      height: 5px;
      background: url(images/arrow.png) no-repeat;
      display: block;
      position: absolute;
      top: 10px;
      left: 0; }

.boxed-feature {
  background: #f1f1f1;
  border-radius: 5px;
  padding: 20px 30px;
  margin-bottom: 30px; }
  .boxed-feature i, .boxed-feature .feature-desc {
    display: inline-block;
    vertical-align: middle; }
  .boxed-feature i {
    font-size: 48px;
    font-size: 3em;
    color: #d00d00;
    margin-right: 20px;
    margin-top: -10px; }
  .boxed-feature .feature-title {
    margin-bottom: 0;
    font-weight: 300; }

.contact-form input:not([type="submit"]), .contact-form textarea {
  width: 100%;
  margin-bottom: 10px;
  -webkit-transition: .3s ease;
          transition: .3s ease; }
  .contact-form input:not([type="submit"]):focus, .contact-form input:not([type="submit"]):hover, .contact-form textarea:focus, .contact-form textarea:hover {
    border-color: #d00d00; }
.contact-form textarea {
  min-height: 150px;
  margin-bottom: 20px; }

/*
 * Footer Styles
 */
.site-footer {
  border-top: 1px solid #ccc;
  padding-top: 50px; }
  .site-footer .widget-area {
    margin-bottom: 50px; }
    .site-footer .widget-area .widget {
      font-size: 14px;
      font-size: 0.875em;
      margin-bottom: 30px; }
    .site-footer .widget-area .widget-title {
      font-size: 20px;
      font-size: 1.25rem; }
    .site-footer .widget-area a {
      color: #768089; }
    .site-footer .widget-area ul {
      list-style-type: none; }
  .site-footer .bottom-footer {
    background-color: #4a4c4e;
    text-align: center;
    padding: 30px 0;
    font-size: 14px;
    font-size: 0.875em; }
  .site-footer .footer-navigation {
    margin-bottom: 30px; }
    .site-footer .footer-navigation a {
      color: white;
      padding: 0 10px;
      border-right: 1px solid white;
      line-height: 20px; }
      .site-footer .footer-navigation a:last-child {
        border-right: none; }
  .site-footer .colophon {
    color: #898b8d; }
  /* =========================
   PROFESSIONAL MENU STYLE
   ========================= */

/* =====================================
   TYPOGRAPHY
   ===================================== */

body{
    font-family:"Open Sans",sans-serif;
    font-size:16px;
    color:#5f6b73;
    padding-top:180px;
}

h1,h2,h3,h4,h5,h6{
    font-family:"Montserrat",sans-serif;
    font-weight:600;
    letter-spacing:0.5px;
}


/* =====================================
   HEADER
   ===================================== */

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
}

.site-header .top-header{
    background:#f5f5f5;
    padding:12px 0;
}

.site-header .bottom-header{
    background:#4a4c4e;
    padding:14px 0;
}



/* =====================================
   BRANDING
   ===================================== */

#branding{
    display:flex;
    align-items:center;
}

#branding .logo{
    margin-right:15px;
}

#branding .site-title{
    font-family:"Montserrat",sans-serif;
    font-weight:700;
    letter-spacing:1.2px;
    font-size:22px;
}


/* =====================================
   MENU
   ===================================== */

.site-header .bottom-header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.main-navigation{
    display:flex;
    align-items:center;
}

.main-navigation .menu{
    list-style:none;
    display:flex;
    align-items:center;
    margin:0;
}

.main-navigation .menu li{
    margin:0 18px;
}

.main-navigation .menu li a{

    font-family:"Montserrat",sans-serif;
    font-weight:600;
    font-size:15px;

    text-transform:uppercase;
    letter-spacing:1px;

    color:white;

    padding:8px 14px;

    position:relative;

    transition:all .25s ease;

}

.main-navigation .menu li a:hover{
    color:#4db3ff;
}

.main-navigation .menu li.current-menu-item a{
    color:#4db3ff;
}

/* linea animata sotto menu */

.main-navigation .menu li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0%;

    height:2px;

    background:#4db3ff;

    transition:width .3s ease;

}

/* hover */

.main-navigation .menu li a:hover::after{

    width:100%;

}

/* voce attiva */

.main-navigation .menu li.current-menu-item a::after{

    width:100%;

}


/* =====================================
   SOCIAL DESKTOP
===================================== */

.social-links{
    display:flex;
    align-items:center;
}

.social-links a{

    width:32px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-left:6px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,0.35);
    background:transparent;

    color:#fff;

    transition:border-color .25s ease;

}

/* hover desktop */
.social-links a:hover{
    border-color:#4db3ff;
}


/* =====================================
   BUTTONS
   ===================================== */

.button,
form input[type="submit"],
form button{

    background:#4db3ff;

    border-radius:6px;

    font-family:"Montserrat",sans-serif;

    font-weight:600;

    padding:12px 22px;

    transition:.25s;

}

.button:hover,
form input[type="submit"]:hover,
form button:hover{

    background:#2d9be8;

    transform:translateY(-1px);

}

.main-navigation{
    flex:1;
    display:flex;
    justify-content:center;
}

.social-links{
    min-width:120px;
    justify-content:flex-end;
}

@media screen and (max-width:768px){
  
body{
padding-top:110px;
}


/* HEADER SUPERIORE */

.site-header .top-header .container{
    text-align:center !important;
}

/* LOGO */

#branding{
    float:none !important;
    display:block !important;
    width:100% !important;
}

#branding img{
    display:inline-block !important;
    margin:0 auto !important;
    max-height:80px;
}

/* BARRA MENU */

.site-header .bottom-header{
    padding:10px 0;
}

/* NASCONDI MENU DESKTOP */

.main-navigation .menu{
    display:none;
}

/* DISATTIVA FLEX DEL TEMPLATE */

.site-header .bottom-header .container{
    display:block !important;
}

/* HAMBURGER A SINISTRA */

.main-navigation{
    text-align:left;
}

.menu-toggle{
    margin-left:10px;
}



}

/* ==============================
   MIGLIORA LEGGIBILITA MOBILE
============================== */

/* =====================================================
   MOBILE LAYOUT
   Migliora leggibilità e struttura su smartphone
===================================================== */
@media screen and (max-width:768px){

/* ---------------------------------
   TESTO GENERALE
---------------------------------- */
body{
    font-size:17px;
    line-height:1.6;
    padding-top:72px;
}
.section-title{
    font-size:26px;
    margin-bottom:22px;
}
.section-subtitle{
    font-size:18px;
    margin-top:-5px;
}
.news .entry-title{
    font-size:17px;
    line-height:1.4;
}
.fullwidth-block{
    padding:28px 0;
}
.news figure{
    margin-bottom:15px;
}
.offer .caption{
    padding:15px;
}
.testimonial-slider blockquote{
    font-size:18px;
    line-height:1.6;
}

/* =====================================================
   HEADER MOBILE
===================================================== */

/* nasconde header desktop */
.site-header .top-header{
    display:none;
}

/* barra header */
.site-header .bottom-header{
    background:#ffffff !important;
    padding:0 !important;
    box-shadow:0 2px 6px rgba(0,0,0,0.1);
}

/* header fisso su mobile */
.site-header{
    position:fixed;
    top:0;
}

/* struttura header: logo | hamburger */
.site-header .bottom-header .container{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    padding:6px 12px 4px 12px;
    position:relative;
}

/* navigazione occupa tutta la riga */
.main-navigation{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    width:100%;
    flex:none;
    position:static;
    order:1;
}

/* logo mobile — a sinistra */
.mobile-logo{
    display:flex;
    align-items:center;
}

.mobile-logo{
    display:flex;
    align-items:center;
    margin-top:4px;
}
.mobile-logo img {
    height: 50px;
    width: auto;
    display: block;
}
/* testo accanto al logo */
.mobile-logo::after{
    content:"RUNNERS CHIETI";
    font-family:"Montserrat",sans-serif;
    font-weight:700;
    font-size:16px;
    margin-left:10px;
    color:#333;
    letter-spacing:0.5px;
}


/* hamburger a destra */
.main-navigation .menu-toggle{
    display:flex !important;
    align-items:center;
    justify-content:center;
    height:42px;
    padding:0 12px;
    margin-left:auto;
    margin-top:4px;

    background:none;
    border:none;
    cursor:pointer;

    color:#333 !important;
}

/* icona hamburger */
.menu-toggle i{
    font-size:26px;
    line-height:1;
    transition:transform .25s ease, color .2s ease;
}

/* icona X */
.menu-toggle i.fa-xmark{
    font-size:30px;
    color:#d00d00;
}

/* nasconde menu desktop su mobile */
.main-navigation .menu{
    display:none !important;
}

/* menu mobile a tendina — larghezza piena */
.mobile-navigation{
    background:#ffffff;
    position:fixed !important;
    top:100px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:9999;
    box-shadow:0 4px 12px rgba(0,0,0,0.12);
    border-top:3px solid #d00d00;
    margin-top:-2px; /* ?? FIX */
}
.mobile-navigation a{
    color:#333 !important;
    font-size:15px;
    font-weight:600;
    font-family:"Montserrat",sans-serif;
    letter-spacing:0.5px;
    border-bottom:1px solid #f0f0f0;
    display:block;
    padding:14px 20px 14px 28px !important;
    transition:background .2s ease, color .2s ease, padding .2s ease;
}

/* hover */
.mobile-navigation a:hover,
.mobile-navigation a:active{
    background:#f7f7f7;
    color:#d00d00 !important;
    padding-left:36px !important;
}

/* pagina corrente */
.mobile-navigation .current-menu-item > a,
.mobile-navigation .current_page_item > a,
.mobile-navigation .current-menu-ancestor > a,
.mobile-navigation .current_page_parent > a{
    color:#d00d00 !important;
    border-left:3px solid #d00d00;
    padding-left:25px !important;
    background:#fafafa;
}
/* social sotto header mobile */
.social-links{
    display:flex !important;
    justify-content:center;
    gap:14px;
    width:100%;
    padding:0 0 6px 0;
    margin-top:-4px;
    background:#ffffff;
    order:2;
}

/* social icons */
.social-links{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
}

.social-links a{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid #e2e2e2;
    color:#444;
    background:#fff !important;
    transition:border-color .2s ease, transform .15s ease;
}

/* icone */
.social-links a i{
    font-size:14px;
    color:#444 !important;
}

/* hover / tap */
.social-links a:hover,
.social-links a:active,
.social-links a:focus{
    border-color:#d00d00 !important;
    background:#fff !important;
}

/* mantiene icona scura */
.social-links a:hover i,
.social-links a:active i,
.social-links a:focus i{
    color:#444 !important;
}

/* piccolo feedback al tocco (mobile) */
.social-links a:active{
    transform:scale(0.92);
}
body{
    padding-top:100px;
}

/* =====================================================
   SLIDER MOBILE
===================================================== */

/* slider più compatto */
.hero-slider .slides li{
    min-height:260px !important;
}

/* posizione testo slider */
.hero-slider .slide-content{
    position:absolute;
    top:45%;
    left:5%;
    transform:translateY(-50%);
    width:90%;
}

/* titolo slider */
.hero-slider .slide-title{
    font-size:28px !important;
    line-height:1.25;
    text-shadow:0 3px 8px rgba(0,0,0,0.65);
}

/* sottotitolo slider */
.hero-slider .slide-subtitle{
    font-size:17px !important;
    line-height:1.5;
    text-shadow:0 2px 6px rgba(0,0,0,0.6);
}

/* linee decorative */
.slide-lines{
    display:none;
}

/* animazione slider */
@keyframes slideTextIn{
    from{
        transform:translateX(120px);
        opacity:0;
    }
    to{
        transform:translateX(0);
        opacity:1;
    }
}
.hero-slider .flex-active-slide .slide-content{
    animation:slideTextIn 1s ease;
}
.hero-slider .slide-content{
    animation:none !important;
}

/* overlay per migliorare leggibilità testo */
.hero-slider .slides li{
    position:relative;
}

.hero-slider .slides li::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.15) 100%);
    z-index:1;
}

/* il testo rimane sopra l'overlay */
.hero-slider .slide-content{
    z-index:2;
}

} /* fine @media max-width:768px */

/* =====================================================
   FOOTER MOBILE
===================================================== */
@media screen and (max-width:768px){
    .site-footer{
        border-top:none;
        padding-top:0;
    }
    .site-footer .bottom-footer{
        background-color:#2b2b2b;
        padding:20px 15px;
    }
    .site-footer .footer-navigation{
        margin-bottom:10px;
    }
    .site-footer .footer-navigation a{
        color:rgba(255,255,255,0.5);
        border-right:none;
        display:inline-block;
        padding:3px 8px;
        font-size:12px;
        letter-spacing:0.3px;
    }
    .site-footer .colophon{
        color:rgba(255,255,255,0.3);
        font-size:11px;
    }
    

}



/* =====================================================
   NASCONDE LOGO MOBILE SU DESKTOP
===================================================== */
/* nasconde logo mobile su desktop - override finale */
@media screen and (min-width:769px){
    .mobile-logo{
        display:none !important;
    }
}
/* =========================
   FINE MOBILE
========================= */


/* =========================
   GALLERY
========================= */


.gallery-main-title{
    font-size:32px;
    font-family:"Montserrat",sans-serif;
    font-weight:700;
    margin-bottom:30px;
    color:#333;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:50px;
}

@media(max-width:1024px){
    .gallery-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:768px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }
}

@media(max-width:480px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }
}

.gallery-card{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:8px;
    aspect-ratio:4/3;
    box-shadow:0 2px 8px rgba(0,0,0,0.12);
    transition:transform .3s ease, box-shadow .3s ease;
}

.gallery-card:hover{
    transform:translateY(-4px);
    box-shadow:0 8px 20px rgba(0,0,0,0.18);
}

.gallery-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.gallery-card:hover img{
    transform:scale(1.06);
}

.gallery-overlay{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:10px 12px;
    background:linear-gradient(
        to top,
        rgba(0,0,0,0.78),
        rgba(0,0,0,0)
    );
    color:white;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}

.gallery-title{
    font-size:13px;
    font-weight:600;
    font-family:"Montserrat",sans-serif;
    letter-spacing:.4px;
    line-height:1.3;
}

.gallery-count{
    font-size:12px;
    opacity:.9;
    white-space:nowrap;
    margin-left:8px;
}

.gallery-count i{
    margin-right:3px;
}

/* =========================
   EVENTO
========================= */

.event-page{
    margin-top:30px;
    margin-bottom:50px;
}

.event-title{
    font-size:28px;
    font-family:"Montserrat",sans-serif;
    font-weight:700;
    margin-bottom:24px;
    color:#333;
}

.breadcrumb{
    margin-bottom:16px;
    font-size:14px;
    color:#7a7a7a;
}

.breadcrumb a{
    color:#d00d00;
    font-weight:600;
}

.breadcrumb a:hover{
    text-decoration:underline;
}

.breadcrumb-sep{
    margin:0 6px;
    color:#bbb;
}

.masonry{
    column-count:4;
    column-gap:16px;
}

.masonry img{
    width:100%;
    margin-bottom:16px;
    border-radius:6px;
    display:block;
    cursor:pointer;
    transition:transform .3s ease, box-shadow .3s ease;
}

.masonry img:hover{
    transform:scale(1.02);
    box-shadow:0 6px 18px rgba(0,0,0,0.18);
}


@media(max-width:900px){
    .masonry{
        column-count:2;
    }
}

@media(max-width:500px){
    .masonry{
        column-count:2;
    }
}


/* =========================
   BREADCRUMB
========================= */

/* =========================
   PAGINE INTERNE (gallery, evento)
========================= */

/* l'header fisso su pagine interne è solo bottom-header */
.gallery-page,
.event-page{
    margin-top:0;
    padding-top 0px !important;
}

/* =========================
   FANCYBOX
========================= */
.fancybox__image{
    max-width:95vw !important;
    max-height:90vh !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
}

.fancybox__container{
    z-index:99999 !important;
}

.fancybox__viewport{
    width:95vw !important;
    height:90vh !important;
}

.fancybox__slide{
    padding:0 !important;
}

/* =========================
   GALLERY HOMEPAGE
========================= */

.home-gallery-row .gallery-card{
    aspect-ratio: unset;
}

.home-gallery-row .col-md-3 .offer{
    height:430px;
    overflow:hidden;
}

.home-gallery-row .col-md-3 .offer img{
    height:430px !important;
    width:100%;
    object-fit:cover;
}

.home-gallery-row .col-md-9 .offer{
    height:200px;
    overflow:hidden;
}

.home-gallery-row .col-md-9 .offer img{
    height:200px !important;
    width:100%;
    object-fit:cover;
}
.home-gallery-row .offer .caption{
    padding:8px 10px;
    background:linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0));
    bottom:0;
    top:auto;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}

.home-gallery-row .offer .offer-title{
    font-size:12px;
    font-family:"Montserrat",sans-serif;
    font-weight:600;
    letter-spacing:.3px;
    line-height:1.3;
    margin:0;
}

.home-gallery-row .offer small{
    font-size:11px;
    white-space:nowrap;
    margin-left:8px;
}

/* =========================
   FINE GALLERY HOMEPAGE
========================= */

#branding .logo {
    height: 150px;
    width: auto;
}
.site-footer .footer-navigation a:hover {
    color: #42a8f0;
}
/* Titolo comune pagine interne */
.page-title {
    font-size: 36px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    color: #4a4c4e;
    margin-bottom: 25px;
    margin-top: 5px;
}
/* =========================
   PAGINA CONTATTI
========================= */

.contact-detail{
    margin-top:10px;
}

.contact-row{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}

.contact-icon{
    color:#4a4c4e;
    font-size:22px;
    min-width:26px;
    text-align:center;
    margin-top:2px;
}

.contact-text{
    margin:0;
    font-size:18px;
    font-weight:400;
    line-height:1.5;
    flex:1;
}

.hero-slider .slide-content{
    opacity:0;
    transform:translateY(-50%) translateY(20px);
    transition:all .8s ease;
}

.hero-slider .flex-active-slide .slide-content{
    opacity:1;
    transform:translateY(-50%) translateY(0);
}

.whatsapp-button{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#25D366;
    color:white;
    padding:10px 16px;
    border-radius:6px;
    font-family:"Montserrat",sans-serif;
    font-weight:600;
    font-size:14px;
    text-decoration:none;
    transition:background .2s ease, transform .15s ease;
}

.whatsapp-button:hover{
    background:#1ebe5d;
    transform:translateY(-1px);
}

.whatsapp-button i{
    font-size:16px;
}
/* =========================
   GARE
========================= */

/* legenda + bottone */
.circuiti-legend-wrapper{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:20px;
}

/* legenda circuiti */
.circuiti-legend{
    display:flex;
    gap:8px;
    flex-wrap:nowrap;
}

.leg{
    padding:6px 12px;
    border-radius:4px;
    font-size:13px;
    font-weight:600;
    color:white;
}

.uisp{background:#f1c40f;color:#333;}
.fidal{background:#e74c3c;}
.opes{background:#3498db;}

/* bottone */
.gare-passate-link{
    flex-shrink:0;
}

.btn-gare-passate{
    background:#f3f3f3;
    color:#444;
    padding:12px 17px;
    border-radius:4px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    transition:all .2s ease;
}

.btn-gare-passate:hover{
    background:#e9e9e9;
}


/* =========================
   HEADER + RIGHE ALLINEATE
========================= */

.gare-header,
.gara{
    display:grid;
    grid-template-columns:8px 140px 1fr 200px 120px;
    column-gap:20px;
    align-items:center;
}


/* intestazione colonne */

.gare-header{
    padding:10px 0;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.5px;
    color:#666;
    border-bottom:2px solid #ddd;
    background:#fafafa;
    margin-top:10px;
}


/* lista gare */

.gara{
    padding:12px 0;
    border-bottom:1px solid #e6e6e6;
    background:white;
    color:#333;
    transition:background .15s ease;
}

.gara:hover{
    background:#f7f7f7;
}


/* =========================
   ALLINEAMENTO TESTI
========================= */

.gara-data,
.gare-header div:nth-child(2){
    text-align:left;
}

.gara-nome{
    padding-right:10px;
}

.gara-luogo,
.gare-header div:nth-child(4){
    text-align:left;
}

.gara-distanze,
.gare-header div:nth-child(5){
    text-align:right;
    font-weight:600;
}


/* =========================
   BARRETTA CIRCUITI
========================= */

.gara-circuiti{
    height:100%;
    min-height:40px;
    border-radius:3px;
    width:6px;
}

.gara.uisp .gara-circuiti{background:#f1c40f;}
.gara.fidal .gara-circuiti{background:#e74c3c;}
.gara.opes .gara-circuiti{background:#3498db;}

.gara.uisp-fidal .gara-circuiti{
    background:linear-gradient(to bottom,#f1c40f 50%,#e74c3c 50%);
}

.gara.uisp-opes .gara-circuiti{
    background:linear-gradient(to bottom,#f1c40f 50%,#3498db 50%);
}

.gara.fidal-opes .gara-circuiti,
.gara.opes-fidal .gara-circuiti{
    background:linear-gradient(to bottom,#e74c3c 50%,#3498db 50%);
}

.gara.uisp-fidal-opes .gara-circuiti{
    background:linear-gradient(to bottom,#f1c40f 33%,#e74c3c 33% 66%,#3498db 66%);
}


/* =========================
   STATO GARE
========================= */

.gara.passata{
    opacity:0.35;
}


/* =========================
   DATA + TESTI
========================= */

.gara-data{
    font-weight:700;
    color:#444;
    min-width:120px;
}


/* =========================
   TITOLI MESE
========================= */

.mese-titolo{
    font-size:18px;
    font-weight:700;
    margin-top:30px;
    margin-bottom:10px;
    color:#4a4c4e;
    border-bottom:1px solid #ddd;
    padding-bottom:6px;
}

.mese-titolo.attivo{
    color:#000;
    border-bottom:2px solid #d00d00;
}


/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .gare-header{
        display:none !important;
    }

    .gare-list{
        margin-top:0;
    }

    .gara{
        display:grid;
        grid-template-columns:8px 1fr;
        grid-template-rows:auto auto auto;
        column-gap:10px;
        row-gap:6px;
        padding:12px 8px;
    }

    .gara-circuiti{
        grid-row:1 / span 3;
    }

    .gara-data{
        grid-column:2;
        grid-row:1;
    }

    .gara-nome{
        grid-column:2;
        grid-row:2;
        font-weight:600;
        line-height:1.25;
    }

    .gara-luogo{
        grid-column:2;
        grid-row:3;
        font-size:14px;
        color:#666;
    }

    .gara-distanze{
        display:none;
    }

    .gara-luogo::after{
        content:" \00B7 " attr(data-distanza);
    }

    /* mobile legenda + bottone */
    .circuiti-legend-wrapper{
        flex-wrap:nowrap;
    }

    .btn-gare-passate{
        padding:6px 10px;
        font-size:12px;
    }

    .leg{
        padding:5px 8px;
        font-size:12px;
    }
}

/* =========================
   FIX SPAZIO MOBILE HEADER
========================= */

.page-content{
    padding-top:54px;
}

@media(max-width:768px){
    .page-content{
        padding-top:15px;
    }
}

/* =========================
   ATLETI - VERSIONE DEFINITIVA
========================= */

/* container */
.page-content{
    padding-left:15px;
    padding-right:15px;
    min-height:70vh;
}

/* contatore */
.atleti-count{
    margin:0; /* ?? rimuove lo spostamento verso il basso */
    font-size:14px;
    color:#666;
    white-space:nowrap;
    display:flex;
    align-items:center; /* ?? allineamento verticale perfetto */
}

.atleti-count strong{
    color:#C81703;
}


/* =========================
   TOP (RICERCA)
========================= */

.atleti-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:8px; /* ?? ridotto */
}

/* ricerca */
.atleti-search{
    position:relative;
}

#searchAtleti{
    width:180px;
    padding:7px 30px 7px 10px;
    font-size:13px;
    border:1px solid #ddd;
    border-radius:4px;
    box-sizing:border-box;
}

/* icona */
#resetSearch{
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    font-size:13px;
    color:#999;
}

#resetSearch:hover{
    color:#C81703;
}


/* =========================
   TABELLA (STILE GARE)
========================= */

.tabella-atleti{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
    font-size:14px;
}

/* colonne bilanciate */
.tabella-atleti th:nth-child(1),
.tabella-atleti td:nth-child(1){ width:28%; }

.tabella-atleti th:nth-child(2),
.tabella-atleti td:nth-child(2){ width:28%; }

.tabella-atleti th:nth-child(3),
.tabella-atleti td:nth-child(3){ width:18%; }

.tabella-atleti th:nth-child(4),
.tabella-atleti td:nth-child(4){ width:26%; }

/* header (leggero) */
.tabella-atleti thead{
    background:transparent; /* ?? tolta barra scura */
    border-bottom:3px solid #e0e0e0;
}

.tabella-atleti th{
    padding:16px 14px; /* ?? più alto */
    text-align:left;
    font-weight:600;
    font-size:13px;
    color:#666;
    text-transform:uppercase;
    letter-spacing:0.5px;
}

/* celle */
.tabella-atleti th,
.tabella-atleti td{
    box-sizing:border-box;
}

.tabella-atleti td{
    padding:14px 14px; /* ?? più spazio */
    border-bottom:1px solid #eee;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* zebra */
.tabella-atleti tbody tr:nth-child(even){
    background:#fafafa;
}

/* hover */
.tabella-atleti tbody tr:hover{
    background:rgba(200,23,3,0.08);
}


/* =========================
   CATEGORIA
========================= */

.tabella-atleti th:nth-child(4),
.tabella-atleti td:nth-child(4){
    text-align:center;
}

.categoria{
    display:inline-block;
    min-width:60px;
    text-align:center;
    padding:5px 8px;
    font-size:12px;
    font-weight:700;
    border-radius:4px;
    color:#fff;
}

/* colori */
.categoria.sm{ background:#3498db; }
.categoria.sf{ background:#e84393; }
.categoria.rm,
.categoria.rf{ background:#27ae60; }

.categoria:not(.sm):not(.sf):not(.rm):not(.rf){
    background:#7f8c8d;
}


/* =========================
   MOBILE
========================= */

@media(max-width:480px){

    #searchAtleti{
        width:140px;
        font-size:12px;
        padding:6px 26px 6px 8px;
    }

    .atleti-count{
        font-size:12px;
    }

}
/* =========================
   GALLERY INSTAGRAM STYLE
========================= */

.insta-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
}

/* immagini quadrate */
.insta-grid a{
    position:relative;
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    display:block;
}

.insta-grid img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .3s ease;
}

/* hover zoom */
.insta-grid a:hover img{
    transform:scale(1.05);
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:992px){
    .insta-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:480px){
    .insta-grid{
        grid-template-columns:repeat(2, 1fr);
        gap:6px;
    }
}

/* =========================
   NEWS BASE
========================= */

.news-page .news-item{
    display:flex;
    gap:20px;
    margin-bottom:40px;
    padding:20px;
    border:1px solid #eee;
    border-radius:8px;
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,0.05);
}

.news-page .news-item:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 18px rgba(0,0,0,0.1);
}

/* evidenza */
.news-page .news-item.evidenza{
    border:2px solid #C81703;
    box-shadow:0 0 20px rgba(200,23,3,0.2);
    margin-bottom:30px;
}

/* immagine */
.news-page .news-image{
    width:250px;
    flex-shrink:0;
}

.news-page .news-image img{
    width:100%;
    height:auto;
    display:block;
    border-radius:6px;
}

/* contenuto */
.news-page .news-content{
    flex:1;
}

.news-page .news-date{
    font-size:13px;
    color:#999;
    margin-bottom:6px;
}

.news-page .news-content h3{
    margin:0 0 10px;
    font-size:18px;
}

.news-page .news-content p{
    color:#555;
    line-height:1.5;
}

/* =========================
   HOME NEWS
========================= */

.news-list .news{
    background:#fff;
    border:1px solid #eee;
    border-radius:6px;
    overflow:hidden;
    transition:0.2s;
}

.news-list .news:hover{
    transform:translateY(-3px);
    box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

.news-list .news figure{
    margin:0;
}

.news-list .news figure img{
    width:100%;
    height:auto;
    display:block;
}

/* data */
.news-list .news .date{
    font-size:13px;
    color:#888;
    padding:10px 15px 0;
}

.news-list .news .date img{
    width:14px;
    margin-right:5px;
}

/* titolo */
.news-list .news .entry-title{
    font-size:16px;
    padding:10px 15px 15px;
    line-height:1.3;
}

.news-list .news .entry-title a{
    color:#333;
    text-decoration:none;
}

.news-list .news .entry-title a:hover{
    color:#C81703;
}

/* ? rimuove freccia blu */
.news-list .news .entry-title a:after{
    display:none;
}

.news-excerpt{
    font-size:14px;
    color:#666;
    padding:0 15px 15px;
    line-height:1.4;
}
.news-list .news figure a{
    display:block;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .news-page .news-item{
        display:block;
        border-radius:12px;
        overflow:hidden;
        box-shadow:0 6px 18px rgba(0,0,0,0.08);
        padding:0;
    }

    .news-page .news-image{
        width:100%;
    }

    .news-page .news-image img{
        width:100%;
        height:auto;
        display:block;
    }

    .news-page .news-content{
        padding:14px 16px 18px;
    }

    .news-page .news-date{
        font-size:12px;
        color:#888;
        margin-bottom:6px;
    }

    .news-page .news-content h3{
        font-size:17px;
        line-height:1.4;
        margin-bottom:8px;
    }

    .news-page .news-content p{
        font-size:14px;
        color:#555;
    }
    .news-list .news{
        margin-bottom:18px;
    }

}
