:root {
  --r4-gray: #455560;
  --r4-gray-rgb: 69, 85, 96;

  --r4-gray-hsl: 204deg, 16%, 32%;
  --r4-gray-dark-hsl: 204deg, 16%, 24%;
  --r4-gray-darker-hsl: 204deg, 16%, 22%;
  --r4-gray-darkest-hsl: 204deg, 16%, 20%;
  --r4-gray-light-hsl: 204deg, 16%, 80%;
  --r4-gray-lightest-hsl: 204deg, 16%, 90%;

  --r4-red: #e23d28;
  --r4-red-rgb: 226, 61, 40;
  --r4-red-darker: 7deg, 76%, 42%;
  --r4-red-hsl: 7deg, 76%, 52%;
  --r4-red-light-hsl: 7deg, 76%, 70%;
  --r4-red-lighter-hsl: 7deg, 76%, 80%;
  --r4-red-lightest-hsl: 7deg, 76%, 90%;
}

/* Chrome, Edge and Safari */
* {
  &::-webkit-scrollbar {
    height: 9px;
    width: 9px;
  }
  &::-webkit-scrollbar-track {
    border-radius: 0px;
    background-color: #455560;
  }

  &::-webkit-scrollbar-thumb {
    border-radius: 0px;
    background-color: #e23d28;
  }
}

body,
main {
  font-family: sans-serif;
  background-color: hsl(var(--r4-gray-dark-hsl)) !important;
}

main {
  min-height: 50dvh;
}

footer {
  background-color: hsl(var(--r4-gray-hsl)) !important;
  color: hsl(var(--r4-gray-lightest-hsl)) !important;

  & a {
    color: hsl(var(--r4-gray-light-hsl)) !important;
  }
}

.logo {
  height: min(7dvw, 64px);
}

::selection {
  color: white;
  background: var(--r4-red);
}

.btn-r4-red {
  background-color: var(--r4-red) !important;
  color: white;
}

.bg-r4-red {
  background-image: linear-gradient(
    to top right,
    hsl(var(--r4-red-hsl)),
    hsl(var(--r4-red-darker))
  );
  background-color: var(--r4-red) !important;
  color: white;
}

.offcanvas-body form .form-control,
.offcanvas-body form .form-select,
.offcanvas-body form .form-floating .card {
  background-image: linear-gradient(
    to bottom left,
    hsl(var(--r4-gray-darkest-hsl)),
    hsl(var(--r4-gray-darker-hsl))
  ) !important;
  background-color: hsl(var(--r4-gray-darker-hsl)) !important;
  color: white;

  & option {
    background-color: hsl(var(--r4-gray-darker-hsl)) !important;
    color: white;
  }
}

.bg-r4-gray {
  background-color: var(--r4-gray) !important;
}
.btn-r4-gray {
  background-color: var(--r4-gray) !important;

  color: white !important;
}
.btn-r4-gray:hover {
  background-color: hsl(var(--r4-gray-darker-hsl)) !important;
  color: hsl(var(--r4-gray-light-hsl)) !important;
}

.btn-r4-red:hover {
  background-color: hsl(var(--r4-red-lightest-hsl)) !important;
  color: var(--r4-red) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}
p,
li {
  text-wrap: pretty;
}

ol[data-bs-theme="light"] li a:hover {
  color: hsl(var(--r4-gray-dark-hsl));
}

.text-r4-red {
  color: var(--r4-red) !important;
}

.text-r4-light-red {
  color: hsl(var(--r4-red-light-hsl)) !important;
}

.text-r4-lighter-red {
  color: hsl(var(--r4-red-lighter-hsl)) !important;
}

.text-r4-lightest-red {
  color: hsl(var(--r4-red-lightest-hsl)) !important;
}

.text-r4-dark {
  color: hsl(var(--r4-gray-dark-hsl)) !important;
}

.text-r4-darker {
  color: hsl(var(--r4-gray-darker-hsl)) !important;
}

.text-r4-darkest {
  color: hsl(var(--r4-gray-darkest-hsl)) !important;
}

.border-r4-red {
  border-color: var(--r4-red) !important;
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: hsl(var(--r4-red-hsl));
}

.r4bar {
  width: 100%;
  display: flex;
  background-color: white;
  gap: 0 5px;

  & * {
    flex: 1;
    height: 3px;
  }

  & :nth-child(even) {
    background-color: hsl(var(--r4-gray-hsl));
  }

  & :nth-child(odd) {
    background-color: hsl(var(--r4-red-hsl));
  }
}

