html, body, div {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Public Sans', sans-serif;
  font-size: 18px;
  line-height: 1.45;
  padding:0;
  overflow-x: hidden;
  margin: 0;
  background: #F3EEE3;
  color: #171D22;
}

body.photo-page,
body.form-page,
body.thankyou-page {
  background: #F3EEE3;
  color: #171D22;
}

h1, h2, h3, label, .header p {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.25;
  display: block;
  margin: 0;
  padding: 0;
  font-weight: 200;
}

h2, label {
  line-height: 1.5;
}
p, label, button {
  margin:1em 0;
  font-weight: 200;
  letter-spacing: 0.15px;
  text-align: left;
}
a {
  color: #171D22;
  font-weight: 200;
  transition: all .2s ease-in-out;
}

.photos a {
  display: block;
  background: #171D22;
}
.photos img {
  display: block;
  margin-bottom: 2vw;
  transition: 0.25 ease-in-out;
  filter: grayscale(1);
}
.photos a:hover img {
  opacity: .7;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul li, ol li {
  padding: 0;
  margin: 0;
  font-weight: 200;
}

.topimage, .top {
  position: relative;
  width:100vw;
  height:100vh;
  background: #171D22;
  text-align: center;
  overflow:hidden;
}
.topimage {
  position: absolute;
  height:100vh;
  top:0;
  left:0;
  background: url(img/surtees.jpg);
  background-image:
    linear-gradient(to bottom, rgba(23,29,34, 0.3) 0%, #171D22 100%), url(/img/surtees.jpg);
  background-size: cover;
  background-position: center;
}

.header {
  text-align: center;
  width:100vw;
  margin:56px auto 40px;
}
.start-page .header {
  margin: 56px 0 0;
}


.logo {
  width:120px;
  margin: 0 auto;
}
.start-page .logo {
  position: absolute;
  width:260px;
  top: 50vh;
  left: 50vw;
  margin:-80px 0 0 -130px;
}

div.page {
  width: 100vw;
  padding:0;
}

#photos {
  position: relative;
  top:-2vw;
}
.photos {
  display: flex;
  position: relative;
  max-width: 1600px;
  width: 96vw;
  margin: 0 auto;
  overflow: hidden;
}
.photos div:first-child {
  padding:0 1vw 0 0;
}
.photos div:last-child {
  padding:0 0 0 1vw;
}
.photo40 {
  width: 38.35%;
}
.photo60 {
  width: 61.65%;
}
.photo50 {
  width: 50%;
}
.photo40 img, .photo50 img, .photo60 img {
  width:100%;
  aspect-ratio: 1.5/1;
  object-fit: cover;
}
.photo40 img.portrait {
  aspect-ratio: 1/1.5;
}
.photo40 img,
.photo50 img,
.photo60 img {
  width: 100%;
}
.photos h2 {
  margin: 40px 0 1vw;
}

.start-page h1 {
  padding:1em 1em 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: 42px;
  font-weight: 200;
  margin: 0 auto 40px;
  max-width: 100vw;
  width: 580px;
}

.start-page .header h2 {
  margin-bottom: 40px;
}


.text {
  padding: 20px 60px 60px;
  max-width: 900px;
  margin: 0 auto 40px;
  position: relative;
  font-weight: 200;
  text-align: center;
  display: flex;
}
.text.noflex {
  display: block;
}
.text + .text {
  padding:0 60px;
  margin-bottom: 0;
}
.story {
  width: 100vw;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.story .text {
  position: relative;
  max-width: 100vw;
  width: 1200px;
  margin: 0 auto 40px;
}
.story .text div {
  width: 50%;
  padding: 0 40px;
  text-align: left;
}
.photo .text {
  max-width: 800px;
  margin-bottom: 60px;
}

.photo ul {
  margin:24px 0 0 40px;
  padding-left: 40px;
  border-left: .25px solid #111;
  text-align: left;
}
.photo ul li {
  width: 140px;
  display: block;
  font-size: 14px;
  margin: 0 0 6px;
}

.firstp::first-letter  {
  font-family: "Bungee Outline";
  font-size: 4.85em;
  display: block;
  float:left;
  line-height: 0.7;
  margin: 8px 12px 5px 0;
  padding: 0;
}

.footer {
  margin-top: 1.5vw;
}
.footer p {
  font-size: 12px;
  text-align: center;
}


.photo, .photo100 img {
  width:100vw;
  max-width: 900px;
  margin: 0 auto;
}
.photo.portrait, .photo.portrait .photo100 img {
  max-width: 600px;
}
.photo .text div {
  text-align: left;
}

.nav-photos {
  text-align: center;
  width:100vw;
  max-width: 1600px;
  margin: 0 auto;
}
.nav-photos h2 {
  margin-bottom: 20px;
}



.nav-cart {
  position: fixed;
  height:40px;
  width:60px;
  top: 0;
  right:-100px;
  background: #fff;
  z-index: 10;
  border-bottom-left-radius: 3px;
  padding-left: 12px;
  transition: .25s ease-in-out;
}
.nav-cart.active {
  right:0;
}
.nav-cart span {
  width: 18px;
  height: 20px;
  text-align: center;
}
.nav-cart span.cart {
  display: block;
  background: url(img/cart-b.svg) no-repeat;
  background-position: center;
  transition: .25s ease-in-out;
}
.nav-cart a {
  color: #111;
  text-decoration: none;
  display: flex;
  font-size: 14px;
  padding:10px 0 0 0;
  transition: .25s ease-in-out;
}
.nav-cart.flash {
  background: #111;
}
.nav-cart.flash span.cart {
  background: url(img/cart-w.svg) no-repeat;
  background-position: center;
}
.nav-cart.flash a {
  color: #fff;
}


.form {
  max-width: 700px;
  margin: 0 auto;
}

.text ul.item {
  display: flex;
  align-items: center;
  margin:0 auto 20px;
  padding-bottom: 10px;
  border-bottom: 0.5px solid #111;
}
.text ul.item li {
  padding:0 10px;
}
.text ul.item li:first-child {
  padding:0 10px 0 0;
}
ul.item .quantity a {
  display: inline-block;
  width:300px;
  text-align: left;
}
.total {
  display: block;
  text-align: center;
}
ul.item .item-btn {
  cursor: pointer;
}


#checkout img {
  width: 100px;
}
#checkout .item-btn img {
  width: 30px;
  margin: 5px;
}


