@font-face {
    font-family: 'Proxima Nova';
    src: url('fonts/ProximaNova-Semibold.woff2') format('woff2'),
        url('fonts/ProximaNova-Semibold.woff') format('woff'),
        url('fonts/ProximaNova-Semibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Proxima Nova';
    src: url('fonts/ProximaNova-Regular.woff2') format('woff2'),
        url('fonts/ProximaNova-Regular.woff') format('woff'),
        url('fonts/ProximaNova-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bookmania';
    src: url('fonts/Bookmania-SemiboldItalic.woff2') format('woff2'),
        url('fonts/Bookmania-SemiboldItalic.woff') format('woff'),
        url('fonts/Bookmania-SemiboldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

* {box-sizing: border-box;}

body {
    font-family: 'Proxima Nova';
    font-weight:400;
    font-size:18px;
    line-height:1.5;
    color:#d09543;
    display:flex;flex-direction:column;
    margin:0;
}

img {max-width:100%;}


h1 {font-family: 'Bookmania';margin-top:0;font-size:28px;margin-bottom:20px;text-align:center;}
h1::first-letter {font-feature-settings: 'swsh'}
@media (max-width:767px) {
    h1{font-size:24px;}
}
@media (max-width:479px) {
    h1{font-size:20px;}
}

h2 {
    font-family: 'Bookmania';
    text-align:left;
    font-size:25px;
    margin: 0 0 30px 0;
}
h2::first-letter {font-feature-settings: 'swsh'}

p {margin-top:0;}
p+p {margin-top:20px;margin-bottom:0;}


.DateTime {font-size:24px;}

a {
    text-decoration: none;
    font-weight:600;
    color:#d09543;
}

strong {font-weight:600;}

.SectionWrapper {
    width:100%;
    display:none;flex-direction:column;align-items:center;
}
.SectionWrapper.LightBlue {
    background-color:#e6e6f150;
}

.InfoSection {
    width:100%;
    max-width:830px;
    padding:100px 40px;
    position:relative;
}
@media (max-width:767px) {
    .InfoSection {padding:60px 25px;}
}



.InfoSection + .InfoSection::before, .PhotoSection + .InfoSection::before, .InfoSection + .PhotoSection::before {
    content:'';
    position: absolute;
    width:100px;height:3px;background-color:#d09543;
    top:0;left:40px;
}
@media (min-width:830px) {
.InfoSection + .PhotoSection::before {
    left:calc(50% - 375px);
}
}

@media (max-width:767px) {
    .InfoSection + .InfoSection::before, .PhotoSection + .InfoSection::before, .InfoSection + .PhotoSection::before {
        left:25px;
    }
}

table {
    display: table;
    border-collapse: collapse;
    box-sizing: border-box;
    background: none;
    width:100%;
}

tbody {
    display: table-row-group;
    vertical-align: top;
    unicode-bidi: isolate;
    border-color: inherit;
}

table tr+tr td {
    padding-top:40px;
}

.LHS {
    width:130px;
    padding-right:25px;
    text-align:right;
    font-size:16px;font-weight:600;
}
@media (min-width:480px) {
    .WhenWhere .LHS {top: 7px;position: relative;}
}
@media (max-width:479px) {
    tbody {display:flex;flex-direction:column;}
    table tr {display:flex;flex-direction:column;}
    table tr+tr td {padding-top:25px;}
    .LHS {text-align:left;padding-right:0;}
    .RHS {padding-top:0;}
}

.SectSubtitle {font-weight:600;}


/* Photo sections */
.PhotoSection {max-width:1040px;width:100%;padding:110px 40px;position:relative;}

.PhotoSection .PhotoWrapper {
    width:100%;height:500px;
    background-size:cover;background-position:center;
    border-radius:40px;
}

.PhotoSection.HalfWidth {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;}
.PhotoSection.HalfWidth .PhotoWrapper {width:calc(50% - 40px);}
.TextWrapper {max-width:420px;width:calc(50% + 40px);padding-left:80px;font-size:24px;line-height:1.5;}

@media (min-width:768px) {
    .PhotoSection.HalfWidth.AltLayout {display:flex;flex-direction:row-reverse;}
    .PhotoSection.HalfWidth.AltLayout .TextWrapper {padding-right:80px;padding-left:0;}
}

@media (max-width:767px) {
    .PhotoSection.HalfWidth .PhotoWrapper {width:100%;}
    .TextWrapper {width:100%;padding:40px 0 0 0;max-width:none;}
    .PhotoSection {padding:70px 25px;}
    .PhotoSection.HalfWidth {flex-direction:column;padding:70px 25px 60px 25px;}
    .PhotoSection .PhotoWrapper {border-radius:25px;}
}

@media (max-width:479px) {
    .PhotoSection .PhotoWrapper {height:305px;}
}


/* Header */
.PageHeader {padding:80px 40px 90px 40px;border-radius: 0 0 40px 40px;min-height:100vh;justify-content:center;}
@media (max-width:767px) {
    .PageHeader {padding:50px 30px 60px 30px;border-radius: 0 0 25px 25px;}
}
@media (max-width:479px) {
    .PageHeader {padding:40px 20px 45px 20px;}
}

.Ducks {width:600px;margin-bottom:40px}
.WeddingTitle {width:600px}
.DownArrow {width:40px;height:40px;fill:#d09543;margin-top:40px;}


/* FAQ */
.faq-item {
  border-bottom: 2px solid #d09543; /* Light gray border between items */
  overflow: hidden; /* Hide overflowing content */
}
.faq-container .faq-item:first-of-type {border-top: 2px solid #d09543;}
.faq-question {
  width: 100%;
  font-size:16px;font-family:'Proxima Nova';font-weight:600;
  padding: 25px 0;
  text-align: left;
  background-color:#FFF;
  color:#d09543;
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
  transition: background-color 0.3s ease;
}


.faq-question .arrow {
  position: absolute;
  right: 10px;
  transition: transform 0.3s ease;
}

.faq-question.active .arrow {
  transform: rotate(180deg);
}

.arrow svg {width:18px;height:18px;display:block;fill:#d09543;}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background-color: #fff;
}

/* Style for the answer text */
.faq-answer p {
  padding: 0 0 20px 0;
  margin:0!important;
}


/* RSVP */
.PaddingWrapper {padding-bottom:40px;}

.RSVP-Form {
    width:100%;
    display:flex;flex-direction:column;
}

.RSVP-Form input, .RSVP-Form textarea {width:100%;min-height:50px;border:1px solid #e6e6f1;outline:none;font-family:'Proxima Nova';}

.RSVP-Form fieldset {border:none;
    padding:0;margin:0 0 25px 0!important;position:relative;}

.RSVP-Form legend {font-size:16px;font-weight:600;margin-bottom:5px;}


@media (min-width:480px) {
    .RSVP-Form fieldset, .RSVP-Form .BtnWrapper, .PaddingWrapper {padding-left:130px;}
    .RSVP-Form legend {position:absolute;width:105px;left:0;top:6px;}
}

.BtnWrapper input {background-color:#05204A;font-size:16px;font-weight:600;color:#FFF;}



/* VISIBILITY */
.PageLockScreen {z-index:10;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#e6e6f1;padding:40px;}
.PageLockScreen > div {margin:auto;display:flex;flex-direction:column;background-color:#FFF;padding:40px;border-radius:40px;box-shadow: -1px 0px 21px 1px rgba(0,0,0,0.05);}
.PageLockScreen .WeddingTitle {width:480px;margin-bottom:30px;}

@media (max-width:767px) {
    .PageLockScreen {padding:25px;}
    .PageLockScreen > div {padding:20px;border-radius:25px;}
}

#pswd {width:100%;display:flex;flex-direction:row;}
#pswd input {flex-grow:1;font-family:'Proxima Nova'}
#pswd button {flex-grow:0;padding:10px 20px;margin-left:10px;background-color:#05204A;font-size:14px;font-weight:600;color:#FFF;border:none;outline:none;}
@media (max-width:479px) {
    #pswd input {margin-bottom:10px;}
    #pswd input,#pswd button {min-height:50px;margin-left:0px;}
    #pswd {flex-direction:column;}
}

body {overflow:hidden;}
body.Unlocked {overflow:auto;}
body.Unlocked .PageLockScreen {display:none!important;}

body.DayEvent .SectionWrapper.DayEvent {display:flex;}
body.NightEvent .SectionWrapper.NightEvent {display:flex;}
body.Virtual .SectionWrapper.Virtual {display:flex;}
