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

h1, h2, h3, h4, h5, h6 {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  font-weight: 700;
  font-style: normal;
}

p, li, a, td {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  font-weight: 300;
  font-style: normal;
  list-style-type: none;
}

a {
  text-decoration: none;
  color: #00aeef;
}
a:hover {
  color: #bcedff;
}

.nav {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

nav ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  text-transform: uppercase;
  width: 100vw;
  background-color: red;
  color: #ffffff;
}
nav ul li a {
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 1em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8em;
}
nav ul li a p.desk {
  display: none;
}

.contact {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1em 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
  padding: 0.8em;
  color: #ffffff;
  text-align: center;
  background-color: rgb(28, 28, 132);
}
.contact a {
  color: #ffffff;
}
.contact a:hover {
  color: #00aeef;
}

header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #ffffff;
  padding: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 160px;
}
header .logo img {
  width: 80vw;
  max-width: 240px;
}

main {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  background-color: #00aeef;
  color: #FFFEEE;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 20vh;
  padding: 4em;
}
main .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}

.Services {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #00aeef;
  gap: 2em;
}
.Services > div {
  padding: 2em;
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
  -o-border-radius: 12px;
  -ms-border-radius: 12px;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
}
.Services > div .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
}
.Services > div .heading h2, .Services > div .heading p {
  background-color: #00aeef;
  color: #FFFEEE;
  padding: 10px;
  -o-border-radius: 12px;
  -ms-border-radius: 12px;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
}
.Services > div .gallery {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1em 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
}
.Services > div img {
  width: 100%;
  -o-border-radius: 12px;
  -ms-border-radius: 12px;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
}

#roof, #gutters, #drive, #caravans, #windows {
  scroll-margin-top: 100px;
}

.gap-filler {
  height: 2em;
  background-color: #00aeef;
  width: 100vw;
}

.gap-filler6m {
  height: 6em;
  background-color: #00aeef;
  width: 100vw;
}

footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2em;
}
footer .socials ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2em;
}
footer .socials img {
  height: 30px;
}

.icon {
  height: 32px;
}

img.logo-footer {
  width: 200px;
}

@media screen and (min-width: 1000px) {
  .Services {
    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;
  }
  .Services > div {
    max-width: 80vw;
  }
  .Services > div .gallery {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1500px) {
  .Services > div {
    max-width: 66.7vw;
  }
  nav ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    text-transform: uppercase;
    width: 100vw;
    background-color: red;
    color: #ffffff;
    position: sticky;
  }
  nav ul li a {
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 1em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8em;
  }
  nav ul li a p.desk {
    display: block;
  }
  .contact {
    display: sticky;
  }
}
@media screen and (min-width: 2000px) {
  .Services > div .gallery {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
  }
}