input[type="text"], input[type="email"], textarea {
  font-family: 'Public Sans', sans-serif;
  font-size: 14px;
  font-weight: 200;
  color: #111;
  background: #F3EEE3;
  border: 0.5px solid #111;
}

button {
  display: block;
  width: 100%;
  text-align: center;
  padding:16px;
  text-decoration: none;
  margin: 0 0 20px;
  cursor: pointer;
  background: #171D22;
  color:#fff;
  border: none;
  font-size:16px;
}

input[type="text"], input[type="email"], textarea {
  width: 100%;
  display: block;
  padding: 10px;
  margin-bottom:0;
  outline: none;
  background-clip: padding-box;
  border-radius: 0px;
  -webkit-border-radius:0px;
}

#checkout button {
  margin: 3em 0 60px;
}

input.invalid:not(:focus),
textarea.invalid:not(:focus) {
  background: #F3EEE3;
  border:0.5px solid #E32636;
}

input::placeholder {
  color:#999;
}
input.ph-hidden::placeholder {
  color:#999;
}

input.invalid:not(:focus)::placeholder,
textarea.invalid:not(:focus)::placeholder {
  color: #E32636;
}

input + p.radio {
  margin-top: 30px;
}
p.radio {
  margin-bottom: 10px;
}

p.error {display: none;}
p.error.active {display: block; margin: 2em 0; padding-left:1em; border-left:5px solid #E32636;}
p.error.active span {}
p.error a {text-decoration: underline;}

.hidden, ul.item.hidden,
#checkout.inactive {
  display:none;
}

p.small {
  font-size: 13px;
}



#termly-code-snippet-support div,
#termly-code-snippet-support p {
  font-family: 'Public Sans', sans-serif !important;
  font-size: 16px;
  line-height: 1.4 !important;
}
#termly-code-snippet-support td,
#termly-code-snippet-support th,
#termly-code-snippet-support td div {
  font-size: 12px !important;
}
#termly-code-snippet-support button {
  text-align: center;
  margin: 0 5px;
  font-size: 16px !important;
  font-weight: normal !important;
}
#termly-code-snippet-support .prefereceCenterDetailsHeader button {
  margin-top: 20px;
  border:0 !important;
  padding:0;
}
#termly-code-snippet-support h2,
#termly-code-snippet-support h3 {
  font-size: 16px;
  letter-spacing: 0.2px;
}



@media only screen and (max-width: 979px) {
  .story .text div {
    padding: 0 30px;
  }
  .text {
    padding-left: 20px;
    padding-right: 20px;
  }
  .start-page h1 {
    font-size: 36px;
  }
}

@media only screen and (max-width: 767px) {
  .story .text {
    display: block;
  }
  .story .text div {
    width: 100%;
    padding: 0 20px;
  }
  .photo-page .header,
  .thankyou-page .header {
    padding:0 20px;
  }
  .text ul.item {
    display: block;
  }
  ul.item .quantity a {
    width:auto;
  }
  .text ul.item li:first-child {
    padding:0;
  }
}

@media only screen and (max-width: 579px) {
  .text {
    display: block;
  }
  .start-page h1 {
    font-size: 28px;
  }
  .text ul {
    border-left: 0;
    padding: 20px 0 0;
    margin: 20px 0 0;
  }
  .text ul li {
    width: 100%;
    text-align: center;
  }

}
