:root {
    --darkblue-color: #336084;
    --blue-color: #69c3f4;
    --lightblue-color: #94dffe;
    --bluish-color: #d5f1fc;
    --yellow-color: #fbb440;
    --gold-color: #ffeedb;
    --purple-color: #FF6556;
    --orange-color: #f99746;
    --teal-color: #00a3b6;
    --green-color: #2b6955;
}

/* Background Color Classes */
.bg-darkblue {background-color: var(--darkblue-color);}
.bg-blue {background-color: var(--blue-color);}
.bg-lightblue {background-color: var(--lightblue-color);}
.bg-yellow {background-color: var(--yellow-color);}
.bg-gold {background-color: var(--gold-color);}
.bg-purple {background-color: var(--purple-color);}
.bg-purple {background-color: var(--purple-color);}
.bg-teal {background-color: var(--teal-color);}
.bg-orange {background-color: var(--orange-color);}

/* Text Color Classes */
.text-darkblue {color: var(--darkblue-color);}
.text-blue {color: var(--blue-color);}
.text-lightblue {color: var(--lightblue-color);}
.text-yellow {color: var(--yellow-color);}
.text-gold {color: var(--gold-color);}
.text-purple {color: var(--purple-color);}
.text-teal {color: var(--teal-color);}

.bg-wave {
    /*background-image:url(/assets/img/bg_wave2.jpg);*/
    background-image:url(/assets/img/small_wave2_hero.jpg);    
    background-position: 0 150px;
}

.font-title {font-family: "Quicksand", sans-serif;font-optical-sizing: auto;}
.text-shadow {text-shadow: 2px 2px #000000;}
.btn-shadow:not(:hover) {text-shadow: 2px 2px #933f02;}
.outofwindow {visibility:hidden;position: absolute;left: -9999px;}

:focus {
  outline: none;
}

:focus-visible {
  box-shadow: 0 0 0 3px #1e90ff;
  border-radius: 4px;
}

/********** Range Input Styles **********/
/*Range Reset*/
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    width: 15rem;
}

/* Removes default focus */
input[type="range"]:focus {
    outline: none;
}

/***** Chrome, Safari, Opera and Edge Chromium styles *****/
input#people::-webkit-slider-runnable-track {
    background-color: var(--green-color);
    border-radius: 0.5rem;
    height: 0.5rem;  
}
input#people::-webkit-slider-thumb {
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    margin-top: -20px; /* Centers thumb on the track */
    background-color: floralwhite;    

    height: 50px;
    width: 50px;
    border-radius: 50px;

    outline: 4px solid var(--green-color);
    outline-offset: 0;
}
input#people:hover::-webkit-slider-thumb {
    background-color: floralwhite;

    outline: 4px solid var(--teal-color);
    outline-offset: 0;
}

input#consumo::-webkit-slider-runnable-track {
    background-image: linear-gradient(to right, rgb(176, 221, 255) , rgb(0, 69, 126));
    border-radius: 20px;
    height: 20px;
}
input#consumo::-webkit-slider-thumb {
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    margin-top: -15px; /* Centers thumb on the track */
    background-color: #fff;
    height: 50px;
    width: 50px;
    border-radius: 50px;

    outline: 4px solid var(--green-color);
    outline-offset: 0;
}
input#consumo:hover::-webkit-slider-thumb {
    background-image: #fff;
    
    outline: 4px solid var(--teal-color);
    outline-offset: 0;
}

#rangePeople {
    position: absolute;
    left: 24px;
    transform: translateX(-50%) translateY(-26%);
    font-size: 34px;
    color: var(--green-color);
    pointer-events: none;
}

.toparrow, .bottomarrow {position: relative;}
.toparrow:before {
    content: '';
    position: absolute;
    top: -15px;
    width: 50px;
    height: 50px;
    background-image: url(../img/whitearrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    left: calc(50% - 25px);
    transform: scaleY(0.6);
}
.bottomarrow:after {
    content: '';
    position: absolute;
    bottom: -30px;
    width: 50px;
    height: 50px;
    background-image: url(../img/bluearrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    left: calc(50% - 25px);
    transform: scaleY(0.5);
}
.toparrow.uparrow:before {    
    transform: scaleY(0.4) rotate(180deg);
    top: -35px;
}

#costo_indicativo:before {content: '€';font-size: 32px;margin-right: 5px;}


.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 100;
  background: #000; /* black background */
  color: #fff; /* white text */
  padding: 8px 16px;
  text-decoration: none;
  font-weight: bold;
}

.skip-link:focus {
  position: fixed;
  left: 10px;
  top: 10px;
  width: auto;
  height: auto;
  overflow: visible;
  z-index: 1000;
  border-radius: 4px;
}

/******** Firefox styles ********/
@-moz-document url-prefix() {
    #rangePeople {
        transform: translateX(-50%) translateY(-33%);
    }

    input#people::-moz-range-track {
        background-color: var(--green-color);
        border-radius: 0.5rem;
        height: 0.5rem;
    }
    input#people::-moz-range-thumb {
        border: none;
        border-radius: 0;
        background-image: floralwhite;
        height: 50px;
        width: 50px;
        border-radius: 50px;
    
        outline: 4px solid var(--green-color);
        outline-offset: 0;
    }
    input#people:hover::-moz-range-thumb {
        background-image: floralwhite;
        
        outline: 4px solid var(--teal-color);
        outline-offset: 0;
    }

    input#consumo::-moz-range-track {
        background-image: linear-gradient(to right, rgb(176, 221, 255) , rgb(0, 69, 126));
        border-radius: 20px;
        height: 20px;
    }
    input#consumo::-moz-range-thumb {
        border: none;
        border-radius: 0;
        background-image: #fff;
        height: 50px;
        width: 50px;
        border-radius: 50px;
    
        outline: 4px solid var(--green-color);
        outline-offset: 0;
    }
    input#consumo:hover::-moz-range-thumb {
        background-image: #fff;
        
        outline: 4px solid var(--teal-color);
        outline-offset: 0;
    }
  }