@font-face {
  font-family: "LetsBeGlyphs";
  src: url("../fonts/LetsBeGlyphs-Bouncy.woff2") format("woff2"),
    url("../fonts/LetsBeGlyphs-Bouncy.woff") format("woff"),
    url("../fonts/LetsBeGlyphs-Bouncy.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LetsBeGlyphs";
  src: url("../fonts/LetsBeGlyphs-Regular.woff2") format("woff2"),
    url("../fonts/LetsBeGlyphs-Regular.woff") format("woff"),
    url("../fonts/LetsBeGlyphs-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Maax";
  src: url("../fonts/Maax-Black.woff2") format("woff2"),
    url("../fonts/Maax-Black.woff") format("woff"),
    url("../fonts/Maax-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Maax";
  src: url("../fonts/Maax.woff2") format("woff2"),
    url("../fonts/Maax.woff") format("woff"),
    url("../fonts/Maax.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Maax";
  src: url("../fonts/Maax-Medium.woff2") format("woff2"),
    url("../fonts/Maax-Medium.woff") format("woff"),
    url("../fonts/Maax-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Maax";
  src: url("../fonts/Maax-Bold.woff2") format("woff2"),
    url("../fonts/Maax-Bold.woff") format("woff"),
    url("../fonts/Maax-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

:root {
  --blue: #147bd1;
  --baby-blue: #9de0de;
  --light-blue: #00bed6;
  --baby-pink: #f6bbcb;
  --danger: #f93822;
  --gray: #949392;
  --red: #ee3a29;
  --purple: #8f348b;
  --strong-blue: #148795;
  --card-baby-blue: var(--baby-blue);
  --card-light-baby-blue: #66c6de;
  --card-blue: var(--blue);
  --card-light-blue: #4395da;
  --card-pink: var(--baby-pink);
  --card-light-pink: #f9ced9;
  --glyphs: LetsBeGlyphs, Arial, Helvetica, sans-serif;
  --maax: Maax, Arial, Helvetica, sans-serif;
}

.bg-card-baby-blue {
  background-color: var(--card-baby-blue);
}

.bg-card-light-baby-blue {
  background-color: var(--card-light-baby-blue);
}

.bg-card-blue {
  background-color: var(--card-blue);
}

.bg-card-light-blue {
  background-color: var(--card-light-blue);
}

.bg-card-pink {
  background-color: var(--card-pink);
}

.bg-card-light-pink {
  background-color: var(--card-light-pink);
}

.fc-blue {
  color: var(--blue);
}

.fc-red {
  color: var(--red);
}

.fc-purple {
  color: var(--purple);
}

.fc-baby-blue {
  color: var(--baby-blue);
}

.fc-baby-pink {
  color: var(--baby-pink);
}

.fc-strong-blue {
  color: var(--strong-blue);
}

.layout-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

.layout-container .container {
  background-color: #fff;
  width: 850px;
}

.visible-mobile,
.visible-tablet {
  display: none !important;
}

.visible-desktop {
  display: block !important;
}

.snugfix-chair {
  align-items: center;
  display: flex;
  justify-content: center;
}

.snugfix-chair .image {
  margin-top: -10px;
}

.snugfix-chair .description {
  color: var(--danger);
  font-family: var(--glyphs);
  text-align: center;
}

.snugfix-chair .description h1 {
  font-size: 2.49rem;
  line-height: 1;
}

.snugfix-chair .description p {
  font-size: 1.5rem;
  line-height: 1.2;
}

.snugfix-chair .description h1 + p {
  padding-top: 1.2rem;
}

.features h2 {
  font-family: var(--glyphs);
}

.features p {
  font-family: var(--maax);
}

.features .rotation {
  background-image: url(../images/bg-feat-rotation.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  display: flex;
  align-items: flex-end;
  height: 250px;
}

.features .rotation p {
  color: white;
  font-size: 1.4rem;
  line-height: 1;
  padding: 0 0 1rem 1.5rem;
}

.features .fabric {
  align-items: center;
  background-image: url(../images/bg-feat-fabric.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
}

.features .fabric h2 {
  color: white;
  font-size: 1.5rem;
  line-height: 1;
  padding: 2.4rem 0 0 0.2rem;
}

.features .fabric h2 span {
  color: var(--baby-pink);
  padding-left: 1rem;
}

.features .fabric p {
  color: white;
  padding-top: 0.8rem;
  font-size: 0.85rem;
  line-height: 1;
  text-align: center;
}

.features .sip {
  background-image: url(../images/bg-feat-sip.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}

.features .sip h2,
.features .sip p {
  text-align: center;
  line-height: 1;
}

.features .sip h2 {
  color: var(--blue);
  font-size: 4rem;
}

.features .sip p {
  color: white;
  font-size: 0.75rem;
}

.features .isofix {
  align-items: flex-end;
  background-image: url(../images/bg-feat-isofix.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
}

.features .isofix p {
  color: white;
  font-size: 0.85rem;
  padding-bottom: 1rem;
  text-align: center;
}

.features .head-back,
.features .positioins {
  height: 319px;
}

.features .head-back {
  background-image: url(../images/bg-feat-head-back.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}

.features .positions {
  background-image: url(../images/bg-feat-positions.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}

.features .positions h2 {
  color: var(--blue);
  font-size: 2.5rem;
  line-height: 0.9;
  padding: 3.7rem 0 0 2rem;
}

.features.sizes {
  background-image: url(../images/desktop/bg-feat-sizes.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  height: 250px;
}

.features.sizes h2 {
  color: var(--purple);
  font-size: 1.8rem;
  padding: 0.9rem 0 0 3rem;
}

.gif-side,
.gif {
  height: 390px;
}

.gif-side {
  align-items: center;
  background-color: var(--light-blue);
  display: flex;
  justify-content: center;
  padding: 2rem;
}

.gif-side h2 {
  color: white;
  font-family: var(--glyphs);
  font-size: 2rem;
  line-height: 0.8;
  text-align: center;
}
.gif-side h2 small {
  font-size: 1.5rem;
}

.gif-side .feat {
  background-image: url(../images/bg-gif-side.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  margin: 2rem auto 0 auto;
  width: 200px;
}

.gif-side .feat p {
  color: white;
  line-height: 1;
  padding: 3rem 2rem;
  text-align: center;
  font-size: 1.3rem;
}

.gif-side .feat p strong {
  font-size: 2rem;
  line-height: 1.3;
}

.law {
  padding: 1rem 1.5rem;
}

.law p {
  border: 1px solid white;
  padding: 1rem;
  text-align: center;
}

.alert.danger {
  background-color: var(--danger);
  color: #fff;
}

.alert.light {
  background-color: var(--card-light-baby-blue);
  color: #fff;
}

.social-icons li {
  margin: 0 3px;
}

.video {
  width: 100%;
  height: 478px;
}
.video iframe,
.gif iframe {
  min-width: 100%;
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {
  .layout-container .container {
    width: 650px;
  }

  .visible-mobile,
  .visible-desktop {
    display: none !important;
  }
  .visible-tablet {
    display: block !important;
  }

  .snugfix-chair .image {
    margin: 0.5rem 0;
  }

  .snugfix-chair .description h1 {
    font-size: 2.1rem;
  }

  .snugfix-chair .description p {
    font-size: 1.4rem;
  }

  .features .rotation {
    background-size: 320px auto;
    background-position: left top;
    height: 190px;
  }

  .features .rotation p {
    font-size: 1rem;
    padding: 0 0 1.5rem 1rem;
  }

  .features .fabric h2 {
    font-size: 1.2rem;
  }

  .features .sip h2 {
    font-size: 2rem;
    padding-top: 0.2rem;
  }

  .features .sip p {
    padding: 0.1rem 0.5rem;
  }

  .features .isofix p {
    font-size: 0.75rem;
    line-height: 1;
    padding: 0 0.5rem 0.5rem;
  }

  .features .head-back,
  .features .positions {
    height: 243px;
  }

  .features .positions h2 {
    font-size: 1.8rem;
    padding: 2.7rem 0 0 1.6rem;
  }

  .features.sizes {
    height: 194px;
  }

  .features.sizes h2 {
    font-size: 1.4rem;
    padding: 0.7rem 0 0 2rem;
  }

  .video {
    height: 365px;
  }

  .gif-side,
  .gif {
    height: 320px;
  }

  .law p {
    padding: 1rem 6rem;
  }
}

@media (min-width: 568px) {
  .grid {
    display: grid;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:row-span-2 {
    grid-row: span 2 / span 2;
  }

  .sm\:mt-0 {
    margin-top: 0;
  }

  .sm\:mb-0 {
    margin-bottom: 0;
  }
}

@media (max-width: 568px) {
  .layout-container .container {
    width: 548px;
  }

  .snugfix-chair .description h1 {
    font-size: 1.8rem;
  }

  .snugfix-chair .description p {
    font-size: 1.2rem;
  }

  .features .rotation {
    background-size: 270px auto;
    height: 159px;
  }

  .features .rotation p {
    font-size: 0.9rem;
    padding: 0 0 1rem 0.9rem;
  }

  .features .sip h2 {
    font-size: 1.5rem;
  }
  .features .sip p {
    font-size: 0.65rem;
  }

  .features .isofix p {
    font-size: 0.65rem;
  }

  .features .head-back,
  .features .positions {
    height: 205px;
  }

  .features .positions h2 {
    font-size: 1.5rem;
    padding: 2.3rem 0 0 1.6rem;
  }

  .features.sizes {
    height: 160px;
  }
  .features.sizes h2 {
    font-size: 1.2rem;
    padding: 0.5rem 0 0 1.5rem;
  }

  .video {
    height: 308px;
  }

  .law p {
    font-size: 0.8rem;
    padding: 1rem 5rem;
  }
}

@media (max-width: 440px) {
  .layout-container .container {
    width: 415px;
  }

  .visible-tablet,
  .visible-desktop {
    display: none !important;
  }
  .visible-mobile {
    display: block !important;
  }

  .features .rotation {
    background-size: 100% auto;
    height: 247px;
  }

  .features .rotation p {
    font-size: 1.2rem;
    padding: 0 0 2rem 1.5rem;
  }

  .features .fabric h2 {
    font-size: 1.5rem;
    padding: 2.4rem 0 0 0.2rem;
  }

  .features .fabric h2 span {
    padding-left: 1rem;
  }

  .features .fabric p {
    padding-top: 0.8rem;
    font-size: 0.85rem;
  }

  .features .sip h2 {
    font-size: 4rem;
  }

  .features .sip p {
    font-size: 0.75rem;
  }

  .features .isofix p {
    font-size: 0.85rem;
    padding-bottom: 1rem;
  }

  .features .head-back,
  .features .positions {
    height: 315px;
  }

  .features .positions h2 {
    font-size: 2.5rem;
    padding: 3.7rem 0 0 2rem;
  }

  .features.sizes {
    height: 121px;
  }

  .features.sizes h2 {
    font-size: 0.9rem;
    padding: 0.5rem 0 0 1rem;
  }

  .video {
    height: 233px;
  }

  .law p {
    font-size: 0.8rem;
    padding: 1rem 1rem;
  }
}

@media (max-width: 375px) {
  .layout-container .container {
    width: 350px;
  }

  .features .rotation {
    height: 208px;
  }
  .features .rotation p {
    font-size: 1rem;
    padding: 0 0 2rem 1.2rem;
  }
  .features .fabric h2 {
    font-size: 1.3rem;
  }
  .features .sip h2 {
    font-size: 3rem;
  }

  .features .head-back,
  .features .positions {
    height: 265px;
  }

  .features .positions h2 {
    font-size: 2rem;
    padding: 3rem 0 0 1em;
  }

  .features.sizes {
    height: 103px;
  }
  .features.sizes h2 {
    font-size: 0.8rem;
    padding: 0.3rem 0 0 0.6rem;
  }
  .video {
    height: 196px;
  }
  .law p {
    font-size: 0.7rem;
    padding: 0.8rem;
  }
}
