/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[5].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].rules[1].use[1]!./src/theme/variables.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/** Ionic CSS Variables **/
:root {
  --ion-text-color: #050F3B;
  --app-color-default: #007aff;
  /** primary **/
  --ion-font-family: "Syne Regular";
  --ion-color-primary: var(--app-color-default);
  /** secondary **/
  --ion-color-secondary: #abb23f;
  /** tertiary **/
  --ion-color-tertiary: #d4dd5f;
  /** success **/
  --ion-color-success: #94bb22;
  /** warning **/
  --ion-color-warning: #ffc409;
  /** danger **/
  --ion-color-danger: #eb445a;
  /** dark **/
  --ion-color-dark: #222428;
  /** medium **/
  --ion-color-medium: #92949c;
  /** light **/
  --ion-color-light: #f4f5f8;
}
@font-face {
  font-family: "termoico";
  src: url('termoico.d338b434974bdf8c.eot?dc0pqi');
  src: url('termoico.d338b434974bdf8c.eot?dc0pqi#iefix') format("embedded-opentype"), url('termoico.40296605af110c88.ttf?dc0pqi') format("truetype"), url('termoico.3493cc11094cca3c.woff?dc0pqi') format("woff"), url('termoico.dce90dcfd229b60b.svg?dc0pqi#termoico') format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=termoico-], [class*=" termoico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "termoico" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.termoico-back:before {
  content: "\e958";
  font-size: 30%;
  color: #fff;
}
.termoico-check1:before {
  font-size: 30%;
  content: "\e959";
  color: #fff;
}
.termoico-Smart365:before {
  content: "\e955";
  color: #fff;
}
.termoico-off_gruppo:before {
  content: "\e956";
  color: #fff;
}
.termoico-off_stanza:before {
  content: "\e957";
}
.termoico-lingua:before {
  content: "\e945";
  color: #fff;
}
.termoico-psw:before {
  content: "\e946";
  color: #fff;
}
.termoico-support:before {
  content: "\e947";
  color: #fff;
}
.termoico-doc:before {
  content: "\e948";
  color: #fff;
}
.termoico-edit:before {
  content: "\e949";
  color: #fff;
}
.termoico-elimina:before {
  content: "\e94a";
  color: #fff;
}
.termoico-faq:before {
  content: "\e94b";
  color: #fff;
}
.termoico-Informazione:before {
  content: "\e94c";
  color: #fff;
}
.termoico-Installazione:before {
  content: "\e94d";
  color: #fff;
}
.termoico-Invita:before {
  content: "\e94e";
  color: #fff;
}
.termoico-Logout:before {
  content: "\e94f";
  color: #fff;
}
.termoico-Supporto:before {
  content: "\e950";
  color: #fff;
}
.termoico-Cloud:before {
  content: "\e951";
  color: #fff;
}
.termoico-Geofencing:before {
  content: "\e952";
  color: #fff;
}
.termoico-Guida:before {
  content: "\e953";
  color: #fff;
}
.termoico-down:before {
  content: "\e930";
  color: #fff;
}
.termoico-notification_empty:before {
  content: "\e931";
  color: #fff;
}
.termoico-up:before {
  content: "\e932";
  color: #fff;
}
.termoico-Air_triangle:before {
  content: "\e933";
}
.termoico-Fan:before {
  content: "\e934";
  color: #fff;
}
.termoico-Fan_black:before {
  content: "\e935";
}
.termoico-FanDisabled:before {
  content: "\e936";
  color: #fff;
}
.termoico-FanDisabled_black .path1:before {
  content: "\e937";
  color: black;
}
.termoico-FanDisabled_black .path2:before {
  content: "\e938";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path3:before {
  content: "\e939";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path4:before {
  content: "\e93a";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path5:before {
  content: "\e93b";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path6:before {
  content: "\e93c";
  margin-left: -1em;
  color: white;
}
.termoico-FanOff:before {
  content: "\e93d";
  color: #626568;
}
.termoico-FanOn:before {
  content: "\e93e";
  color: #539ebd;
}
.termoico-Air_Dehu:before {
  content: "\e93f";
  color: #fff;
}
.termoico-Air_exclamation:before {
  content: "\e940";
  color: #fff;
}
.termoico-Air_fan:before {
  content: "\e941";
  color: #fff;
}
.termoico-Air_Free:before {
  content: "\e942";
  color: #fff;
}
.termoico-Air_Int:before {
  content: "\e943";
}
.termoico-Air_renewal:before {
  content: "\e944";
  color: #fff;
}
.termoico-cooling:before {
  content: "\e91c";
  color: #fff;
}
.termoico-heating:before {
  content: "\e91d";
  color: #fff;
}
.termoico-about:before {
  content: "\e90e";
}
.termoico-account:before {
  content: "\e910";
}
.termoico-away:before {
  content: "\e911";
  color: #fff;
}
.termoico-block:before {
  content: "\e912";
}
.termoico-cloud:before {
  content: "\e913";
}
.termoico-help:before {
  content: "\e914";
}
.termoico-setting:before {
  content: "\e915";
}
.termoico-tutorial:before {
  content: "\e916";
}
.termoico-circle:before {
  content: "\e90f";
}
.termoico-angle-down:before {
  content: "\e900";
  color: #706f6f;
}
.termoico-angle-up:before {
  content: "\e902";
  color: #706f6f;
}
.termoico-check:before {
  content: "\e90d";
  color: #fff;
}
.termoico-holiday:before {
  content: "\e901";
}
.termoico-home:before {
  content: "\e903";
}
.termoico-manual_fix:before {
  content: "\e904";
  color: #fff;
}
.termoico-manual_time:before {
  content: "\e905";
  color: #fff;
}
.termoico-off:before {
  content: "\e906";
  color: #fff;
}
.termoico-scenario_earlybird:before {
  content: "\e907";
  color: #fff;
}
.termoico-scenario_goodnight:before {
  content: "\e908";
  color: #fff;
}
.termoico-scenario_party:before {
  content: "\e909";
  color: #fff;
}
.termoico-setpoint_comfort:before {
  content: "\e90a";
  color: #f08372;
}
.termoico-setpoint_eco:before {
  content: "\e90b";
  color: #c4b83b;
}
.termoico-setpoint_night:before {
  content: "\e90c";
  color: #68a3bf;
}
.termoico-power:before {
  content: "\e954";
}
.termoico-Air_Int1:before {
  content: "\e91e";
}
.termoico-Air_renewal1:before {
  content: "\e91f";
  color: #fff;
}
.termoico-Air_triangle1:before {
  content: "\e920";
}
.termoico-Fan1:before {
  content: "\e921";
  color: #fff;
}
.termoico-Fan_black1:before {
  content: "\e922";
}
.termoico-FanDisabled1:before {
  content: "\e923";
  color: #fff;
}
.termoico-FanDisabled_black1 .path1:before {
  content: "\e924";
  color: black;
}
.termoico-FanDisabled_black1 .path2:before {
  content: "\e925";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path3:before {
  content: "\e926";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path4:before {
  content: "\e927";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path5:before {
  content: "\e928";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path6:before {
  content: "\e929";
  margin-left: -1.322265625em;
  color: white;
}
.termoico-FanOff1:before {
  content: "\e92a";
  color: #626568;
}
.termoico-FanOn1:before {
  content: "\e92b";
  color: #539ebd;
}
.termoico-Air_Dehu1:before {
  content: "\e92c";
  color: #fff;
}
.termoico-Air_exclamation1:before {
  content: "\e92d";
  color: #fff;
}
.termoico-Air_fan1:before {
  content: "\e92e";
  color: #fff;
}
.termoico-Air_Free1:before {
  content: "\e92f";
  color: #fff;
}
.termoico-sun:before {
  content: "\e917";
}
.termoico-cloudy:before {
  content: "\e918";
}
.termoico-rainy:before {
  content: "\e919";
}
.termoico-snowy:before {
  content: "\e91a";
}
.termoico-cloudy2:before {
  content: "\e91b";
}
/** FONT SIZE */
.termoico-down,
.termoico-notification_empty,
.termoico-up {
  font-size: 110% !important;
}
.menu-list .termoico {
  font-size: 25px !important;
}
/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.6.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
.animated {
  animation-duration: 0.3s;
  animation-fill-mode: both;
}
.animated.infinite {
  animation-iteration-count: infinite;
}
@keyframes bounce {
  0%, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateZ(0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}
@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}
@keyframes pulse {
  0% {
    transform: scaleX(1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scaleX(1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes rubberBand {
  0% {
    transform: scaleX(1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scaleX(1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}
@keyframes shake {
  0%, to {
    transform: translateZ(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}
@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  to {
    transform: rotate(0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  0% {
    transform: scaleX(1);
  }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
  }
  to {
    transform: scaleX(1);
  }
}
.tada {
  animation-name: tada;
}
@keyframes wobble {
  0% {
    transform: translateZ(0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate(-5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate(3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate(-3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate(2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate(-1deg);
  }
  to {
    transform: translateZ(0);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes jello {
  0%, 11.1%, to {
    transform: translateZ(0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
.bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-duration: 0.75s;
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(-1turn);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(-190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(-170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotateX(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateX(-5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotateY(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateY(-5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotateX(-20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-duration: 0.75s;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotateY(-15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  0% {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    transform: translateZ(0);
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  0% {
    transform-origin: center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  0% {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-duration: 2s;
  animation-name: hinge;
}
@keyframes jackInTheBox {
  0% {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.jackInTheBox {
  animation-name: jackInTheBox;
}
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate(-120deg);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.rollIn {
  animation-name: rollIn;
}
@keyframes rollOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate(120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
@keyframes zoomInDown {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}
@keyframes zoomInRight {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}
@keyframes zoomInUp {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}
@keyframes zoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}
@keyframes slideInDown {
  0% {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}
@keyframes slideOutDown {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutLeft {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[5].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].rules[1].use[1]!./src/global.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*
 * App Global CSS
 * ----------------------------------------------------------------------------
 * Put style rules here that you want to apply globally. These styles are for
 * the entire app and not just one component. Additionally, this file can be
 * used as an entry point to import other CSS/Sass files to be included in the
 * output CSS.
 * For more information on global stylesheets, visit the documentation:
 * https://ionicframework.com/docs/layout/global-stylesheets
 */
/* Core CSS required for Ionic components to work properly */
html.ios {
  --ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif;
}
html.md {
  --ion-default-font: "Roboto", "Helvetica Neue", sans-serif;
}
html {
  --ion-font-family: var(--ion-default-font);
}
body {
  background: var(--ion-background-color);
}
body.backdrop-no-scroll {
  overflow: hidden;
}
/**
 * Card style modal needs additional padding on the
 * top of the header. We accomplish this by targeting
 * the first toolbar in the header.
 * Footer also needs this. We do not adjust the bottom
 * padding though because of the safe area.
 */
html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,
html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,
html.ios ion-modal ion-footer ion-toolbar:first-of-type {
  padding-top: 6px;
}
/**
* Card style modal needs additional padding on the
* bottom of the header. We accomplish this by targeting
* the last toolbar in the header.
*/
html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,
html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {
  padding-bottom: 6px;
}
/**
* Add padding on the left and right
* of toolbars while accounting for
* safe area values when in landscape.
*/
html.ios ion-modal ion-toolbar {
  padding-right: calc(var(--ion-safe-area-right) + 8px);
  padding-left: calc(var(--ion-safe-area-left) + 8px);
}
/**
 * Card style modal on iPadOS
 * should only have backdrop on first instance.
 */
@media screen and (min-width: 768px) {
  html.ios ion-modal.modal-card:first-of-type {
    --backdrop-opacity: 0.18;
  }
}
/**
 * Subsequent modals should not have a backdrop/box shadow
 * as it will cause the screen to appear to get progressively
 * darker. With Ionic 6, declarative modals made it
 * possible to have multiple non-presented modals in the DOM,
 * so we could no longer rely on ion-modal:first-of-type.
 * Here we disable the opacity/box-shadow for every modal
 * that comes after the first presented modal.
 *
 * Note: ion-modal:not(.overlay-hidden):first-of-type
 * does not match the first modal to not have
 * the .overlay-hidden class, it will match the
 * first modal in general only if it does not
 * have the .overlay-hidden class.
 * The :nth-child() pseudo-class has support
 * for selectors which would help us here. At the
 * time of writing it does not have great cross browser
 * support.
 *
 * Note 2: This should only apply to non-card and
 * non-sheet modals. Card and sheet modals have their
 * own criteria for displaying backdrops/box shadows.
 */
ion-modal.modal-default:not(.overlay-hidden) ~ ion-modal.modal-default {
  --backdrop-opacity: 0;
  --box-shadow: none;
}
/**
 * This works around a bug in WebKit where the
 * content will overflow outside of the bottom border
 * radius when re-painting. As long as a single
 * border radius value is set on .ion-page, this
 * issue does not happen. We set the top left radius
 * here because the top left corner will always have a
 * radius no matter the platform.
 * This behavior only applies to card modals.
 */
html.ios ion-modal.modal-card .ion-page {
  border-top-left-radius: var(--border-radius);
}
.ion-color-primary {
  --ion-color-base: var(--ion-color-primary, #3880ff) !important;
  --ion-color-base-rgb: var(--ion-color-primary-rgb, 56, 128, 255) !important;
  --ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-primary-shade, #3171e0) !important;
  --ion-color-tint: var(--ion-color-primary-tint, #4c8dff) !important;
}
.ion-color-secondary {
  --ion-color-base: var(--ion-color-secondary, #3dc2ff) !important;
  --ion-color-base-rgb: var(--ion-color-secondary-rgb, 61, 194, 255) !important;
  --ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-secondary-shade, #36abe0) !important;
  --ion-color-tint: var(--ion-color-secondary-tint, #50c8ff) !important;
}
.ion-color-tertiary {
  --ion-color-base: var(--ion-color-tertiary, #5260ff) !important;
  --ion-color-base-rgb: var(--ion-color-tertiary-rgb, 82, 96, 255) !important;
  --ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-tertiary-shade, #4854e0) !important;
  --ion-color-tint: var(--ion-color-tertiary-tint, #6370ff) !important;
}
.ion-color-success {
  --ion-color-base: var(--ion-color-success, #2dd36f) !important;
  --ion-color-base-rgb: var(--ion-color-success-rgb, 45, 211, 111) !important;
  --ion-color-contrast: var(--ion-color-success-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-success-shade, #28ba62) !important;
  --ion-color-tint: var(--ion-color-success-tint, #42d77d) !important;
}
.ion-color-warning {
  --ion-color-base: var(--ion-color-warning, #ffc409) !important;
  --ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;
  --ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;
  --ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important;
}
.ion-color-danger {
  --ion-color-base: var(--ion-color-danger, #eb445a) !important;
  --ion-color-base-rgb: var(--ion-color-danger-rgb, 235, 68, 90) !important;
  --ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-danger-shade, #cf3c4f) !important;
  --ion-color-tint: var(--ion-color-danger-tint, #ed576b) !important;
}
.ion-color-light {
  --ion-color-base: var(--ion-color-light, #f4f5f8) !important;
  --ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;
  --ion-color-contrast: var(--ion-color-light-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;
  --ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important;
}
.ion-color-medium {
  --ion-color-base: var(--ion-color-medium, #92949c) !important;
  --ion-color-base-rgb: var(--ion-color-medium-rgb, 146, 148, 156) !important;
  --ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-medium-shade, #808289) !important;
  --ion-color-tint: var(--ion-color-medium-tint, #9d9fa6) !important;
}
.ion-color-dark {
  --ion-color-base: var(--ion-color-dark, #222428) !important;
  --ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;
  --ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;
  --ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important;
}
.ion-page {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  position: absolute;
  flex-direction: column;
  justify-content: space-between;
  contain: layout size style;
  overflow: hidden;
  z-index: 0;
}
/**
 * When making custom dialogs, using
 * ion-content is not required. As a result,
 * some developers may wish to have dialogs
 * that are automatically sized by the browser.
 * These changes allow certain dimension values
 * such as fit-content to work correctly.
 */
ion-modal .ion-page:not(ion-nav .ion-page) {
  position: relative;
  contain: layout style;
  height: 100%;
}
.split-pane-visible > .ion-page.split-pane-main {
  position: relative;
}
ion-route,
ion-route-redirect,
ion-router,
ion-select-option,
ion-nav-controller,
ion-menu-controller,
ion-action-sheet-controller,
ion-alert-controller,
ion-loading-controller,
ion-modal-controller,
ion-picker-controller,
ion-popover-controller,
ion-toast-controller,
.ion-page-hidden,
[hidden] {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}
.ion-page-invisible {
  opacity: 0;
}
.can-go-back > ion-header ion-back-button {
  display: block;
}
html.plt-ios.plt-hybrid, html.plt-ios.plt-pwa {
  --ion-statusbar-padding: 20px;
}
@supports (padding-top: 20px) {
  html {
    --ion-safe-area-top: var(--ion-statusbar-padding);
  }
}
@supports (padding-top: constant(safe-area-inset-top)) {
  html {
    --ion-safe-area-top: constant(safe-area-inset-top);
    --ion-safe-area-bottom: constant(safe-area-inset-bottom);
    --ion-safe-area-left: constant(safe-area-inset-left);
    --ion-safe-area-right: constant(safe-area-inset-right);
  }
}
@supports (padding-top: env(safe-area-inset-top)) {
  html {
    --ion-safe-area-top: env(safe-area-inset-top);
    --ion-safe-area-bottom: env(safe-area-inset-bottom);
    --ion-safe-area-left: env(safe-area-inset-left);
    --ion-safe-area-right: env(safe-area-inset-right);
  }
}
ion-card.ion-color .ion-inherit-color,
ion-card-header.ion-color .ion-inherit-color {
  color: inherit;
}
.menu-content {
  transform: translate3d(0,  0,  0);
}
.menu-content-open {
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: none;
}
.ios .menu-content-reveal {
  box-shadow: -8px 0 42px rgba(0, 0, 0, 0.08);
}
[dir=rtl].ios .menu-content-reveal {
  box-shadow: 8px 0 42px rgba(0, 0, 0, 0.08);
}
.md .menu-content-reveal {
  box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);
}
.md .menu-content-push {
  box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);
}
ion-accordion-group.accordion-group-expand-inset > ion-accordion:first-of-type {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
ion-accordion-group.accordion-group-expand-inset > ion-accordion:last-of-type {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
ion-accordion-group > ion-accordion:last-of-type ion-item[slot=header] {
  --border-width: 0px;
}
ion-accordion.accordion-animated > [slot=header] .ion-accordion-toggle-icon {
  transition: 300ms transform cubic-bezier(0.25, 0.8, 0.5, 1);
}
@media (prefers-reduced-motion: reduce) {
  ion-accordion .ion-accordion-toggle-icon {
    /* stylelint-disable declaration-no-important */
    transition: none !important;
  }
}
/**
 * The > [slot="header"] selector ensures that we do
 * not modify toggle icons for any nested accordions. The state
 * of one accordion should not affect any accordions inside
 * of a nested accordion group.
 */
ion-accordion.accordion-expanding > [slot=header] .ion-accordion-toggle-icon,
ion-accordion.accordion-expanded > [slot=header] .ion-accordion-toggle-icon {
  transform: rotate(180deg);
}
ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-previous ion-item[slot=header] {
  --border-width: 0px;
  --inner-border-width: 0px;
}
ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanding:first-of-type,
ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanded:first-of-type {
  margin-top: 0;
}
ion-input input::-webkit-date-and-time-value {
  text-align: start;
}
/**
 * The .ion-datetime-button-overlay class contains
 * styles that allow any modal/popover to be
 * sized according to the dimensions of the datetime
 * when used with ion-datetime-button.
 */
.ion-datetime-button-overlay {
  --width: fit-content;
  --height: fit-content;
}
/**
 * The grid variant can scale down when inline.
 * When used in a `fit-content` overlay, this causes
 * the overlay to shrink when the month/year picker is open.
 * Explicitly setting the dimensions lets us have a consistently
 * sized grid interface.
 */
.ion-datetime-button-overlay ion-datetime.datetime-grid {
  width: 320px;
  min-height: 320px;
}
/* Basic CSS for apps built with Ionic */
audio,
canvas,
progress,
video {
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
b,
strong {
  font-weight: bold;
}
img {
  max-width: 100%;
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  height: 1px;
  border-width: 0;
  box-sizing: content-box;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
label,
input,
select,
textarea {
  font-family: inherit;
  line-height: normal;
}
textarea {
  overflow: auto;
  height: auto;
  font: inherit;
  color: inherit;
}
textarea::placeholder {
  padding-left: 2px;
}
form,
input,
optgroup,
select {
  margin: 0;
  font: inherit;
  color: inherit;
}
html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}
a,
a div,
a span,
a ion-icon,
a ion-label,
button,
button div,
button span,
button ion-icon,
button ion-label,
.ion-tappable,
[tappable],
[tappable] div,
[tappable] span,
[tappable] ion-icon,
[tappable] ion-label,
input,
textarea {
  touch-action: manipulation;
}
a ion-label,
button ion-label {
  pointer-events: none;
}
button {
  border: 0;
  border-radius: 0;
  font-family: inherit;
  font-style: inherit;
  font-feature-settings: inherit;
  font-variant: inherit;
  line-height: 1;
  text-transform: none;
  cursor: pointer;
  -webkit-appearance: button;
}
[tappable] {
  cursor: pointer;
}
a[disabled],
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
input[type=checkbox],
input[type=radio] {
  padding: 0;
  box-sizing: border-box;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
html {
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
html:not(.hydrated) body {
  display: none;
}
html.ion-ce body {
  display: block;
}
html.plt-pwa {
  height: 100vh;
}
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  position: fixed;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  /**
   * Because body has position: fixed,
   * it should be promoted to its own
   * layer.
   *
   * WebKit does not always promote
   * the body to its own layer on page
   * load in Ionic apps. Once scrolling on
   * ion-content starts, WebKit will promote
   * body. Unfortunately, this causes a re-paint
   * which results in scrolling being halted
   * until the next user gesture.
   *
   * This impacts the Custom Elements build.
   * The lazy loaded build causes the browser to
   * re-paint during hydration which causes WebKit
   * to promote body to its own layer.
   * In the CE Build, this hydration does not
   * happen, so the additional re-paint does not occur.
   */
  transform: translateZ(0);
  text-rendering: optimizeLegibility;
  overflow: hidden;
  touch-action: manipulation;
  -webkit-user-drag: none;
  -ms-content-zooming: none;
  word-wrap: break-word;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: none;
          text-size-adjust: none;
}
html {
  font-family: var(--ion-font-family);
}
a {
  background-color: transparent;
  color: var(--ion-color-primary, #3880ff);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 16px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.2;
}
h1 {
  margin-top: 20px;
  font-size: 26px;
}
h2 {
  margin-top: 18px;
  font-size: 24px;
}
h3 {
  font-size: 22px;
}
h4 {
  font-size: 20px;
}
h5 {
  font-size: 18px;
}
h6 {
  font-size: 16px;
}
small {
  font-size: 75%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
.ion-hide {
  display: none !important;
}
.ion-hide-up {
  display: none !important;
}
.ion-hide-down {
  display: none !important;
}
@media (min-width: 576px) {
  .ion-hide-sm-up {
    display: none !important;
  }
}
@media (max-width: 575.98px) {
  .ion-hide-sm-down {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .ion-hide-md-up {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .ion-hide-md-down {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .ion-hide-lg-up {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .ion-hide-lg-down {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-hide-xl-up {
    display: none !important;
  }
}
@media (max-width: 1199.98px) {
  .ion-hide-xl-down {
    display: none !important;
  }
}
/* Optional CSS utils that can be commented out */
.ion-no-padding {
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.ion-padding {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-left: var(--ion-padding, 16px);
  padding-right: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-padding {
    padding-left: unset;
    padding-right: unset;
    padding-inline-start: var(--ion-padding, 16px);
    padding-inline-end: var(--ion-padding, 16px);
  }
}
.ion-padding-top {
  --padding-top: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
}
.ion-padding-start {
  --padding-start: var(--ion-padding, 16px);
  padding-left: var(--ion-padding, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-padding-start {
    padding-left: unset;
    padding-inline-start: var(--ion-padding, 16px);
  }
}
.ion-padding-end {
  --padding-end: var(--ion-padding, 16px);
  padding-right: var(--ion-padding, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-padding-end {
    padding-right: unset;
    padding-inline-end: var(--ion-padding, 16px);
  }
}
.ion-padding-bottom {
  --padding-bottom: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}
.ion-padding-vertical {
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}
.ion-padding-horizontal {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  padding-left: var(--ion-padding, 16px);
  padding-right: var(--ion-padding, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-padding-horizontal {
    padding-left: unset;
    padding-right: unset;
    padding-inline-start: var(--ion-padding, 16px);
    padding-inline-end: var(--ion-padding, 16px);
  }
}
.ion-no-margin {
  --margin-start: 0;
  --margin-end: 0;
  --margin-top: 0;
  --margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.ion-margin {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-left: var(--ion-margin, 16px);
  margin-right: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-margin {
    margin-left: unset;
    margin-right: unset;
    margin-inline-start: var(--ion-margin, 16px);
    margin-inline-end: var(--ion-margin, 16px);
  }
}
.ion-margin-top {
  --margin-top: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
}
.ion-margin-start {
  --margin-start: var(--ion-margin, 16px);
  margin-left: var(--ion-margin, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-margin-start {
    margin-left: unset;
    margin-inline-start: var(--ion-margin, 16px);
  }
}
.ion-margin-end {
  --margin-end: var(--ion-margin, 16px);
  margin-right: var(--ion-margin, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-margin-end {
    margin-right: unset;
    margin-inline-end: var(--ion-margin, 16px);
  }
}
.ion-margin-bottom {
  --margin-bottom: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}
.ion-margin-vertical {
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}
.ion-margin-horizontal {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  margin-left: var(--ion-margin, 16px);
  margin-right: var(--ion-margin, 16px);
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  .ion-margin-horizontal {
    margin-left: unset;
    margin-right: unset;
    margin-inline-start: var(--ion-margin, 16px);
    margin-inline-end: var(--ion-margin, 16px);
  }
}
.ion-float-left {
  float: left !important;
}
.ion-float-right {
  float: right !important;
}
.ion-float-start {
  float: left !important;
}
[dir=rtl] .ion-float-start, :host-context([dir=rtl]) .ion-float-start {
  float: right !important;
}
.ion-float-end {
  float: right !important;
}
[dir=rtl] .ion-float-end, :host-context([dir=rtl]) .ion-float-end {
  float: left !important;
}
@media (min-width: 576px) {
  .ion-float-sm-left {
    float: left !important;
  }

  .ion-float-sm-right {
    float: right !important;
  }

  .ion-float-sm-start {
    float: left !important;
  }
  [dir=rtl] .ion-float-sm-start, :host-context([dir=rtl]) .ion-float-sm-start {
    float: right !important;
  }

  .ion-float-sm-end {
    float: right !important;
  }
  [dir=rtl] .ion-float-sm-end, :host-context([dir=rtl]) .ion-float-sm-end {
    float: left !important;
  }
}
@media (min-width: 768px) {
  .ion-float-md-left {
    float: left !important;
  }

  .ion-float-md-right {
    float: right !important;
  }

  .ion-float-md-start {
    float: left !important;
  }
  [dir=rtl] .ion-float-md-start, :host-context([dir=rtl]) .ion-float-md-start {
    float: right !important;
  }

  .ion-float-md-end {
    float: right !important;
  }
  [dir=rtl] .ion-float-md-end, :host-context([dir=rtl]) .ion-float-md-end {
    float: left !important;
  }
}
@media (min-width: 992px) {
  .ion-float-lg-left {
    float: left !important;
  }

  .ion-float-lg-right {
    float: right !important;
  }

  .ion-float-lg-start {
    float: left !important;
  }
  [dir=rtl] .ion-float-lg-start, :host-context([dir=rtl]) .ion-float-lg-start {
    float: right !important;
  }

  .ion-float-lg-end {
    float: right !important;
  }
  [dir=rtl] .ion-float-lg-end, :host-context([dir=rtl]) .ion-float-lg-end {
    float: left !important;
  }
}
@media (min-width: 1200px) {
  .ion-float-xl-left {
    float: left !important;
  }

  .ion-float-xl-right {
    float: right !important;
  }

  .ion-float-xl-start {
    float: left !important;
  }
  [dir=rtl] .ion-float-xl-start, :host-context([dir=rtl]) .ion-float-xl-start {
    float: right !important;
  }

  .ion-float-xl-end {
    float: right !important;
  }
  [dir=rtl] .ion-float-xl-end, :host-context([dir=rtl]) .ion-float-xl-end {
    float: left !important;
  }
}
.ion-text-center {
  text-align: center !important;
}
.ion-text-justify {
  text-align: justify !important;
}
.ion-text-start {
  text-align: start !important;
}
.ion-text-end {
  text-align: end !important;
}
.ion-text-left {
  text-align: left !important;
}
.ion-text-right {
  text-align: right !important;
}
.ion-text-nowrap {
  white-space: nowrap !important;
}
.ion-text-wrap {
  white-space: normal !important;
}
@media (min-width: 576px) {
  .ion-text-sm-center {
    text-align: center !important;
  }

  .ion-text-sm-justify {
    text-align: justify !important;
  }

  .ion-text-sm-start {
    text-align: start !important;
  }

  .ion-text-sm-end {
    text-align: end !important;
  }

  .ion-text-sm-left {
    text-align: left !important;
  }

  .ion-text-sm-right {
    text-align: right !important;
  }

  .ion-text-sm-nowrap {
    white-space: nowrap !important;
  }

  .ion-text-sm-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 768px) {
  .ion-text-md-center {
    text-align: center !important;
  }

  .ion-text-md-justify {
    text-align: justify !important;
  }

  .ion-text-md-start {
    text-align: start !important;
  }

  .ion-text-md-end {
    text-align: end !important;
  }

  .ion-text-md-left {
    text-align: left !important;
  }

  .ion-text-md-right {
    text-align: right !important;
  }

  .ion-text-md-nowrap {
    white-space: nowrap !important;
  }

  .ion-text-md-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 992px) {
  .ion-text-lg-center {
    text-align: center !important;
  }

  .ion-text-lg-justify {
    text-align: justify !important;
  }

  .ion-text-lg-start {
    text-align: start !important;
  }

  .ion-text-lg-end {
    text-align: end !important;
  }

  .ion-text-lg-left {
    text-align: left !important;
  }

  .ion-text-lg-right {
    text-align: right !important;
  }

  .ion-text-lg-nowrap {
    white-space: nowrap !important;
  }

  .ion-text-lg-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 1200px) {
  .ion-text-xl-center {
    text-align: center !important;
  }

  .ion-text-xl-justify {
    text-align: justify !important;
  }

  .ion-text-xl-start {
    text-align: start !important;
  }

  .ion-text-xl-end {
    text-align: end !important;
  }

  .ion-text-xl-left {
    text-align: left !important;
  }

  .ion-text-xl-right {
    text-align: right !important;
  }

  .ion-text-xl-nowrap {
    white-space: nowrap !important;
  }

  .ion-text-xl-wrap {
    white-space: normal !important;
  }
}
.ion-text-uppercase {
  /* stylelint-disable-next-line declaration-no-important */
  text-transform: uppercase !important;
}
.ion-text-lowercase {
  /* stylelint-disable-next-line declaration-no-important */
  text-transform: lowercase !important;
}
.ion-text-capitalize {
  /* stylelint-disable-next-line declaration-no-important */
  text-transform: capitalize !important;
}
@media (min-width: 576px) {
  .ion-text-sm-uppercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-sm-lowercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-sm-capitalize {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}
@media (min-width: 768px) {
  .ion-text-md-uppercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-md-lowercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-md-capitalize {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}
@media (min-width: 992px) {
  .ion-text-lg-uppercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-lg-lowercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-lg-capitalize {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}
@media (min-width: 1200px) {
  .ion-text-xl-uppercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-xl-lowercase {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-xl-capitalize {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}
.ion-align-self-start {
  align-self: flex-start !important;
}
.ion-align-self-end {
  align-self: flex-end !important;
}
.ion-align-self-center {
  align-self: center !important;
}
.ion-align-self-stretch {
  align-self: stretch !important;
}
.ion-align-self-baseline {
  align-self: baseline !important;
}
.ion-align-self-auto {
  align-self: auto !important;
}
.ion-wrap {
  flex-wrap: wrap !important;
}
.ion-nowrap {
  flex-wrap: nowrap !important;
}
.ion-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.ion-justify-content-start {
  justify-content: flex-start !important;
}
.ion-justify-content-center {
  justify-content: center !important;
}
.ion-justify-content-end {
  justify-content: flex-end !important;
}
.ion-justify-content-around {
  justify-content: space-around !important;
}
.ion-justify-content-between {
  justify-content: space-between !important;
}
.ion-justify-content-evenly {
  justify-content: space-evenly !important;
}
.ion-align-items-start {
  align-items: flex-start !important;
}
.ion-align-items-center {
  align-items: center !important;
}
.ion-align-items-end {
  align-items: flex-end !important;
}
.ion-align-items-stretch {
  align-items: stretch !important;
}
.ion-align-items-baseline {
  align-items: baseline !important;
}
/**
 * Raccolta di funzionalità
 */
/** COLORS START */
.text-primary {
  color: var(--app-color-default);
}
.bg-primary {
  background: var(--app-color-default);
}
.border-primary {
  border-color: var(--app-color-default);
}
a.primary,
.btn.primary {
  background: var(--app-color-default);
  color: #ffffff;
}
.text-secondary {
  color: #FBEE34;
}
.bg-secondary {
  background: #FBEE34;
}
.border-secondary {
  border-color: #FBEE34;
}
a.secondary,
.btn.secondary {
  background: #FBEE34;
  color: #05103C;
}
.text-tertiary {
  color: #d4dd5f;
}
.bg-tertiary {
  background: #d4dd5f;
}
.border-tertiary {
  border-color: #d4dd5f;
}
a.tertiary,
.btn.tertiary {
  background: #d4dd5f;
  color: #05103C;
}
.text-disabled {
  opacity: 0.3;
}
.text-warning {
  color: #ffc409;
}
.bg-warning {
  background: #ffc409;
}
.border-warning {
  border-color: #ffc409;
}
a.warning,
.btn.warning {
  background: #ffc409;
  color: #05103C;
}
.text-danger {
  color: #eb445a;
}
.bg-danger {
  background: #eb445a;
}
.border-danger {
  border-color: #eb445a;
}
a.danger,
.btn.danger {
  background: #eb445a;
  color: #ffffff;
}
.text-success {
  color: #206812;
}
.bg-success {
  background: #206812;
}
.border-success {
  border-color: #206812;
}
a.success,
.btn.success {
  background: #206812;
  color: #ffffff;
}
.text-dark {
  color: #05103C;
}
.bg-dark {
  background: #05103C;
}
.border-dark {
  border-color: #05103C;
}
a.dark,
.btn.dark {
  background: #05103C;
  color: #ffffff;
}
.text-medium {
  color: #92949c;
}
.bg-medium {
  background: #92949c;
}
.border-medium {
  border-color: #92949c;
}
a.medium,
.btn.medium {
  background: #92949c;
  color: #ffffff;
}
.text-light {
  color: #f4f5f8;
}
.bg-light {
  background: #f4f5f8;
}
.border-light {
  border-color: #f4f5f8;
}
a.light,
.btn.light {
  background: #f4f5f8;
  color: #05103C;
}
.text-white {
  color: #fff;
}
.bg-white {
  background: #fff;
}
.border-white {
  border-color: #fff;
}
a.white,
.btn.white {
  background: #fff;
  color: #111;
}
.text-shadow {
  text-shadow: 0 0 3px #05103C;
}
/** COLORS END */
/* TYPOGRAPHY START */
h1,
.h1 {
  font-size: 21.6px;
  margin-top: 0;
}
h2,
.h2 {
  font-size: 19.2px;
}
h3,
.h3 {
  font-size: 16.8px;
}
h4,
.h4,
p,
.p {
  font-size: 14.4px;
}
h5,
.h5,
h6,
.h6,
ion-button {
  font-size: 12px;
}
.big-font {
  font-size: 48px;
}
.maxi-font {
  font-size: 84px;
}
.cursor {
  cursor: pointer;
}
.underline {
  text-decoration: underline;
}
/* TYPOGRAPHY END */
body,
html {
  color: #05103C;
}
::-webkit-scrollbar {
  --overflow: hidden;
  overflow: auto;
}
::-webkit-scrollbar::-webkit-scrollbar {
  display: none !important;
}
ion-datetime {
  border-radius: 15px;
}
.back-button {
  position: absolute;
}
hr {
  height: 2px;
  background: black;
  width: 100%;
  display: block;
  margin: 20px 0;
  opacity: 0.1;
}
.w-100 {
  width: 100%;
}
ion-modal {
  --width: 290px;
  --height: 382px;
  --border-radius: 8px;
}
ion-modal ion-datetime {
  height: 382px;
}
ion-select {
  min-width: calc(100% - 100px);
}
ion-segment-button {
  height: 30px;
  min-height: 30px;
}
ion-slides {
  min-height: 100%;
}
.logo {
  max-width: 200px;
  max-height: 20%;
}
.logo-extended {
  max-width: 80%;
  max-height: 30%;
}
.centered-content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  padding: 0 10px;
  max-width: 600px;
  margin: 0 auto;
}
.centered-content.small {
  padding: 50px;
}
.centered-content.big {
  padding: 20px;
}
.top-aligned-content {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  padding: 5px 30px;
  max-width: 600px;
  margin: 0 auto;
}
.top-aligned-content.small {
  padding: 50px;
}
.top-aligned-content.big {
  padding: 20px;
}
ion-button {
  text-transform: uppercase;
  font-weight: bold;
  min-height: 50px;
  display: flex;
  justify-content: center;
  padding: 10px 0;
}
ion-button.small {
  min-height: 30px;
  display: inline-block;
  font-weight: normal;
}
small {
  font-size: 80%;
}
ion-toolbar > ion-buttons {
  padding: 10px 15px;
}
.animate {
  transition: all 0.2s;
}
.hide {
  z-index: -1;
  opacity: 0;
}
.opacity-0 {
  opacity: 0;
}
.fadeIn {
  animation: fadeIn 0.3s forwards;
  opacity: 0;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.bg-primary {
  background-color: var(--app-color-default);
}
.rounded {
  border-radius: 15px;
}
.p-1 {
  padding: 10px;
}
.position-relative {
  position: relative;
}
p {
  font-size: 100%;
}
.no-results {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.no-results ion-icon {
  margin-bottom: 20px;
}
.animation-container ng-lottie {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.animation-container ng-lottie#countdown {
  left: 0;
  bottom: 0;
  height: 30%;
  width: 100%;
  top: initial;
}
.container-width-by-vh-10 {
  max-width: 10vh !important;
  min-width: 10vh !important;
  width: 10vh !important;
}
.container-width-by-vh-20 {
  max-width: 20vh !important;
  min-width: 20vh !important;
  width: 20vh !important;
}
.container-width-by-vh-30 {
  max-width: 30vh !important;
  min-width: 30vh !important;
  width: 30vh !important;
}
.container-width-by-vh-40 {
  max-width: 40vh !important;
  min-width: 40vh !important;
  width: 40vh !important;
}
.container-width-by-vh-50 {
  max-width: 50vh !important;
  min-width: 50vh !important;
  width: 50vh !important;
}
.container-width-by-vh-60 {
  max-width: 60vh !important;
  min-width: 60vh !important;
  width: 60vh !important;
}
.container-width-by-vh-70 {
  max-width: 70vh !important;
  min-width: 70vh !important;
  width: 70vh !important;
}
.container-width-by-vh-80 {
  max-width: 80vh !important;
  min-width: 80vh !important;
  width: 80vh !important;
}
.container-width-by-vh-90 {
  max-width: 90vh !important;
  min-width: 90vh !important;
  width: 90vh !important;
}
.container-width-by-vh-100 {
  max-width: 100vh !important;
  min-width: 100vh !important;
  width: 100vh !important;
}
.container-height-by-vh-10 {
  max-height: 10vh !important;
  min-height: 10vh !important;
  height: 10vh !important;
}
.container-height-by-vh-20 {
  max-height: 20vh !important;
  min-height: 20vh !important;
  height: 20vh !important;
}
.container-height-by-vh-30 {
  max-height: 30vh !important;
  min-height: 30vh !important;
  height: 30vh !important;
}
.container-height-by-vh-40 {
  max-height: 40vh !important;
  min-height: 40vh !important;
  height: 40vh !important;
}
.container-height-by-vh-50 {
  max-height: 50vh !important;
  min-height: 50vh !important;
  height: 50vh !important;
}
.container-height-by-vh-60 {
  max-height: 60vh !important;
  min-height: 60vh !important;
  height: 60vh !important;
}
.container-height-by-vh-70 {
  max-height: 70vh !important;
  min-height: 70vh !important;
  height: 70vh !important;
}
.container-height-by-vh-80 {
  max-height: 80vh !important;
  min-height: 80vh !important;
  height: 80vh !important;
}
.container-height-by-vh-90 {
  max-height: 90vh !important;
  min-height: 90vh !important;
  height: 90vh !important;
}
.container-height-by-vh-100 {
  max-height: 100vh !important;
  min-height: 100vh !important;
  height: 100vh !important;
}
.container-width-by-vh-10 {
  max-width: 10vh !important;
  min-width: 10vh !important;
  width: 10vh !important;
}
.container-width-by-vh-20 {
  max-width: 20vh !important;
  min-width: 20vh !important;
  width: 20vh !important;
}
.container-width-by-vh-30 {
  max-width: 30vh !important;
  min-width: 30vh !important;
  width: 30vh !important;
}
.container-width-by-vh-40 {
  max-width: 40vh !important;
  min-width: 40vh !important;
  width: 40vh !important;
}
.container-width-by-vh-50 {
  max-width: 50vh !important;
  min-width: 50vh !important;
  width: 50vh !important;
}
.container-width-by-vh-60 {
  max-width: 60vh !important;
  min-width: 60vh !important;
  width: 60vh !important;
}
.container-width-by-vh-70 {
  max-width: 70vh !important;
  min-width: 70vh !important;
  width: 70vh !important;
}
.container-width-by-vh-80 {
  max-width: 80vh !important;
  min-width: 80vh !important;
  width: 80vh !important;
}
.container-width-by-vh-90 {
  max-width: 90vh !important;
  min-width: 90vh !important;
  width: 90vh !important;
}
.container-width-by-vh-100 {
  max-width: 100vh !important;
  min-width: 100vh !important;
  width: 100vh !important;
}
.container-height-by-vw-10 {
  max-height: 10vw !important;
  min-height: 10vw !important;
  height: 10vw !important;
}
.container-height-by-vw-20 {
  max-height: 20vw !important;
  min-height: 20vw !important;
  height: 20vw !important;
}
.container-height-by-vw-30 {
  max-height: 30vw !important;
  min-height: 30vw !important;
  height: 30vw !important;
}
.container-height-by-vw-40 {
  max-height: 40vw !important;
  min-height: 40vw !important;
  height: 40vw !important;
}
.container-height-by-vw-50 {
  max-height: 50vw !important;
  min-height: 50vw !important;
  height: 50vw !important;
}
.container-height-by-vw-60 {
  max-height: 60vw !important;
  min-height: 60vw !important;
  height: 60vw !important;
}
.container-height-by-vw-70 {
  max-height: 70vw !important;
  min-height: 70vw !important;
  height: 70vw !important;
}
.container-height-by-vw-80 {
  max-height: 80vw !important;
  min-height: 80vw !important;
  height: 80vw !important;
}
.container-height-by-vw-90 {
  max-height: 90vw !important;
  min-height: 90vw !important;
  height: 90vw !important;
}
.container-height-by-vw-100 {
  max-height: 100vw !important;
  min-height: 100vw !important;
  height: 100vw !important;
}
.white-bg {
  background-color: white !important;
}
@font-face {
  font-family: "customicons";
  src: url("/assets/fonts/customicons.eot?48cz3t");
  src: url("/assets/fonts/customicons.eot?48cz3t#iefix") format("embedded-opentype"), url("/assets/fonts/customicons.ttf?48cz3t") format("truetype"), url("/assets/fonts/customicons.woff?48cz3t") format("woff"), url("/assets/fonts/customicons.svg?48cz3t#customicons") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=customicon-], [class*=" customicon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "customicons" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.customicon-qrcode:before {
  content: "\e938";
}
.customicon-coin-euro:before {
  content: "\e93c";
}
.customicon-equalizer2:before {
  content: "\e993";
}
@font-face {
  font-family: "Hero";
  src: url("/assets/fonts/HeroLight-Regular.otf") format("truetype");
}
@font-face {
  font-family: "Hero Bold";
  src: url("/assets/fonts/HeroLight-Bold.otf") format("truetype");
}
@font-face {
  font-family: "Hero Light";
  src: url("/assets/fonts/HeroLight-Light.otf") format("truetype");
}
@font-face {
  font-family: "Syne Bold";
  src: url("/assets/fonts/Syne-Bold/Syne-Bold.eot");
  src: local("☺"), url("/assets/fonts/Syne-Bold/Syne-Bold.woff") format("woff"), url("/assets/fonts/Syne-Bold/Syne-Bold.ttf") format("truetype"), url("/assets/fonts/Syne-Bold/Syne-Bold.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Syne ExtraBold";
  src: url("/assets/fonts/Syne-ExtraBold/Syne-ExtraBold.eot");
  src: local("☺"), url("/assets/fonts/Syne-ExtraBold/Syne-ExtraBold.woff") format("woff"), url("/assets/fonts/Syne-ExtraBold/Syne-ExtraBold.ttf") format("truetype"), url("/assets/fonts/Syne-ExtraBold/Syne-ExtraBold.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Syne Medium";
  src: url("/assets/fonts/Syne-Medium/Syne-Medium.eot");
  src: local("☺"), url("/assets/fonts/Syne-Medium/Syne-Medium.woff") format("woff"), url("/assets/fonts/Syne-Medium/Syne-Medium.ttf") format("truetype"), url("/assets/fonts/Syne-Medium/Syne-Medium.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Syne Regular";
  src: url("/assets/fonts/Syne-Regular/Syne-Regular.eot");
  src: local("☺"), url("/assets/fonts/Syne-Regular/Syne-Regular.woff") format("woff"), url("/assets/fonts/Syne-Regular/Syne-Regular.ttf") format("truetype"), url("/assets/fonts/Syne-Regular/Syne-Regular.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Syne SemiBold";
  src: url("/assets/fonts/Syne-SemiBold/Syne-SemiBold.eot");
  src: local("☺"), url("/assets/fonts/Syne-SemiBold/Syne-SemiBold.woff") format("woff"), url("/assets/fonts/Syne-SemiBold/Syne-SemiBold.ttf") format("truetype"), url("/assets/fonts/Syne-SemiBold/Syne-SemiBold.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
body,
html {
  font-family: "Syne Regular";
}
b,
.b,
.bold,
strong,
form label {
  font-family: "Syne Bold";
}
.underlined {
  text-decoration: underline;
}
.white-text {
  color: white;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
/*!
 * Ladda
 * http://lab.hakim.se/ladda
 * MIT licensed
 *
 * Copyright (C) 2018 Hakim El Hattab, http://hakim.se
 */
/*************************************
 * CONFIG
 */
/*************************************
 * MIXINS
 */
/*************************************
 * Opacity animation for spin.js
 */
@keyframes ladda-spinner-line-fade {
  0%, 100% {
    opacity: 0.22;
    /* minimum opacity */
  }
  1% {
    opacity: 1;
  }
}
/*************************************
 * BUTTON BASE
 */
.ladda-button {
  position: relative;
}
/* Spinner animation */
.ladda-button .ladda-spinner {
  position: absolute;
  z-index: 2;
  display: inline-block;
  width: 32px;
  top: 50%;
  margin-top: 0;
  opacity: 0;
  pointer-events: none;
}
/* Button label */
.ladda-button .ladda-label {
  position: relative;
  z-index: 3;
}
/* Progress bar */
.ladda-button .ladda-progress {
  position: absolute;
  width: 0;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
  display: none;
  transition: 0.1s linear all;
}
.ladda-button[data-loading] .ladda-progress {
  display: block;
}
/*************************************
 * EASING
 */
.ladda-button,
.ladda-button .ladda-spinner,
.ladda-button .ladda-label {
  transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all;
}
.ladda-button[data-style=zoom-in],
.ladda-button[data-style=zoom-in] .ladda-spinner,
.ladda-button[data-style=zoom-in] .ladda-label,
.ladda-button[data-style=zoom-out],
.ladda-button[data-style=zoom-out] .ladda-spinner,
.ladda-button[data-style=zoom-out] .ladda-label {
  transition: 0.3s ease all;
}
/*************************************
 * EXPAND RIGHT
 */
.ladda-button[data-style=expand-right] .ladda-spinner {
  right: -6px;
}
.ladda-button[data-style=expand-right][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-right][data-size=xs] .ladda-spinner {
  right: -12px;
}
.ladda-button[data-style=expand-right][data-loading] {
  padding-right: 56px;
}
.ladda-button[data-style=expand-right][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-right][data-loading][data-size=s], .ladda-button[data-style=expand-right][data-loading][data-size=xs] {
  padding-right: 40px;
}
/*************************************
 * EXPAND LEFT
 */
.ladda-button[data-style=expand-left] .ladda-spinner {
  left: 26px;
}
.ladda-button[data-style=expand-left][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-left][data-size=xs] .ladda-spinner {
  left: 4px;
}
.ladda-button[data-style=expand-left][data-loading] {
  padding-left: 56px;
}
.ladda-button[data-style=expand-left][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-left][data-loading][data-size=s], .ladda-button[data-style=expand-left][data-loading][data-size=xs] {
  padding-left: 40px;
}
/*************************************
 * EXPAND UP
 */
.ladda-button[data-style=expand-up] {
  overflow: hidden;
}
.ladda-button[data-style=expand-up] .ladda-spinner {
  top: -32px;
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=expand-up][data-loading] {
  padding-top: 54px;
}
.ladda-button[data-style=expand-up][data-loading] .ladda-spinner {
  opacity: 1;
  top: 26px;
  margin-top: 0;
}
.ladda-button[data-style=expand-up][data-loading][data-size=s], .ladda-button[data-style=expand-up][data-loading][data-size=xs] {
  padding-top: 32px;
}
.ladda-button[data-style=expand-up][data-loading][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-up][data-loading][data-size=xs] .ladda-spinner {
  top: 4px;
}
/*************************************
 * EXPAND DOWN
 */
.ladda-button[data-style=expand-down] {
  overflow: hidden;
}
.ladda-button[data-style=expand-down] .ladda-spinner {
  top: 62px;
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=expand-down][data-size=s] .ladda-spinner, .ladda-button[data-style=expand-down][data-size=xs] .ladda-spinner {
  top: 40px;
}
.ladda-button[data-style=expand-down][data-loading] {
  padding-bottom: 54px;
}
.ladda-button[data-style=expand-down][data-loading] .ladda-spinner {
  opacity: 1;
}
.ladda-button[data-style=expand-down][data-loading][data-size=s], .ladda-button[data-style=expand-down][data-loading][data-size=xs] {
  padding-bottom: 32px;
}
/*************************************
 * SLIDE LEFT
 */
.ladda-button[data-style=slide-left] {
  overflow: hidden;
}
.ladda-button[data-style=slide-left] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-left] .ladda-spinner {
  left: 100%;
  margin-left: 0;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-label {
  opacity: 0;
  left: -100%;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-spinner {
  opacity: 1;
  left: 50%;
}
/*************************************
 * SLIDE RIGHT
 */
.ladda-button[data-style=slide-right] {
  overflow: hidden;
}
.ladda-button[data-style=slide-right] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-right] .ladda-spinner {
  right: 100%;
  margin-left: 0;
  left: 16px;
}
[dir=rtl] .ladda-button[data-style=slide-right] .ladda-spinner {
  right: auto;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-label {
  opacity: 0;
  left: 100%;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-spinner {
  opacity: 1;
  left: 50%;
}
/*************************************
 * SLIDE UP
 */
.ladda-button[data-style=slide-up] {
  overflow: hidden;
}
.ladda-button[data-style=slide-up] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-up] .ladda-spinner {
  left: 50%;
  margin-left: 0;
  margin-top: 1em;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-label {
  opacity: 0;
  top: -1em;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-spinner {
  opacity: 1;
  margin-top: 0;
}
/*************************************
 * SLIDE DOWN
 */
.ladda-button[data-style=slide-down] {
  overflow: hidden;
}
.ladda-button[data-style=slide-down] .ladda-label {
  position: relative;
}
.ladda-button[data-style=slide-down] .ladda-spinner {
  left: 50%;
  margin-left: 0;
  margin-top: -2em;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-label {
  opacity: 0;
  top: 1em;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-spinner {
  opacity: 1;
  margin-top: 0;
}
/*************************************
 * ZOOM-OUT
 */
.ladda-button[data-style=zoom-out] {
  overflow: hidden;
}
.ladda-button[data-style=zoom-out] .ladda-label {
  position: relative;
  display: inline-block;
}
.ladda-button[data-style=zoom-out] .ladda-spinner {
  left: 50%;
  margin-left: 32px;
  transform: scale(2.5);
}
.ladda-button[data-style=zoom-out][data-loading] .ladda-label {
  opacity: 0;
  transform: scale(0.5);
}
.ladda-button[data-style=zoom-out][data-loading] .ladda-spinner {
  opacity: 1;
  margin-left: 0;
  transform: none;
}
/*************************************
 * ZOOM-IN
 */
.ladda-button[data-style=zoom-in] {
  overflow: hidden;
}
.ladda-button[data-style=zoom-in] .ladda-label {
  position: relative;
  display: inline-block;
}
.ladda-button[data-style=zoom-in] .ladda-spinner {
  left: 50%;
  margin-left: -16px;
  transform: scale(0.2);
}
.ladda-button[data-style=zoom-in][data-loading] .ladda-label {
  opacity: 0;
  transform: scale(2.2);
}
.ladda-button[data-style=zoom-in][data-loading] .ladda-spinner {
  opacity: 1;
  margin-left: 0;
  transform: none;
}
/*************************************
 * CONTRACT
 */
.ladda-button[data-style=contract] {
  overflow: hidden;
  width: 100px;
}
.ladda-button[data-style=contract] .ladda-spinner {
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=contract][data-loading] {
  border-radius: 50%;
  width: 52px;
}
.ladda-button[data-style=contract][data-loading] .ladda-label {
  opacity: 0;
}
.ladda-button[data-style=contract][data-loading] .ladda-spinner {
  opacity: 1;
}
/*************************************
 * OVERLAY
 */
.ladda-button[data-style=contract-overlay] {
  overflow: hidden;
  width: 100px;
  box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);
}
.ladda-button[data-style=contract-overlay] .ladda-spinner {
  left: 50%;
  margin-left: 0;
}
.ladda-button[data-style=contract-overlay][data-loading] {
  border-radius: 50%;
  width: 52px;
  box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);
}
.ladda-button[data-style=contract-overlay][data-loading] .ladda-label {
  opacity: 0;
}
.ladda-button[data-style=contract-overlay][data-loading] .ladda-spinner {
  opacity: 1;
}
[dir=rtl] .ladda-spinner > div {
  left: 25% !important;
}
/** Ionic CSS Variables **/
:root {
  --ion-text-color: #050F3B;
  --app-color-default: #007aff;
  /** primary **/
  --ion-font-family: "Syne Regular";
  --ion-color-primary: var(--app-color-default);
  /** secondary **/
  --ion-color-secondary: #abb23f;
  /** tertiary **/
  --ion-color-tertiary: #d4dd5f;
  /** success **/
  --ion-color-success: #94bb22;
  /** warning **/
  --ion-color-warning: #ffc409;
  /** danger **/
  --ion-color-danger: #eb445a;
  /** dark **/
  --ion-color-dark: #222428;
  /** medium **/
  --ion-color-medium: #92949c;
  /** light **/
  --ion-color-light: #f4f5f8;
}
@font-face {
  font-family: "termoico";
  src: url('termoico.d338b434974bdf8c.eot?dc0pqi');
  src: url('termoico.d338b434974bdf8c.eot?dc0pqi#iefix') format("embedded-opentype"), url('termoico.40296605af110c88.ttf?dc0pqi') format("truetype"), url('termoico.3493cc11094cca3c.woff?dc0pqi') format("woff"), url('termoico.dce90dcfd229b60b.svg?dc0pqi#termoico') format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=termoico-], [class*=" termoico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "termoico" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.termoico-back:before {
  content: "\e958";
  font-size: 30%;
  color: #fff;
}
.termoico-check1:before {
  font-size: 30%;
  content: "\e959";
  color: #fff;
}
.termoico-Smart365:before {
  content: "\e955";
  color: #fff;
}
.termoico-off_gruppo:before {
  content: "\e956";
  color: #fff;
}
.termoico-off_stanza:before {
  content: "\e957";
}
.termoico-lingua:before {
  content: "\e945";
  color: #fff;
}
.termoico-psw:before {
  content: "\e946";
  color: #fff;
}
.termoico-support:before {
  content: "\e947";
  color: #fff;
}
.termoico-doc:before {
  content: "\e948";
  color: #fff;
}
.termoico-edit:before {
  content: "\e949";
  color: #fff;
}
.termoico-elimina:before {
  content: "\e94a";
  color: #fff;
}
.termoico-faq:before {
  content: "\e94b";
  color: #fff;
}
.termoico-Informazione:before {
  content: "\e94c";
  color: #fff;
}
.termoico-Installazione:before {
  content: "\e94d";
  color: #fff;
}
.termoico-Invita:before {
  content: "\e94e";
  color: #fff;
}
.termoico-Logout:before {
  content: "\e94f";
  color: #fff;
}
.termoico-Supporto:before {
  content: "\e950";
  color: #fff;
}
.termoico-Cloud:before {
  content: "\e951";
  color: #fff;
}
.termoico-Geofencing:before {
  content: "\e952";
  color: #fff;
}
.termoico-Guida:before {
  content: "\e953";
  color: #fff;
}
.termoico-down:before {
  content: "\e930";
  color: #fff;
}
.termoico-notification_empty:before {
  content: "\e931";
  color: #fff;
}
.termoico-up:before {
  content: "\e932";
  color: #fff;
}
.termoico-Air_triangle:before {
  content: "\e933";
}
.termoico-Fan:before {
  content: "\e934";
  color: #fff;
}
.termoico-Fan_black:before {
  content: "\e935";
}
.termoico-FanDisabled:before {
  content: "\e936";
  color: #fff;
}
.termoico-FanDisabled_black .path1:before {
  content: "\e937";
  color: black;
}
.termoico-FanDisabled_black .path2:before {
  content: "\e938";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path3:before {
  content: "\e939";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path4:before {
  content: "\e93a";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path5:before {
  content: "\e93b";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path6:before {
  content: "\e93c";
  margin-left: -1em;
  color: white;
}
.termoico-FanOff:before {
  content: "\e93d";
  color: #626568;
}
.termoico-FanOn:before {
  content: "\e93e";
  color: #539ebd;
}
.termoico-Air_Dehu:before {
  content: "\e93f";
  color: #fff;
}
.termoico-Air_exclamation:before {
  content: "\e940";
  color: #fff;
}
.termoico-Air_fan:before {
  content: "\e941";
  color: #fff;
}
.termoico-Air_Free:before {
  content: "\e942";
  color: #fff;
}
.termoico-Air_Int:before {
  content: "\e943";
}
.termoico-Air_renewal:before {
  content: "\e944";
  color: #fff;
}
.termoico-cooling:before {
  content: "\e91c";
  color: #fff;
}
.termoico-heating:before {
  content: "\e91d";
  color: #fff;
}
.termoico-about:before {
  content: "\e90e";
}
.termoico-account:before {
  content: "\e910";
}
.termoico-away:before {
  content: "\e911";
  color: #fff;
}
.termoico-block:before {
  content: "\e912";
}
.termoico-cloud:before {
  content: "\e913";
}
.termoico-help:before {
  content: "\e914";
}
.termoico-setting:before {
  content: "\e915";
}
.termoico-tutorial:before {
  content: "\e916";
}
.termoico-circle:before {
  content: "\e90f";
}
.termoico-angle-down:before {
  content: "\e900";
  color: #706f6f;
}
.termoico-angle-up:before {
  content: "\e902";
  color: #706f6f;
}
.termoico-check:before {
  content: "\e90d";
  color: #fff;
}
.termoico-holiday:before {
  content: "\e901";
}
.termoico-home:before {
  content: "\e903";
}
.termoico-manual_fix:before {
  content: "\e904";
  color: #fff;
}
.termoico-manual_time:before {
  content: "\e905";
  color: #fff;
}
.termoico-off:before {
  content: "\e906";
  color: #fff;
}
.termoico-scenario_earlybird:before {
  content: "\e907";
  color: #fff;
}
.termoico-scenario_goodnight:before {
  content: "\e908";
  color: #fff;
}
.termoico-scenario_party:before {
  content: "\e909";
  color: #fff;
}
.termoico-setpoint_comfort:before {
  content: "\e90a";
  color: #f08372;
}
.termoico-setpoint_eco:before {
  content: "\e90b";
  color: #c4b83b;
}
.termoico-setpoint_night:before {
  content: "\e90c";
  color: #68a3bf;
}
.termoico-power:before {
  content: "\e954";
}
.termoico-Air_Int1:before {
  content: "\e91e";
}
.termoico-Air_renewal1:before {
  content: "\e91f";
  color: #fff;
}
.termoico-Air_triangle1:before {
  content: "\e920";
}
.termoico-Fan1:before {
  content: "\e921";
  color: #fff;
}
.termoico-Fan_black1:before {
  content: "\e922";
}
.termoico-FanDisabled1:before {
  content: "\e923";
  color: #fff;
}
.termoico-FanDisabled_black1 .path1:before {
  content: "\e924";
  color: black;
}
.termoico-FanDisabled_black1 .path2:before {
  content: "\e925";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path3:before {
  content: "\e926";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path4:before {
  content: "\e927";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path5:before {
  content: "\e928";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path6:before {
  content: "\e929";
  margin-left: -1.322265625em;
  color: white;
}
.termoico-FanOff1:before {
  content: "\e92a";
  color: #626568;
}
.termoico-FanOn1:before {
  content: "\e92b";
  color: #539ebd;
}
.termoico-Air_Dehu1:before {
  content: "\e92c";
  color: #fff;
}
.termoico-Air_exclamation1:before {
  content: "\e92d";
  color: #fff;
}
.termoico-Air_fan1:before {
  content: "\e92e";
  color: #fff;
}
.termoico-Air_Free1:before {
  content: "\e92f";
  color: #fff;
}
.termoico-sun:before {
  content: "\e917";
}
.termoico-cloudy:before {
  content: "\e918";
}
.termoico-rainy:before {
  content: "\e919";
}
.termoico-snowy:before {
  content: "\e91a";
}
.termoico-cloudy2:before {
  content: "\e91b";
}
/** FONT SIZE */
.termoico-down,
.termoico-notification_empty,
.termoico-up {
  font-size: 110% !important;
}
.menu-list .termoico {
  font-size: 25px !important;
}
/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.6.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
.animated {
  animation-duration: 0.3s;
  animation-fill-mode: both;
}
.animated.infinite {
  animation-iteration-count: infinite;
}
@keyframes bounce {
  0%, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateZ(0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}
@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}
@keyframes pulse {
  0% {
    transform: scaleX(1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scaleX(1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes rubberBand {
  0% {
    transform: scaleX(1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scaleX(1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}
@keyframes shake {
  0%, to {
    transform: translateZ(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}
@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  to {
    transform: rotate(0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  0% {
    transform: scaleX(1);
  }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
  }
  to {
    transform: scaleX(1);
  }
}
.tada {
  animation-name: tada;
}
@keyframes wobble {
  0% {
    transform: translateZ(0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate(-5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate(3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate(-3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate(2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate(-1deg);
  }
  to {
    transform: translateZ(0);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes jello {
  0%, 11.1%, to {
    transform: translateZ(0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
.bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-duration: 0.75s;
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(-1turn);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(-190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(-170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotateX(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateX(-5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotateY(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateY(-5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotateX(-20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-duration: 0.75s;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotateY(-15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  0% {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    transform: translateZ(0);
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  0% {
    transform-origin: center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  0% {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-duration: 2s;
  animation-name: hinge;
}
@keyframes jackInTheBox {
  0% {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.jackInTheBox {
  animation-name: jackInTheBox;
}
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate(-120deg);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.rollIn {
  animation-name: rollIn;
}
@keyframes rollOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate(120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
@keyframes zoomInDown {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}
@keyframes zoomInRight {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}
@keyframes zoomInUp {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}
@keyframes zoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}
@keyframes slideInDown {
  0% {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}
@keyframes slideOutDown {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutLeft {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}
.swiper {
  --bullet-background: var(--ion-color-step-200, #cccccc);
  --bullet-background-active: var(--ion-color-primary, #3880ff);
  --progress-bar-background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);
  --progress-bar-background-active: var(--ion-color-primary-shade, #3171e0);
  --scroll-bar-background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);
  --scroll-bar-background-active: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5);
  /**
   * @prop --bullet-background: Background of the pagination bullets
   * @prop --bullet-background-active: Background of the active pagination bullet
   *
   * @prop --progress-bar-background: Background of the pagination progress-bar
   * @prop --progress-bar-background-active: Background of the active pagination progress-bar
   *
   * @prop --scroll-bar-background: Background of the pagination scroll-bar
   * @prop --scroll-bar-background-active: Background of the active pagination scroll-bar
   */
  display: block;
  -webkit-user-select: none;
          user-select: none;
}
.swiper .swiper-pagination-bullet {
  background: var(--bullet-background);
}
.swiper .swiper-pagination-bullet-active {
  background: var(--bullet-background-active);
}
.swiper .swiper-pagination-progressbar {
  background: var(--progress-bar-background);
}
.swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--progress-bar-background-active);
}
.swiper .swiper-scrollbar {
  background: var(--scroll-bar-background);
}
.swiper .swiper-scrollbar-drag {
  background: var(--scroll-bar-background-active);
}
.swiper .slide-zoom {
  display: block;
  width: 100%;
  text-align: center;
}
.swiper .swiper-slide {
  display: flex;
  position: relative;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 18px;
  text-align: center;
  box-sizing: border-box;
}
.swiper .swiper-slide img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}
.input-cover {
  display: none !important;
}
/** Ionic CSS Variables **/
:root {
  --ion-text-color: #050F3B;
  --app-color-default: #007aff;
  /** primary **/
  --ion-font-family: "Syne Regular";
  --ion-color-primary: var(--app-color-default);
  /** secondary **/
  --ion-color-secondary: #abb23f;
  /** tertiary **/
  --ion-color-tertiary: #d4dd5f;
  /** success **/
  --ion-color-success: #94bb22;
  /** warning **/
  --ion-color-warning: #ffc409;
  /** danger **/
  --ion-color-danger: #eb445a;
  /** dark **/
  --ion-color-dark: #222428;
  /** medium **/
  --ion-color-medium: #92949c;
  /** light **/
  --ion-color-light: #f4f5f8;
}
@font-face {
  font-family: "termoico";
  src: url('termoico.d338b434974bdf8c.eot?dc0pqi');
  src: url('termoico.d338b434974bdf8c.eot?dc0pqi#iefix') format("embedded-opentype"), url('termoico.40296605af110c88.ttf?dc0pqi') format("truetype"), url('termoico.3493cc11094cca3c.woff?dc0pqi') format("woff"), url('termoico.dce90dcfd229b60b.svg?dc0pqi#termoico') format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=termoico-], [class*=" termoico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "termoico" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.termoico-back:before {
  content: "\e958";
  font-size: 30%;
  color: #fff;
}
.termoico-check1:before {
  font-size: 30%;
  content: "\e959";
  color: #fff;
}
.termoico-Smart365:before {
  content: "\e955";
  color: #fff;
}
.termoico-off_gruppo:before {
  content: "\e956";
  color: #fff;
}
.termoico-off_stanza:before {
  content: "\e957";
}
.termoico-lingua:before {
  content: "\e945";
  color: #fff;
}
.termoico-psw:before {
  content: "\e946";
  color: #fff;
}
.termoico-support:before {
  content: "\e947";
  color: #fff;
}
.termoico-doc:before {
  content: "\e948";
  color: #fff;
}
.termoico-edit:before {
  content: "\e949";
  color: #fff;
}
.termoico-elimina:before {
  content: "\e94a";
  color: #fff;
}
.termoico-faq:before {
  content: "\e94b";
  color: #fff;
}
.termoico-Informazione:before {
  content: "\e94c";
  color: #fff;
}
.termoico-Installazione:before {
  content: "\e94d";
  color: #fff;
}
.termoico-Invita:before {
  content: "\e94e";
  color: #fff;
}
.termoico-Logout:before {
  content: "\e94f";
  color: #fff;
}
.termoico-Supporto:before {
  content: "\e950";
  color: #fff;
}
.termoico-Cloud:before {
  content: "\e951";
  color: #fff;
}
.termoico-Geofencing:before {
  content: "\e952";
  color: #fff;
}
.termoico-Guida:before {
  content: "\e953";
  color: #fff;
}
.termoico-down:before {
  content: "\e930";
  color: #fff;
}
.termoico-notification_empty:before {
  content: "\e931";
  color: #fff;
}
.termoico-up:before {
  content: "\e932";
  color: #fff;
}
.termoico-Air_triangle:before {
  content: "\e933";
}
.termoico-Fan:before {
  content: "\e934";
  color: #fff;
}
.termoico-Fan_black:before {
  content: "\e935";
}
.termoico-FanDisabled:before {
  content: "\e936";
  color: #fff;
}
.termoico-FanDisabled_black .path1:before {
  content: "\e937";
  color: black;
}
.termoico-FanDisabled_black .path2:before {
  content: "\e938";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path3:before {
  content: "\e939";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path4:before {
  content: "\e93a";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path5:before {
  content: "\e93b";
  margin-left: -1em;
  color: black;
}
.termoico-FanDisabled_black .path6:before {
  content: "\e93c";
  margin-left: -1em;
  color: white;
}
.termoico-FanOff:before {
  content: "\e93d";
  color: #626568;
}
.termoico-FanOn:before {
  content: "\e93e";
  color: #539ebd;
}
.termoico-Air_Dehu:before {
  content: "\e93f";
  color: #fff;
}
.termoico-Air_exclamation:before {
  content: "\e940";
  color: #fff;
}
.termoico-Air_fan:before {
  content: "\e941";
  color: #fff;
}
.termoico-Air_Free:before {
  content: "\e942";
  color: #fff;
}
.termoico-Air_Int:before {
  content: "\e943";
}
.termoico-Air_renewal:before {
  content: "\e944";
  color: #fff;
}
.termoico-cooling:before {
  content: "\e91c";
  color: #fff;
}
.termoico-heating:before {
  content: "\e91d";
  color: #fff;
}
.termoico-about:before {
  content: "\e90e";
}
.termoico-account:before {
  content: "\e910";
}
.termoico-away:before {
  content: "\e911";
  color: #fff;
}
.termoico-block:before {
  content: "\e912";
}
.termoico-cloud:before {
  content: "\e913";
}
.termoico-help:before {
  content: "\e914";
}
.termoico-setting:before {
  content: "\e915";
}
.termoico-tutorial:before {
  content: "\e916";
}
.termoico-circle:before {
  content: "\e90f";
}
.termoico-angle-down:before {
  content: "\e900";
  color: #706f6f;
}
.termoico-angle-up:before {
  content: "\e902";
  color: #706f6f;
}
.termoico-check:before {
  content: "\e90d";
  color: #fff;
}
.termoico-holiday:before {
  content: "\e901";
}
.termoico-home:before {
  content: "\e903";
}
.termoico-manual_fix:before {
  content: "\e904";
  color: #fff;
}
.termoico-manual_time:before {
  content: "\e905";
  color: #fff;
}
.termoico-off:before {
  content: "\e906";
  color: #fff;
}
.termoico-scenario_earlybird:before {
  content: "\e907";
  color: #fff;
}
.termoico-scenario_goodnight:before {
  content: "\e908";
  color: #fff;
}
.termoico-scenario_party:before {
  content: "\e909";
  color: #fff;
}
.termoico-setpoint_comfort:before {
  content: "\e90a";
  color: #f08372;
}
.termoico-setpoint_eco:before {
  content: "\e90b";
  color: #c4b83b;
}
.termoico-setpoint_night:before {
  content: "\e90c";
  color: #68a3bf;
}
.termoico-power:before {
  content: "\e954";
}
.termoico-Air_Int1:before {
  content: "\e91e";
}
.termoico-Air_renewal1:before {
  content: "\e91f";
  color: #fff;
}
.termoico-Air_triangle1:before {
  content: "\e920";
}
.termoico-Fan1:before {
  content: "\e921";
  color: #fff;
}
.termoico-Fan_black1:before {
  content: "\e922";
}
.termoico-FanDisabled1:before {
  content: "\e923";
  color: #fff;
}
.termoico-FanDisabled_black1 .path1:before {
  content: "\e924";
  color: black;
}
.termoico-FanDisabled_black1 .path2:before {
  content: "\e925";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path3:before {
  content: "\e926";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path4:before {
  content: "\e927";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path5:before {
  content: "\e928";
  margin-left: -1.322265625em;
  color: black;
}
.termoico-FanDisabled_black1 .path6:before {
  content: "\e929";
  margin-left: -1.322265625em;
  color: white;
}
.termoico-FanOff1:before {
  content: "\e92a";
  color: #626568;
}
.termoico-FanOn1:before {
  content: "\e92b";
  color: #539ebd;
}
.termoico-Air_Dehu1:before {
  content: "\e92c";
  color: #fff;
}
.termoico-Air_exclamation1:before {
  content: "\e92d";
  color: #fff;
}
.termoico-Air_fan1:before {
  content: "\e92e";
  color: #fff;
}
.termoico-Air_Free1:before {
  content: "\e92f";
  color: #fff;
}
.termoico-sun:before {
  content: "\e917";
}
.termoico-cloudy:before {
  content: "\e918";
}
.termoico-rainy:before {
  content: "\e919";
}
.termoico-snowy:before {
  content: "\e91a";
}
.termoico-cloudy2:before {
  content: "\e91b";
}
/** FONT SIZE */
.termoico-down,
.termoico-notification_empty,
.termoico-up {
  font-size: 110% !important;
}
.menu-list .termoico {
  font-size: 25px !important;
}
/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.6.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
.animated {
  animation-duration: 0.3s;
  animation-fill-mode: both;
}
.animated.infinite {
  animation-iteration-count: infinite;
}
@keyframes bounce {
  0%, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateZ(0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}
@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}
@keyframes pulse {
  0% {
    transform: scaleX(1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scaleX(1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes rubberBand {
  0% {
    transform: scaleX(1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scaleX(1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}
@keyframes shake {
  0%, to {
    transform: translateZ(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}
@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  to {
    transform: rotate(0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  0% {
    transform: scaleX(1);
  }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
  }
  to {
    transform: scaleX(1);
  }
}
.tada {
  animation-name: tada;
}
@keyframes wobble {
  0% {
    transform: translateZ(0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate(-5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate(3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate(-3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate(2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate(-1deg);
  }
  to {
    transform: translateZ(0);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes jello {
  0%, 11.1%, to {
    transform: translateZ(0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
.bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translateZ(0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-duration: 0.75s;
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(-1turn);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(-190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(-170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotateX(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateX(-5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotateY(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateY(-5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotateX(-20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-duration: 0.75s;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotateY(-15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  0% {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    transform: translateZ(0);
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  0% {
    transform-origin: center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translateZ(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  0% {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate(45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate(-45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-duration: 2s;
  animation-name: hinge;
}
@keyframes jackInTheBox {
  0% {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.jackInTheBox {
  animation-name: jackInTheBox;
}
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate(-120deg);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.rollIn {
  animation-name: rollIn;
}
@keyframes rollOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate(120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
@keyframes zoomInDown {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}
@keyframes zoomInRight {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}
@keyframes zoomInUp {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}
@keyframes zoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}
@keyframes slideInDown {
  0% {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}
@keyframes slideOutDown {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutLeft {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  0% {
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}
ion-header {
  position: absolute;
}
ion-menu ion-header {
  position: relative;
  background: #231F20;
}
button {
  text-align: center;
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  z-index: 0;
  display: inline-block;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: top;
  vertical-align: -webkit-baseline-middle;
  transition: background-color, opacity 100ms linear;
  -webkit-font-kerning: none;
  font-feature-settings: "kern" off;
  font-kerning: none;
  -webkit-user-select: none;
  user-select: none;
  contain: content;
  border-radius: 2px;
  overflow: hidden;
  height: 3.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: uppercase;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1);
  margin: 0.4rem 0.2rem;
  padding: 0 1.1em;
  background-color: transparent;
  cursor: pointer;
  color: white;
}
button[block] {
  display: block;
  clear: both;
  width: 100%;
  contain: strict;
}
button[outline] {
  background-color: transparent !important;
  box-shadow: none;
}
button[round] {
  border-radius: 64px;
}
select {
  color: white;
  background-color: black;
  border-color: transparent;
  cursor: default;
}
select option {
  border-color: black;
}
button[color] {
  color: white;
}
button[color=danger] {
  background-color: #d37d76;
}
ion-badge[color=danger] {
  color: #fff;
}
button[color=light] {
  background-color: #fff;
}
button[color=primary] {
  background-color: #5f9fb9;
}
button[color=secondary] {
  background-color: #abb23f;
}
button[outline][color=danger] {
  border: 2px solid #d37d76;
}
button[outline][color=light] {
  border: 2px solid #fff;
}
button[outline][color=primary] {
  border: 2px solid #5f9fb9;
}
button[outline][color=secondary] {
  border: 2px solid #abb23f;
}
button.button-circle-sm ion-icon {
  font-size: inherit !important;
}
[no-padding] {
  padding: 0;
}
[no-margin] {
  margin: 0;
}
[text-center] {
  text-align: center !important;
}
[text-left] {
  text-align: left !important;
}
[text-right] {
  text-align: right !important;
}
:root {
  --ion-background-color: $background-color-gradient;
  --ion-text-color: #FFFFFF;
  --ion-font-family: "droidsans";
}
.w-100 {
  width: 100%;
}
.push-right {
  right: 0;
  margin-left: auto;
}
.inactive {
  opacity: 0.4;
}
.ion-justify-content-between {
  display: flex;
}
html {
  font-size: 56%;
}
app-root {
  font-size: 1.4rem;
}
ion-split-pane ion-router-outlet {
  flex-grow: 1;
  max-width: 80% !important;
}
ion-router-outlet,
ion-popover .popover-viewport {
  background-color: black;
}
@font-face {
  font-family: "droidsans";
  src: local("droidsans"), url('DroidSans.711a048f42d0e67d.ttf') format("truetype");
  font-weight: normal;
  font-style: normal;
}
* {
  font-weight: 500 !important;
}
[class^=termoico-], [class*=" termoico-"] {
  font-size: 45px;
}
.content {
  background-color: #000 !important;
  background-position: top center !important;
  background-repeat: repeat-x !important;
  background-size: contain !important;
}
[noScroll] {
  overflow: hidden;
}
.header, .toolbar-background {
  background-color: transparent !important;
  font-family: "droidsans", Tahoma !important;
  border: 0 !important;
}
.header ion-buttons span.button-inner {
  font-size: 20px !important;
}
.toolbar-title-md {
  text-align: center !important;
}
.header-title {
  text-align: center;
  font-family: "droidsans", Tahoma !important;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.5);
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 16px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 50vw;
}
.toolbar-title,
.toolbar-title-ios,
.toolbar-title-md {
  color: rgba(255, 255, 255, 0.5);
}
.light {
  color: #fff !important;
}
a.submit-link {
  color: #aeaeae;
  margin-top: 16px;
  display: inline-block;
}
.margin-angle {
  margin-top: 12px !important;
  margin-bottom: 15px !important;
}
.device-inactive {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.85);
  display: none;
  z-index: 100000;
  height: 100%;
  width: 100%;
}
.device-inactive span {
  width: 100%;
  display: block;
  color: #eee;
  font-size: 15px;
  padding: 0 15%;
  margin-top: 50%;
  line-height: 1.5;
}
.swiper-slide-active .device-inactive,
page-room .device-inactive {
  display: block;
}
.no-padding {
  padding: 0px !important;
}
h1, h2, h3, h4, span, ion-col {
  font-family: "droidsans", Tahoma !important;
}
.button-circle {
  border-radius: 50%;
  width: 54px;
  height: 54px;
  border-width: 2px;
}
.button-circle-in {
  border-radius: 50%;
  width: 44px;
  height: 43px;
  border-width: 2px;
}
.button-circle-full {
  background: #fff;
}
.button-circle-active > span {
  background: white;
  border-radius: 50%;
  width: 46px;
  height: 46px;
}
.button-circle-active span:before {
  color: black !important;
}
.off-commands button.button-circle-active span.button-inner {
  margin-left: 0px !important;
}
.footer-button {
  margin-bottom: 12px !important;
}
.icon-circle, .icon-circle-large, .icon-circle-small {
  position: relative;
  display: inline-block;
  margin: -1px;
  /*padding: 16px;*/
  border-radius: 50%;
  height: 60px;
  width: 60px;
  text-align: center;
  /*vertical-align: middle;*/
}
.icon-circle-large {
  width: 100px;
  height: 100px;
  padding: 16px;
}
.icon-circle-small {
  width: 24px;
  height: 24px;
  font-size: 20px;
}
.ladda-button .ladda-spinner {
  background-color: transparent !important;
}
.menu-list button div.item-inner {
  border-bottom: 1px solid #eee !important;
  padding-right: 0 !important;
}
.menu-list button {
  padding-left: 0 !important;
}
ion-menu[type=overlay] {
  z-index: 1501;
}
.menu {
  background: #231F20 !important;
}
.menu .item-inner {
  border-bottom: 0 !important;
}
.menu .identity {
  padding: 10px 0;
  border-bottom: 1px solid #333;
}
.menu .identity h1 {
  font-size: 60px;
}
.menu .identity h3 {
  font-size: 20px;
}
.menu .identity h4 {
  font-size: 16px;
}
.menu .identity h5 {
  font-size: 14px;
  padding: 5px;
  color: #fafafa;
  margin: 0;
}
.menu .termoico {
  font-size: 26px;
  float: right;
  width: 50px;
}
.block-page {
  min-height: calc(100vh - 44px);
  height: calc(100vh - 44px);
}
.termoico-circle {
  font-size: 400px;
}
.circle-status {
  height: 225px;
  width: 100%;
  margin: -5vh auto 0 auto;
  padding-top: 0vh;
  position: relative;
  text-align: center;
  font-size: 380px;
  line-height: 225px;
  overflow: hidden;
}
@media (max-height: 625px) {
  .circle-status {
    margin-top: -5vh;
    transform: scale(0.75);
  }
}
.circle-status p {
  position: absolute;
  z-index: 5;
  text-align: right;
  left: 0;
  font-family: "droidsans", Tahoma !important;
  top: 80px;
  width: 100%;
  color: #fff;
  line-height: 1;
  font-size: 15px !important;
}
.circle-status .button-hc {
  position: absolute;
  left: 50vw;
  margin-left: 36px;
  right: auto;
  top: 2px;
  width: 60px;
  background: transparent;
  border: 0;
  height: 75px;
  display: inline;
  z-index: 20;
}
.circle-status a[disabled], .circle-status button[disabled], .circle-status [ion-button][disabled] {
  opacity: 1;
}
.circle-status span {
  display: block;
  font-size: 15rem;
  position: absolute;
  z-index: 10;
  color: #fff;
  height: 80px;
  left: 0;
  width: 100%;
  top: auto;
  bottom: 25px;
}
.circle-heating {
  color: #d37d76;
}
.circle-cooling {
  color: #5f9fb9;
}
.ending-gradient {
  height: 10vh;
  top: 0;
  position: absolute;
  left: 0;
  width: 100%;
  z-index: -1;
  height: 10vh;
  background: linear-gradient(#000 25%, #222);
}
.border1, .border2 {
  transition: border-color 150ms ease-in;
  transition: background-color 150ms ease-in;
}
.boost {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  margin: 0 auto;
  overflow: visible !important;
  padding: 0;
  color: white;
  line-height: 45px;
  font-size: 24px;
}
.boost .core {
  background: #5f9fb9;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  margin: 0 auto;
  margin: 14px auto 0 auto;
  color: white;
  line-height: 185px;
  font-size: 22px;
  display: inline-block;
}
.boost .core-void {
  background: #231F20;
  border: 2px solid #5f9fb9;
  display: inline-block;
}
.boost .border1 {
  border: 2px solid #5f9fb9;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  display: inline-block;
  margin: 0 auto;
}
.boost .border2 {
  width: 210px;
  height: 210px;
  display: inline-block;
  border-radius: 50%;
  margin: 14px auto 0 auto;
}
.boosting-1 .core,
.boosting-2 .core,
.boosting-3 .core {
  background: #231F20 !important;
  border: 15px solid #539EBC;
  line-height: 160px !important;
}
.boosting-2 .border2 {
  background-color: #73AEC9 !important;
  border-color: #73AEC9;
}
.boosting-3 .border1 {
  background-color: #147da9 !important;
  border-color: #147da9;
}
.boosting-3 .border2 {
  background-color: #73AEC9 !important;
  border-color: #73AEC9;
}
.boost-footer {
  background: #5f9fb9 !important;
  color: #fff;
  font-size: 18px;
}
.termo-footer {
  padding: 0px !important;
}
.termo-footer .toolbar, .termo-footer .title {
  padding: 0 !important;
  height: 40px;
}
.termo-footer button {
  border-radius: 0;
  height: 60px;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
.termo-footer-hand {
  height: 100px !important;
  background: #abb23f;
  text-align: center;
}
.termo-footer-hand .toolbar {
  height: 100% !important;
}
.termo-footer-hand .button-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-top: 2px !important;
}
.picker-wrapper {
  background: #393536 !important;
}
.spinner-inside {
  min-height: 35px;
}
/** TRICKS STA RT */
.margin-t-1 {
  margin-top: 5vh !important;
}
.margin-t-2 {
  margin-top: 10vh !important;
}
.margin-t-3 {
  margin-top: 15vh !important;
}
.margin-t-4 {
  margin-top: 20vh !important;
}
.centered {
  position: fixed;
  top: calc(55% - 60px);
  width: 100%;
  text-align: center;
}
.centered .spinner {
  width: 10vh !important;
  height: 10vh !important;
  stroke: #fff !important;
  fill: #fff !important;
  text-align: center;
}
.grey {
  color: #d2d2d2 !important;
}
.hidden-mobile {
  display: none;
}
.pointer {
  cursor: pointer;
}
.danger-toast .toast-wrapper {
  background-color: #d37d76;
}
/** TRICKS END */
/** ANIMATIONS START */
.fadein {
  margin-top: 25px;
  font-size: 21px;
  text-align: center;
  /* Safari, Chrome and Opera > 12.1 */
  /* Firefox < 16 */
  /* Internet Explorer */
  /* Opera < 12.1 */
  animation: fadein 0.5s;
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Firefox < 16 */
/* Safari, Chrome and Opera > 12.1 */
/* Internet Explorer */
/* Opera < 12.1 */
/** ANIMATIONS END */
page-list .content-groups .scroll-content {
  overflow-y: hidden !important;
}
page-room .content .scroll-content {
  overflow-y: hidden !important;
}
body, app-root {
  background-color: #231f20 !important;
}
body.logged, body.logged app-root {
  background-color: #231f20 !important;
}
body.install, body.install app-root {
  background-color: #231f20 !important;
}
body.small .margin-t-1 {
  margin-top: 2vh !important;
}
body.small .margin-t-2 {
  margin-top: 4vh !important;
}
body.small .margin-t-3 {
  margin-top: 8vh !important;
}
body.small .margin-t-4 {
  margin-top: 12vh !important;
}
body.small .circle-status {
  height: 200px;
  width: 100%;
  margin: 0 auto 0 auto;
  padding-top: 0vh;
  position: relative;
  text-align: center;
  font-size: 340px;
  line-height: 200px;
  overflow: hidden;
}
/** OLD WEB START
.split-pane {
  max-width:700px !important;
  min-width:700px !important;
  width:700px !important;
  margin: 0 auto;
  ion-router-outlet {
    max-width:420px !important;
    min-width:420px !important;
    width:420px !important;
  }

}
.split-pane >   ion-menu {
  max-width:270px !important;
  min-width:270px !important;
  width:270px !important;
}

::-webkit-scrollbar {
    width: 1px;
}

::-webkit-scrollbar-track {
    background:   color($colors, 'primary');
;
}

::-webkit-scrollbar-thumb {
    background:   color($colors, 'primary');
;
}

::-webkit-scrollbar-thumb:hover {
    background:   color($colors, 'primary');
;
}


@media screen and (min-width: 640px) {
  body {
    width:100%;
    // background-color: #231f20;
  }
  app-root .app-root{
    max-width:600px !important;
    width:600px !important;
    min-width:600px !important;
    margin:0 auto;
    margin-left: calc(50% - 300px);
    display:block;
    float:none;
  }
  .schedule .schedule-day .schedule-time {
    width:100px !important;
  }
  .schedule .schedule-day .schedule-time span.mode {
    left:30px !important;
  }
  .schedule .timing span.hour {
    width:100px !important;
  }
  .schedule .schedule-bar,
  .schedule .schedule-day {
    width: 4800px !important;
  }

  .schedule-day-1 {
    margin-left:-600px !important;
  }
  .schedule-day-2 {
    margin-left:-1200px !important;
  }
  .schedule-day-3 {
    margin-left:-1800px !important;
  }
  .schedule-day-4 {
    margin-left:-2400px !important;
  }
  .schedule-day-5 {
    margin-left:-3000px !important;
  }
  .schedule-day-6 {
    margin-left:-3600px !important;
  }
  .schedule-day-7 {
    margin-left:-4200px !important;
  }

}
/** OLD WEB STOP */
/** NEW WEB START */
:-webkit-scrollbar {
  width: 3px;
}
::-webkit-scrollbar-track {
  background: #5f9fb9;
}
::-webkit-scrollbar-thumb {
  background: #5f9fb9;
}
::-webkit-scrollbar-thumb:hover {
  background: #5f9fb9;
}
button ion-badge {
  position: absolute;
  top: -0.2rem;
  right: -0.2rem;
  opacity: 0.9;
}
button ion-badge ~ ion-icon {
  margin-right: 1.2rem;
}
ion-modal {
  background: rgba(0, 0, 0, 0.5);
}
.p-date, input.input-date {
  width: auto;
  font-weight: bold;
  padding: 0;
  bordeR: 1px solid white;
  text-align: center !important;
  margin: 6px 0;
  background: transparent;
  outline: none;
}
input.input-date {
  padding: 8px 0;
  border: 0px solid white;
  text-align: center !important;
}
input.input-date::-webkit-calendar-picker-indicator {
  display: none;
}
input[type=date]::-webkit-input-placeholder {
  visibility: hidden !important;
}
span.span-button {
  padding-top: 10px;
  padding-bottom: 5px;
  display: inline-block;
}
.date-popover {
  margin-left: calc(50vw - 140px);
}
ion-datetime {
  color: black !important;
}
ion-datetime :host .ion-color-light {
  --ion-color-base:black;
}
ion-datetime :host .calendar-day.calendar-day-today {
  --ion-color-base:black !important;
  color: black !important;
  background: black !important;
}
ion-datetime :host .datetime-caendar {
  --width:90vw;
  --max-width:90vw;
  --margin-left:5vw;
  --top:5vw;
  --color: black;
}
ion-datetime :host .calendar-day {
  --color: black;
}
.datetime-calendar {
  display: none;
}
@media screen and (min-width: 1000px) {
  app-root .content.middle-view,
app-root ion-router-outlet.middle-view {
    max-width: 600px !important;
    width: 600px !important;
    min-width: 600px !important;
    margin: 0 auto;
    margin-left: calc(50% - 300px);
    display: block;
    float: none;
    border: 0 !important;
  }
  app-root .content.middle-view .scroll-content,
app-root ion-router-outlet.middle-view .scroll-content {
    overflow: hidden;
  }

  app-root .content.middle-view {
    left: calc(50% - 300px) !important;
  }

  .hidden-web {
    display: none !important;
  }

  .hidden-mobile {
    display: flex;
  }

  page-list .room {
    width: 33%;
    clear: none;
    float: left;
    cursor: pointer;
  }

  ion-header page-list ion-toolbar {
    display: none !important;
  }

  .ion-page #group-header .toolbar, #group-header::after, .header::after {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    background-image: none !important;
  }

  ion-title {
    width: calc(100% - 60px);
  }

  ion-menu ion-toolbar {
    display: none !important;
  }

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

  /*   page-tutorial .slide-zoom img {
      width:50%;
      max-width:350px;
      // max-height: 60vw;
    } */
  .block-page {
    width: calc(100vw - 25%);
    width: 33%;
    height: 50% !important;
    clear: none;
    float: left;
    height: 50vh !important;
    max-height: 30% !important;
    min-height: auto !important;
    box-shadow: 0 0 2px #555;
  }

  ion-slide {
    width: 100% !important;
  }

  page-list ion-row.off-commands {
    margin-top: 0vh !important;
  }

  page-list canvas {
    margin-top: 2vh !important;
  }

  page-list .spinner-inside {
    margin: 0vh !important;
  }

  page-list .group .list .item-range {
    margin: 1vh 0 !important;
  }

  page-list h3.message-comfort {
    font-size: 15px;
    margin: 0 !important;
  }

  page-list .group .block-page-rooms button.button-circle {
    margin-top: calc(28vh - 120px) !important;
  }

  .circle-status {
    height: 200px;
    width: 100%;
    margin: 0vh auto 0 auto;
    padding-top: 0vh;
    position: relative;
    text-align: center;
    font-size: 300px;
    line-height: 185px;
    overflow: hidden;
  }
  .circle-status span {
    height: 70px;
  }

  .off-commands button.button-circle-active span.button-inner {
    margin-left: 0px !important;
  }

  page-room .content .scroll-content,
page-list .content-groups .scroll-content {
    overflow-y: scroll !important;
  }

  .fixed-content, .scroll-content {
    margin-top: 0 !important;
  }

  page-list .content .group .holiday-when, page-list .content .group .holiday-temperature, page-list .content .group .holiday-air, page-list .content .group .holiday-air p {
    margin-top: 10px !important;
    margin-bottom: 0;
  }

  page-list .holiday-mask p {
    margin: 4px 0 0 0;
  }

  page-list .holiday-mask h3 {
    margin-bottom: 0 !important;
  }

  page-list .margin-less-web {
    margin-top: 0vh !important;
  }

  page-list .margin-less-web-2 {
    margin-top: 5vh !important;
  }

  page-room .margin-less-web-2 {
    margin-top: 6vh !important;
  }

  page-airmachine .block-page h3.margin-t-1,
page-room .block-page h3.margin-t-1,
page-room .block-page .grid .margin-t-1 {
    margin: 2vh 0 0 !important;
  }

  page-room .margin-t-1.grid {
    margin-top: 0 !important;
  }
  page-room .margin-t-1.grid .row.margin-t-1 {
    margin-top: 0 !important;
  }
  page-room .margin-t-1.grid h3.margin-t-1 {
    margin-top: 1vh !important;
  }

  page-room .block-page-cooling .boost .border1, page-room .block-page-heating .boost .border1 {
    padding-top: 40px !important;
  }

  #block-6 button.confirm-bottom {
    margin-top: calc(25vh - 60px) !important;
  }

  #chart-a, #chart-b {
    max-height: 18vh !important;
  }

  .schedule-bar {
    width: 200vw !important;
  }

  /* page-airmachine .block-page {
    height:100vh !important;
    min-height:100vh !important;
  } */
  .boost {
    width: 180px;
    height: 180px;
    border-radius: 0;
    overflow: visible !important;
    padding: 0;
    background: transparent;
    border: 0;
    margin: 0 auto;
    color: white;
    line-height: 35px;
    font-size: 20px;
  }
  .boost .core {
    background: #5f9fb9;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    margin: 0 auto;
    margin: 14px auto 0 auto;
    color: white;
    line-height: 115px !important;
    font-size: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .boost .core .boost-spinner svg {
    margin-top: 10px;
  }
  .boost .core-void {
    background: #231F20;
    border: 2px solid #5f9fb9;
  }
  .boost .border1 {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    margin: 0 auto;
  }
  .boost .border2 {
    border: 2px solid #5f9fb9;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 13px auto 0 auto;
  }

  menu-content menu-content-overlay split-pane-side {
    max-width: 240px;
    margin: 0 25%;
  }

  ion-split-pane .menu-enabled.split-pane-side {
    float: right !important;
  }

  .split-pane-md.split-pane-visible > .split-pane-side,
.split-pane-ios.split-pane-visible > .split-pane-side,
.split-pane > .split-pane-side {
    max-width: 25%;
    width: 25%;
  }

  .split-pane ion-router-outlet {
    max-width: 80% !important;
  }
  .split-pane ion-router-outlet .scroll-content {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .split-pane .swiper-pagination.swiper-visible {
    right: 0px;
  }
  .split-pane .signup-content {
    max-width: 500px;
    margin: 0 auto;
  }
  .split-pane page-login, .split-pane page-signup {
    max-width: 500px;
  }
}
.room-4T-status-icon-border {
  position: relative;
}
.room-4T-status-icon-border:before {
  color: white;
}
.room-4T-status-icon-border:after {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  top: -4.5px;
  left: -4.5px;
  border-radius: 50%;
  border-width: 2px;
  border-style: solid;
  box-sizing: border-box;
}
/** NEW WEB STOP */
/** 4 Tubi */
.room-4T-status-icon-border.s_0:after {
  border-color: #3c8fc7;
}
.room-4T-status-icon-border.s_1:after {
  border-color: #d22027;
}
.room-4T-status-icon-border.s_2:after {
  border-color: #fff;
}
.min-color {
  color: #d22027;
}
.max-color {
  color: #3c8fc7;
}
.forced {
  animation: blinker 1.5s linear infinite;
}
@keyframes blinker {
  30% {
    opacity: 0;
  }
  70% {
    opacity: 0;
  }
}
.room-4T-sp {
  font-size: 3rem;
  line-height: 5rem;
  margin-top: 0;
  margin-bottom: 0;
}
.room-4T-sp:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(2, 2);
  opacity: 0;
  transition: transform 0.1s, opacity 1s;
}
.room-4T-sp.min-color:after {
  background-image: radial-gradient(circle, #d22027 10%, transparent 20%);
}
.room-4T-sp.max-color:after {
  background-image: radial-gradient(circle, #3c8fc7 10%, transparent 20%);
}
.room-4T-sp-arrow {
  font-size: 4rem;
}
.icons-mode-4T .termoico:before {
  color: white;
}
.icons-mode-4T .button-circle {
  border-color: white;
}
h2.forced:after {
  transform: scale(0, 0);
  opacity: 0.1;
  transition: 0s;
}
.disabled-effect {
  opacity: 0.4;
}
page-hotel .block-page {
  box-shadow: none;
}
.termoico-scenario_earlybird {
  margin-top: -5px;
}
.termoico-scenario_goodnight {
  margin-top: -4px;
}
.termoico-scenario_late-night {
  margin-top: 2px;
}
.termoico.termoico-scenario_party::after {
  left: -3px;
}
.dynamic-background-circle-container {
  position: relative;
  margin-top: 12vh;
}
.dynamic-background-circle-content.circle-status {
  margin-top: -6px;
}
.dynamic-background-circle-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.dynamic-background-circle-content p {
  top: 0 !important;
}
.dynamic-background-circle-content .big-circle {
  bottom: 85px !important;
}
.dynamic-background-circle-content .big-circle-fix, .dynamic-background-circle-content .termoico-home {
  bottom: 100px !important;
}
.ladda-fix.button-circle-active > span.ladda-label {
  padding-top: 7px;
}
.dynamic-background-circle {
  border-radius: 210px;
  height: 210px;
  width: 210px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.dynamic-background-circle::after {
  content: "";
  position: absolute;
  background: #000;
  z-index: 1;
  height: 200px;
  width: 200px;
  border-radius: 200px;
  top: 5px;
  left: 5px;
}
.status-icon-container {
  margin-top: 1rem;
  margin-bottom: 1rem;
  overflow: visible;
}
@media screen and (min-width: 1000px) {
  .dynamic-background-circle-container {
    margin-top: 3vh;
  }

  .dynamic-background-circle {
    border-radius: 175px;
    height: 175px;
    width: 175px;
  }
  .dynamic-background-circle::after {
    height: 165px;
    width: 165px;
    border-radius: 165px;
    top: 5px;
    left: 5px;
  }

  page-room .margin-less-web-2 {
    margin-top: 1vh !important;
  }

  .margin-t-1 {
    margin-top: 3vh !important;
  }
}
/** ./4 Tubi */
.alert-wrapper {
  background: #333 !important;
}
.alert-wrapper .alert-radio-group button {
  box-shadow: none !important;
  border-bottom: 1px solid #ddd !important;
}
.alert-wrapper .alert-button-group button.alert-button {
  background: #fff !important;
  color: #5f9fb9 !important;
}
.alert-wrapper [aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md.alert-radio-group,
.alert-wrapper .alert-radio-label {
  color: #fff !important;
}
ion-popover .popover-viewport {
  background-color: black;
  box-shadow: 0 0 5px #fff !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  padding: 5px !important;
}
ion-popover .popover-viewport p {
  font-size: 11px !important;
  text-align: center !important;
}
ion-popover .popover-viewport p.list-header-inner {
  font-size: 14px !important;
  width: 100%;
}
ion-popover .popover-viewport ion-checkbox {
  background: #fff;
  border: 0 !important;
  border-radius: 0 !important;
}
ion-popover .popover-viewport :host {
  --border-radius: 0 !important;
}
ion-popover .popover-viewport svg {
  border-radius: 0 !important;
}
ion-menu-toggle ion-icon {
  font-size: 24px;
}
.swiper-pagination {
  position: fixed;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10000000000;
  bottom: 20px;
  width: 100%;
}
.swiper-pagination .swiper-pagination-bullet {
  margin: 5px;
}
ion-item {
  border: 0 !important;
}
ion-item :host {
  --border: 0 !important;
  border: 0 !important;
}
.privacy-popup {
  position: fixed;
  width: 100vw;
  height: 100vh;
  padding: 15px;
  background: rgba(0, 0, 0, 0.85);
  display: inline-block;
  z-index: 10000;
}
.privacy-popup * b span, .privacy-popup * strong span {
  font-weight: 900 !important;
  font-size: 110%;
}
.privacy-popup .privacy-popup-text {
  height: 100%;
  max-height: calc(100vh - 80px);
  overflow-y: scroll;
  padding: 0;
  margin: 0;
}
.privacy-popup .privacy-popup-text p, .privacy-popup .privacy-popup-text div {
  font-size: 15px;
}
.privacy-popup .privacy-popup-text table td, .privacy-popup .privacy-popup-text table th {
  border: 1px solid white !important;
}
.privacy-popup .privacy-popup-footer {
  height: 50px;
  clear: both;
  overflow-y: hidden;
}
.privacy-popup * {
  color: white !important;
}
.privacy-popup table, .privacy-popup td, .privacy-popup tr, .privacy-popup th {
  border-color: white !important;
  background-color: transparent !important;
  font-size: inherit !important;
}
.privacy-popup span {
  background-color: transparent !important;
  font-size: inherit !important;
  margin-left: 0 !important;
  line-height: 1.6;
  height: auto !important;
}
.privacy-popup p {
  height: auto !important;
  font-size: inherit !important;
  margin-left: 0 !important;
  line-height: 1.6 !important;
  padding: 0 !important;
  width: 100% !important;
  border: 0 !important;
  background: black !important;
  margin-top: 5px !important;
}
.privacy-popup li, .privacy-popup ul, .privacy-popup ol, .privacy-popup h2 {
  width: 100% !important;
  background: black !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.6 !important;
  height: auto !important;
}
.privacy-popup p, .privacy-popup span, .privacy-popup td {
  text-align: left !important;
}
.privacy-popup td span {
  width: 100% !important;
  padding: 10px 0 0 0 !important;
  margin: 0 !important;
}
.privacy-popup table {
  margin-top: 15px !important;
}
.document-popup {
  z-index: 10002;
  background: black;
}
.privacy-popup-2 {
  z-index: 10001;
  background: black;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.text-end {
  text-align: end;
}
ion-button.menu-profile::part(native) {
  width: 70%;
  background-color: lightslategrey;
}
ion-content {
  top: constant(safe-area-inset-top) !important;
  top: env(safe-area-inset-top) !important;
}
.vertical-scroll-button::part(native) {
  background-color: transparent !important;
  bottom: calc(10px + constant(safe-area-inset-top)) !important;
  bottom: calc(10px + env(safe-area-inset-top)) !important;
}
.swiper-pagination {
  bottom: calc(10px + constant(safe-area-inset-top)) !important;
  bottom: calc(10px + env(safe-area-inset-top)) !important;
}
/* .desktop-mode {
  .block-page {

  }
} */
