/* Brand Colors */

:root {
  --red: #ED1C24;
  --darkRed: #C6181F;
  --yellow: #FFD204;
}

/* Global Styles */

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  padding-bottom: 5rem;
}

* {
  font-family: 'Roboto', sans-serif;
}

h1 {
  font-family: 'Work Sans', sans-serif;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: solid 1px underline;
}

.twoCornerCut {
  width: 100%;
  clip-path: polygon(90% 0%, 100% 10%, 100% 100%, 10% 100%, 0% 90%, 0% 0%);
}

.honeycomb {
  position: absolute;
  z-index: -1;
  max-width: 100vmax;
}

#honeycomb2 {
  transform: translate(30vw, 125vh) rotate(90deg);
}

#honeycomb3 {
  transform: translateY(250vh) rotate(180deg);
}

#honeycomb4 {
  transform: translate(-20vw, 375vh) rotate(-90deg);
}

#backgroundContainer {
  position: relative;
  overflow: hidden;
  flex-grow: 1;
}

/* Navigation Bar */

nav .col, nav .flex-column {
  height: 6rem;
  box-sizing: content-box;
  align-items: baseline !important;
  background: rgb(36,36,36);
  background: -moz-linear-gradient(0deg, rgba(36,36,36,1) 50%, rgba(0,0,0,1) 100%);
  background: -webkit-linear-gradient(0deg, rgba(36,36,36,1) 50%, rgba(0,0,0,1) 100%);
  background: linear-gradient(0deg, rgba(36,36,36,1) 50%, rgba(0,0,0,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#242424",endColorstr="#000000",GradientType=1);
}

nav ul {
  position: relative;
  top: 0.5rem;
}

nav a {
  color: white !important;
  margin: 0 !important;
}

nav button {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}

#navLogo {
  height: 6rem;
}

#navLeft:after, #navRight:before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  border-bottom: 2.5rem double #fff;
}

#navLeft:after {
  border-right: 2.5rem solid #242424;
}

#navRight:before {
  border-left: 2.5rem solid #242424;
}

.navFullGrey {
  border-color: #242424;
}

#navList {
  padding: 1rem;
  background-color: #242424;
  clip-path: polygon(0% 0%, 30% 0%, 33% 5%, 67% 5%, 70% 0%, 100% 0%, 100% 95%, 97% 100%, 3% 100%, 0% 95%);
}

/* Footer */

footer {
  position: absolute;
  bottom: 0;
  z-index: 2;
}

footer .col {
  background-color: #242424;
  color: white;
}

footer a, footer a:hover {
  color: white;
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
}

footer object {
  width: 1rem;
  height: 1rem;
}

#footLeft {
  border-top: 2rem double #fff;
  border-right: 2rem solid #242424;
}

#footRight {
  border-top: 2rem double #fff;
  border-left: 2rem solid #242424;
}

/* Products Page */

.product {
  height: 20rem;
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  border: solid thin #242424;
}

.product:hover {
  cursor: pointer;
}

.productImage {
  height: 75%;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.productImage img {
  max-height: 100%;
}

.productImage img:hover {
  transform: scale(1.1);
  transition: 0.25s ease-out;
}

.product > span {
  align-items: center;
  padding: 1%;
}

.product h3 {
  font-size: 1rem !important;
  margin: 0;
}

.modal img {
  width: 100%;
}

.modal-body a {
  font-weight: bolder;
}

/* Alarm Activation Page */

#alarmModelLabel {
  display: block;
  font-weight: 700;
  font-size: 16px;
  float: none;
  line-height: 1.3;
  margin: 0 0 4px 0;
}

#alarmModelLabel>span {
  color: #ff0000;
  font-weight: 400;
}

.formSelector:checked {
  background-color: var(--yellow);
  border-color: var(--yellow);
}

.formSelector:focus {
  border-color: var(--yellow);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(255 210 4 / 25%);
}

.formSelector:disabled {
  opacity: 100%;
}

/* Installation Guides Page */

.accordion button, .accordion button:hover {
  color: black;
  text-decoration: none;
}

.accordion button:focus {
  box-shadow: none;
}

.accordion h3 {
  font-size: 1rem;
  font-weight: normal;
  display: inline-block;
}

.accordion object {
  width: 2rem;
  height: 2rem;
}

.diagram {
  width: 100%;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Dealers Page */

.dealer {
  height: 10rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: white;
  border: solid thin #242424;
  border-radius: 0.25rem;
}

/* Contact Page */

.contactInfo a {
  color: black;
}

#contactForm button {
  background-color: var(--red);
  border-color: var(--red);
}

#contactForm button:hover {
  background-color: var(--darkRed);
  border-color: var(--darkRed);
}
