* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

header {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin: 2em;
  gap: 2em;
}
header .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
header .logo img {
  width: 240px;
}
header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
header nav ul li {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

main {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}

.cta {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ebebff;
}
.cta .cta-content {
  padding-inline: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4em;
  margin-block: 3em;
}
.cta .cta-content h1 {
  text-transform: uppercase;
  font-size: 3.2rem;
  line-height: 4rem;
  text-align: center;
}
.cta .cta-content .span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  padding: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -o-border-radius: 30px;
  -ms-border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
}
.cta .cta-content .span img.map-pin {
  width: 100px;
}
.cta .cta-content .action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-block: 2em;
  padding: 2em;
  gap: 2em;
}
.cta .cta-graphic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
.cta .cta-graphic img {
  width: 100%;
}

table, td, th {
  border: 1px solid #0000ff;
  border-collapse: collapse;
}

table {
  width: 100%;
}

td, th {
  padding: 20px;
}

.product {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
.product .product-head {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 2em;
  padding-block: 6em;
  width: 100%;
  text-align: center;
}
.product .product-head h2 {
  line-height: 3rem;
}
.product .product-head p {
  font-size: 1.2em;
  line-height: 2rem;
}
.product .product-detail {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 3em;
}
.product .product-detail .product-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.product .product-detail .product-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3em;
  padding-inline: 3em;
}
.product .product-detail .product-images img {
  width: 100%;
  -o-border-radius: 30px;
  -ms-border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
}

.location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 3em;
  padding-block: 8em;
  gap: 3em;
}
.location .location-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  gap: 1em;
}
.location .map {
  width: 100%;
}
.location .map iframe {
  -o-border-radius: 30px;
  -ms-border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
}

.uses {
  background-color: #e6e6ff;
  padding: 2em;
}
.uses .uses-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2em;
}
.uses .uses-head h2 {
  line-height: 2em;
}
.uses .uses-details {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2em;
}
.uses .uses-details .use-case img {
  width: 100%;
}

footer {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  background-color: #0000ff;
  color: #ffffff;
  padding: 3em;
  gap: 3em;
}
footer .footer-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  justifyu-content: center;
}
footer .footer-left h1 {
  font-size: 2.4rem;
  line-height: 3rem;
}
footer .footer-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer .footer-right table tr {
  padding: 0;
  margin: 0;
  line-height: 0;
}
footer .comms {
  margin-block: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: flex;
      -ms-flex-align: flex;
          align-items: flex;
  gap: 1em;
}
footer .comms h3 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6em;
  color: #ffffff;
  text-decoration: none;
}
footer .comms h3 a:hover {
  color: #9999ff;
}
footer .comms h3 img {
  width: 1.6em;
  position: relative;
  top: -4px;
}
footer .cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}

img.map-pin {
  width: 2em;
}

button {
  text-transform: uppercase;
  font-size: 1.5rem;
  padding: 0.3em 0.5em;
  border: none;
  cursor: pointer;
  max-width: 300px;
  -o-border-top-right-radius: 40px;
  -ms-border-top-right-radius: 40px;
  -moz-border-top-right-radius: 40px;
  -webkit-border-top-right-radius: 40px;
  -o-border-bottom-left-radius: 40px;
  -ms-border-bottom-left-radius: 40px;
  -moz-border-bottom-left-radius: 40px;
  -webkit-border-bottom-left-radius: 40px;
}

.contact-btn {
  background-color: red;
  color: #ffffff;
  background-image: url("../img/mailbox.svg");
  background-repeat: no-repeat;
  background-position: 1em;
  background-size: 1.2em;
  padding-left: 3em;
  padding-right: 1em;
}
.contact-btn:hover {
  background-color: #990000;
}

.find-btn {
  background-color: #ebebff;
  outline: #0000ff 1px solid;
  color: #9999ff;
  background-image: url("../img/search_on.svg");
  background-repeat: no-repeat;
  background-position: 1em;
  background-size: 1.2em;
  padding-left: 3em;
  padding-right: 1em;
}
.find-btn:hover {
  background-color: #000099;
  background-image: url("../img/search.svg");
  color: #ffffff;
}

.use-case img {
  -o-border-top-right-radius: 40px;
  -ms-border-top-right-radius: 40px;
  -moz-border-top-right-radius: 40px;
  -webkit-border-top-right-radius: 40px;
  -o-border-bottom-left-radius: 40px;
  -ms-border-bottom-left-radius: 40px;
  -moz-border-bottom-left-radius: 40px;
  -webkit-border-bottom-left-radius: 40px;
}

p, td {
  font-family: "century-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

h1, h2, h3, h4, h5, li, a, th {
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

h1 {
  font-size: 2.5em;
}

h2 {
  font-size: 1.5rem;
}

h2.tel {
  font-size: 2.6rem;
}

.use-case h2 {
  line-height: 2em;
}
.use-case p {
  line-height: 1.6em;
}

a {
  text-decoration: none;
  color: #0000ff;
}
a li {
  color: #000099;
  padding: 0.4em 0.6em;
}
a li:hover {
  background-color: #0000ff;
  padding: 0.4em 0.6em;
  color: #ffffff;
  -o-border-radius: 30px;
  -ms-border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
}

@media screen and (min-width: 500px) {
  .cta .cta-content h1 {
    font-size: 4em;
  }
}
@media screen and (min-width: 768px) {
  header {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .cta .cta-content h1 {
    font-size: 6rem;
    line-height: 1.25em;
  }
  .uses .uses-details {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1056px) {
  .cta {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .cta .cta-content h1 {
    font-size: 3rem;
    line-height: 5rem;
  }
  .cta .cta-graphic {
    height: 28.25vw;
  }
  .product .product-head {
    gap: 2em;
  }
  .product .product-detail {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .uses {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .uses .uses-details {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 1600px;
  }
  .uses .uses-details .use-case h2 {
    font-size: 2em;
  }
  h2.cta-span {
    font-size: 1em;
  }
  footer {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    padding: 2em;
  }
}
@media screen and (min-width: 1600px) {
  .cta .cta-content h1 {
    font-size: 6em;
  }
}