:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-31b0f94 *//* =========================
   WEDDINGS & EVENTS PAGE
========================= */

section{
  padding:78px 0;
  border-bottom:1px solid var(--line);
}

.dark{
  background:var(--ink);
  color:var(--paper);
  border-bottom:0;
}

.dark .note{
  color:rgba(231,234,227,.6);
}

.kicker{
  font-family:var(--serif);
  font-size:15px;
  color:var(--brass);
  margin-bottom:12px;
}

h2{
  font-size:clamp(29px,3.9vw,45px);
  max-width:21ch;
}

.sub{
  max-width:56ch;
  margin-top:16px;
  color:rgba(14,35,32,.78);
}

.dark .sub{
  color:rgba(231,234,227,.8);
}

.btn{
  display:inline-block;
  font-family:var(--sans);
  font-size:15px;
  font-weight:500;
  padding:13px 22px;
  text-decoration:none;
  border:1px solid currentColor;
  border-radius:2px;
  background:none;
  color:inherit;
  cursor:pointer;
}

.btn.primary{
  background:var(--brass);
  border-color:var(--brass);
  color:#160f01;
  font-weight:600;
}

.btn.primary:hover{
  background:#c19c4d;
}

.row{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:26px;
}

.split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:52px;
  align-items:start;
}


/* =========================
   WEDDING RATING
========================= */

.proof{
  display:flex;
  align-items:center;
  gap:13px;
  margin:18px 0 6px;
}

.stars{
  color:var(--brass);
  font-size:18px;
  letter-spacing:2px;
}


/* =========================
   PHOTO GALLERY
========================= */

.gal{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px;
  margin-top:32px;
}


/* =========================
   EVENT CHECKLIST
========================= */

.checks{
  columns:2;
  column-gap:32px;
  font-size:15.5px;
  margin-top:20px;
  padding:0;
  list-style:none;
}

.checks li{
  padding:6px 0 6px 19px;
  position:relative;
  break-inside:avoid;
}

.checks li:before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  width:9px;
  height:1px;
  background:var(--brass);
}


/* =========================
   TABLES
========================= */

table{
  width:100%;
  border-collapse:collapse;
  margin-top:24px;
  font-size:15.5px;
}

th,
td{
  text-align:left;
  padding:13px 12px;
  border-bottom:1px solid var(--line);
}

th{
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(14,35,32,.62);
  font-weight:600;
}

td:last-child,
th:last-child{
  text-align:right;
}


/* =========================
   EVENT FORM
========================= */

form{
  margin-top:24px;
}

.field{
  margin-bottom:15px;
}

label{
  display:block;
  font-size:12.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(14,35,32,.7);
  margin-bottom:6px;
}

input,
select,
textarea{
  width:100%;
  font:inherit;
  font-size:16px;
  padding:12px;
  border:1px solid var(--line);
  background:var(--paper2);
  border-radius:2px;
  color:var(--ink);
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible{
  outline:2px solid var(--brass);
  outline-offset:2px;
}

textarea{
  resize:vertical;
}

.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}


/* =========================
   RADIO BUTTONS
========================= */

.radios{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.radios label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-transform:none;
  letter-spacing:0;
  font-size:15px;
  border:1px solid var(--line);
  padding:9px 13px;
  border-radius:2px;
  cursor:pointer;
  color:var(--ink);
  margin:0;
}

.radios input{
  width:auto;
}


/* =========================
   FORM SUCCESS MESSAGE
========================= */

.ok{
  background:var(--pine);
  color:var(--paper);
  padding:13px 15px;
  font-size:15px;
  margin-top:14px;
  border-radius:2px;
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:920px){

  .split{
    grid-template-columns:1fr;
    gap:30px;
  }

}

@media(max-width:760px){

  section{
    padding:58px 0;
  }

  .gal{
    grid-template-columns:1fr 1fr !important;
  }

  table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }

}

@media(max-width:640px){

  .checks{
    columns:1;
  }

}

@media(max-width:560px){

  .two{
    grid-template-columns:1fr;
  }

}

@media(max-width:520px){

  .gal{
    grid-template-columns:1fr !important;
  }

  .proof{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  .row{
    flex-direction:column;
    align-items:stretch;
  }

  .row .btn{
    text-align:center;
  }

  .radios{
    flex-direction:column;
  }

  .radios label{
    width:100%;
  }

}/* End custom CSS */