.figure {
  display: grid !important;
  place-items: center;
  justify-items: center;
  grid-template-areas: "inner-div";
  box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 9px;

  & img {
    z-index: 1;
    grid-area: inner-div;
    filter: blur(2px);
    opacity: 0.8;
    margin-bottom: 0 !important;
  }

  & .figure-caption {
    font-family: "open spans";
    text-align: center;
    grid-area: inner-div;
    font-weight: bold;
    font-size: 2.8rem;
    z-index: 10;
    text-shadow: hsl(var(--r4-gray-darkest-hsl)) 1px 1px 2px;
    color: hsl(var(--r4-gray-lightest-hsl));
  }
}

ol,
ul:not(nav) {
  & li.list-group-item {
    background: none !important;
    font-size: 1.2rem;

    & a {
      color: #e23d28;
      font-weight: bold;
      font-family: "open sans";
      text-shadow: rgba(0, 0, 0, 0.3) 0.2px 0.2px 5px;
    }
  }
}

.jumbotron-img {
  min-height: 30dvh;
  background-size: cover;
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 6px;
}

.text-shadow {
  text-shadow: black 3px 2px 6px;
}

#btn-back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
  z-index: 1;
}

.offcanvas {
  background-color: hsl(var(--r4-gray-darkest-hsl)) !important;
}

section {
  & h3.title {
    color: #e23d28;
    text-shadow: black 1px 1px 6px;
    margin-bottom: 1.5rem;
  }

  & a:not(.btn) {
    color: #e23d28;
    text-shadow: black 1px 1px 6px;
    font-weight: 500;

    &:hover {
      color: white;
    }
  }
}
#tableOfContent .card {
  color: #e23d28;
  border: none;
  background-image: linear-gradient(
    to bottom right,
    hsla(7, 76%, 99%, 0.9),
    hsla(7, 76%, 99%, 1),
    hsla(7, 76%, 99%, 0.9)
  );
}
#voip .card,
#wifiOptions .card,
#prices .card {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: linear-gradient(
    to top left,
    hsl(7deg, 76%, 52%),
    hsl(7deg, 76%, 60%)
  );

  &.plan-entry {
    background-image: url("http://ftth.reach4com.com/QR/src/images/banner-min.png") !important;
  }

  &.plan-basic {
    background-image: url("http://ftth.reach4com.com/QR/src/images/basic-min.png") !important;
  }

  &.plan-enhanced {
    background-image: url("http://ftth.reach4com.com/QR/src/images/enhanced-min.png") !important;
  }

  &.plan-office {
    background-image: url("http://ftth.reach4com.com/QR/src/images/office-min.png") !important;
  }

  &.plan-family {
    background-image: url("http://ftth.reach4com.com/QR/src/images/family-min.png") !important;
  }

  &.plan-gaming {
    background-image: url("http://ftth.reach4com.com/QR/src/images/gaming-min.png") !important;
  }

  &.plan-phone {
    background-image: url("http://ftth.reach4com.com/QR/src/images/phone-min.png") !important;
  }

  &.plan-computer {
    background-image: url("http://ftth.reach4com.com/QR/src/images/computer-min.png") !important;
  }

  & .card-body {
    background-color: hsla(var(--r4-gray-darker-hsl), 0.8);
    border-radius: 0.2rem;

    & p,
    & h3 {
      text-shadow: 1px 1px 2px black;
    }
  }
}
.banner-icon {
  background-size: 85% 85%;
  background-position: 0px center;
  background-repeat: no-repeat;
}

.banner-icon.fiber {
  background-color: white;
  background-image: url("http://ftth.reach4com.com/QR/src/images/internet.svg");
}

.banner-icon.tower {
  background-position: right center;
  /* background-color: #E23D28; */
  background-image: url("http://ftth.reach4com.com/QR/src/images/tower.svg");
}

.banner-icon.phone {
  background-color: white;
  background-image: url("http://ftth.reach4com.com/QR/src/images/phone.svg");
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

#wifiOptions,
#voip {
  & ul > li.list-group-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }
}

.signup {
  display: flex;
  position: fixed;
  bottom: 10rem;
  right: 0px;
  width: 10rem;
  /* height: 8rem; */
  background-color: white;
  /* outline: #e23d28 2px solid; */
  border-radius: 0.5rem 0 0 0.5rem;
  padding: 1rem;
  color: #e23d28;

  justify-content: center;
  align-items: center;

  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
}

.signup:hover {
  color: white;
  background-color: #e23d28;
  /* outline: red 2px solid; */
}
section.title {
  background-image: linear-gradient(
    to bottom left,
    hsl(5deg, 76%, 58%),
    hsl(7deg, 76%, 52%),
    hsl(7deg, 76%, 46%)
  ) !important;
}
