
:root{
    --accent-color: #81AD9F;
    --army-green: #5B7961;
    --black: #000000;
    --white: #ffffff;
}
html{scroll-behavior: smooth;}
body {font-family: "Montaga", serif;overflow-x: hidden;background-color: #FEFCF5;background-image: url(../images/bg-pattern.webp);background-attachment: fixed;}
h1, h2, h3 {font-family: "Mea Culpa", cursive;font-weight: 500;}
p,ul {margin: 0;padding: 0;}
p{font-size: 20px;}
a {color: var(--black);}

.custom-container {max-width: 1440px;margin: 0 auto;}
.common-section {padding: 100px 0;}

.font-mea{font-family: "Mea Culpa", cursive;}
.font-montage{font-family: "Montaga", serif;}

h2.title {color: var(--accent-color);font-size: 70px;position: relative;margin-bottom: 50px;display: inline-block;padding: 0 110px;}
h2.title::before , h2.title::after {content: '';position: absolute;top: 50%;transform: translateY(-50%);background-size: contain; background-repeat: no-repeat;width: 100px;height: 50px;background-position: center;}
h2.title::before {left: 0; background-image: url('../images/title-icon-left.svg'); }
h2.title::after {right: 0 ;  background-image: url('../images/title-icon-right.svg'); }


header a {font-size: 24px;text-decoration: none;transition: all 0.3s ease;}
header a.active , header a:hover {color: var(--accent-color);}
header .logo-box {padding: 20px 0;}
header nav {display: flex;justify-content:center;align-items: center; gap: 80px;}
header .menu-toggle {display: none;font-size: 28px;cursor: pointer;}
.cd-logo-box p {display: none;}

.home-section h1.names {font-size: 130px;color: var(--accent-color);margin: 30px 0;}
.home-section .subtext {font-size: 30px;}
.home-section .venue-img {display:block; width: 100%;height: 800px;object-fit: cover;}
.date-section {margin-top: 40px;}
.date-section .date {font-size: 70px;color: var(--accent-color);}
.date-section p {font-size: 24px;}
.date-section .countdown span {color: var(--accent-color);font-weight: 600;}

.rose-element {height: 55px;}
h3 {font-size: 50px;margin-bottom: 10px;}
.qa-container {text-align: left;}

.inner-container .con-box:not(:last-of-type) {margin-bottom: 50px;}
.inner-container a {color: var(--accent-color);text-decoration: none;font-weight: 500;}
.inner-container p a {color: var(--accent-color);text-decoration: underline;}

.events-section.common-section {padding-bottom: 0;}
.couple-img {display:block; width: 100%;height:970px;object-fit: cover;}

.gift-registry-section {position: relative;height: 81vh;}
.gift-registry-section .inner-container {gap: 80px;}
.gift-registry-section .border-box {position: relative;padding: 30px 50px;border: 1px solid #81ad9f;margin-top: 80px;width: 30%;}
.gift-registry-section .border-box::before {content: ''; position: absolute;width: 96%;height: 109%;top: -9px;left: 8px; border: 1px solid #81ad9f;z-index: -1}
.gift-registry-section .roses {position: absolute;left: 0;top: 0;z-index: -1;}
.gift-registry-section .umbrella {position: absolute;right: 0;bottom: 0;z-index: -1;}

.rsvp-section {position: relative;}
.rsvp-section .left-pillar {position: absolute;left: 0;bottom: 0;}
.rsvp-section .right-pillar {position: absolute;right: 0;bottom: 0;}

.rsvp-container {width: 580px;height: 820px;margin: 0 auto;text-align: left;background-image: url(../images/envelope-frame.webp);background-size: cover;background-position: center;background-repeat: no-repeat;display: flex;justify-content: center;align-items: center;}
.rsvp-container .inner-container {margin-top: 170px;height: 460px;display: flex;flex-direction: column;;}
.rsvp-container h2 {font-size: 46px;color: var(--accent-color);margin-bottom: 30px;}
.submit-msg {width: 60%; margin: 0 auto;}
.submit-msg  h3 {font-size: 40px;margin-bottom: 20px;color: var(--accent-color)}

.tabs {display: flex;gap: 20px;margin-bottom: 20px;}
.tabs label {cursor: pointer;display: flex;align-items: center;gap: 8px;}

input[type="radio"] {accent-color: var(--accent-color);}
input[type="checkbox"] {accent-color: var(--accent-color);}
.form-group { margin-bottom: 15px;}
input[type="text"], textarea {width: 100%;border: none;border-bottom: 1px solid #ccc;padding: 8px 4px;background: transparent;outline: none;}
textarea {resize: none;}
.hidden {display: none;}
button {width: 150px;padding: 10px;background: var(--army-green);color: var(--white);border: none;cursor: pointer;font-size: 16px;display: block;margin: 20px auto 0;}


.travel-section {position: relative;}
.travel-section .plane {position: absolute;left: 0;top: 10%;z-index: -1;}
.travel-section .car {position: absolute;right: 0;bottom: 0;z-index: -1;}
.travel-section .con-box {width: 80%;margin: 0 auto;text-align: center;}

footer {background-color: var(--army-green);padding: 10px 0;color: var(--white);}
footer a {color: #fff;text-decoration: none;} 
footer a, footer p {font-size: 16px;}
footer a:hover {color: var(--black);}


/* Responsive Media Query */

@media screen and (max-width: 1919px) {
    .common-section {padding: 80px 0;}
    .home-section h1.names {font-size: 112px;}
    .date-section .date {font-size: 60px}
    h2.title {font-size: 64px;}
    .gift-registry-section .roses {width: 150px;}
    .gift-registry-section .umbrella {width: 250px;}
    .gift-registry-section p {width: 80%;margin: 0 auto;}
    h2.title::before, h2.title::after {width: 95px;}
    .travel-section .plane {width: 250px;}
    .travel-section .car {width: 400px;}
    .rsvp-section .left-pillar , .rsvp-section .right-pillar {width: 250px;}
    .rsvp-container {width: 560px;height: 780px;}
    .home-section .venue-img {height:680px;}
}

@media screen and (max-width: 1599px) {
    .common-section {padding: 60px 0;}
    .home-section h1.names {font-size: 100px;}
    .date-section .date {font-size: 55px}
    .custom-container {width: 85%;}
    .home-section .subtext {font-size: 26px;}
    header .logo-box img {width: 65px;}
    header nav {gap: 60px;}
    header a, .date-section p {font-size: 22px;}
    h2.title {font-size: 60px;}
    h3 {font-size: 45px;}
    .gift-registry-section .border-box {margin-top: 70px;padding: 30px;}
    .gift-registry-section .umbrella {width: 215px;}
    .gift-registry-section .roses {width: 135px;}
    .travel-section .car {width: 340px;}
    .travel-section .plane {width: 210px;}
    .rsvp-section .left-pillar , .rsvp-section .right-pillar {width: 230px;}
    .home-section .venue-img {height:645px;}
    .couple-img {height:825px;}

    
}


@media screen and (max-width: 1365px) {
    header nav {gap: 50px;}
    header a, .date-section p {font-size: 20px;}
    .home-section h1.names {font-size: 96px;margin: 20px 0;}
    .inner-container .con-box:not(:last-of-type) {margin-bottom: 30px;}
    h2.title {font-size: 55px;margin-bottom: 40px;}
    .gift-registry-section .inner-container {gap: 65px;}
    p {font-size: 18px}
    .rsvp-container {width: 515px;height: 735px;}
    .rsvp-container h2 {font-size: 42px;}
    .rsvp-section .left-pillar, .rsvp-section .right-pillar {width: 215px;}
    .home-section .venue-img {height:600px;}
     .couple-img {height:782px;}
}

@media screen and (max-width: 1279px) {
    .custom-container {width: 90%;}
    .home-section h1.names {font-size: 90px;}
    .common-section {padding: 50px 0;}
    h2.title {font-size: 50px;}
    h3 {font-size: 40px;}
    footer a, footer p {font-size: 14px;}
    footer {padding: 7px 0;}
    .gift-registry-section .roses {width: 120px;}
    .gift-registry-section .umbrella {width: 180px;}
    .gift-registry-section .border-box {width: 35%;}
    .gift-registry-section .inner-container {gap: 50px;}
    .gift-registry-section .border-box {margin-top: 50px;}
    h2.title::before, h2.title::after {width: 80px;}
    .travel-section .plane {width: 175px;top: 13%;}
    .travel-section .car {width: 250px;bottom: 18%;}
    .rsvp-container {width: 490px;height: 690px;}
    .rsvp-container h2 {font-size: 38px;}
    .rsvp-section .left-pillar, .rsvp-section .right-pillar {width: 190px;}
    .form-group , .tabs {margin-bottom: 10px;}
    .gift-registry-section {height: 78vh;}
    .home-section .venue-img {height:510px;}
    .couple-img {height:732px;}

}

@media screen and (max-width: 1023px) {
    .custom-container {width: 92%;}
    header {position: sticky;top: 0;z-index: 999;background-image:url(../images/bg-pattern.webp);transition: all 0.3s ease;}
    header .logo-box {padding: 10px 0;}
    header .logo-box img { width: 65px;}
    header .custom-container {display: flex;justify-content: space-between;align-items: center;}
    header .menu-toggle {display: block;color: var(--accent-color);}
    
    header .nav {position: absolute;top: 90px;left: 0;width: 100%;background-image:url(../images/bg-pattern.webp);flex-direction: column;align-items: center;gap: 0;padding: 10px 0; box-shadow: 0 5px 10px rgba(0,0,0,0.05);
    max-height: 0;overflow: hidden;opacity: 0;transform: translateY(-10px);
    transition: max-height 0.4s ease,opacity 0.3s ease,transform 0.3s ease;}

    header a {padding: 10px 0;width: 100%;text-align: center;font-size: 20px;}
    header .nav.active {display: flex; max-height: 400px; opacity: 1;transform: translateY(0);top: 50px;}

    .home-section.common-section {padding-top: 0;padding-bottom: 50px;height: auto;}
    .home-section .subtext {font-size: 24px;}
    .home-section h1.names {font-size: 80px;}
    .date-section .date {font-size: 48px;}

    .gift-registry-section .inner-container {gap: 50px;flex-wrap: wrap;flex-direction: column;}
    .gift-registry-section .border-box {width: 55%;margin-top: 0;}
    .gift-registry-section .roses {top: 20%;}
    .gift-registry-section p {margin-bottom: 50px;}
    .gift-registry-section  .border-box p {margin-bottom: 0;}
    h2.title::before, h2.title::after {width: 70px;}

    .travel-section .plane {width: 155px;top: 15%;}
    .travel-section .con-box {width: 90%;}
    .rsvp-section .left-pillar, .rsvp-section .right-pillar {width: 150px;}
    .rsvp-container {width: 515px;height: 730px;}
    .rsvp-container .inner-container {margin-top: 110px;height: 340px;;}

    .cd-logo-box img {display: none;}
    .cd-logo-box p {display: block;}
    .cd-logo-box p {font-size: 28px;line-height: 32px;color: var(--accent-color);}
    header .menu-toggle {font-size: 26px;}
    .events-section.common-section {padding-top: 20px;}
    footer {position: fixed;left:0;bottom: 0;right: 0;}
    footer p svg {width: 16px;height: 14px;}
    .common-section {padding: 50px 0;height: 95vh;overflow: scroll;}
    .home-section .venue-img {height:390px;}
    .couple-img {height:620px;}
    
}

@media screen and (max-width: 767px) {
    header .logo-box img {width: 55px;}
    header .nav {top: 50px;}
    .date-section {margin-top: 30px;}
    p{font-size: 16px;}
    h2.title {font-size: 46px;padding: 0 80px;}
    h3 {font-size: 38px;}
    .inner-container .con-box:not(:last-of-type) {margin-bottom: 20px;}
    .gift-registry-section .border-box {padding: 20px;}
    .gift-registry-section .umbrella { width: 155px;}
    .travel-section .con-box {width: auto;}
    .travel-section .plane {width: 145px;top: 9%;}
    .travel-section .plane, .travel-section .car {display: none;}
    .rsvp-section .left-pillar, .rsvp-section .right-pillar { width: 0;}
    .rsvp-container h2 {margin-bottom: 20px;}
    .common-section {padding: 25px 0;padding-bottom: 60px;}
    .home-section .venue-img {height:330px;}
    .couple-img {height:475px;}
    
}

@media screen and (max-width: 639px) {
    .rsvp-container {background-size: contain;width: 100%;height: 600px;}
    .home-section h1.names {font-size: 66px;}
    h2.title {font-size: 42px;margin-bottom: 30px;}
    h3 {font-size: 36px;}
    header .logo-box img {width: 45px;}
    header a {padding: 6px 0;font-size: 18px;}
    .gift-registry-section .border-box {width: 70%}
    .gift-registry-section .border-box::before {height: 110%;}
    .gift-registry-section .umbrella {width: 130px;z-index: -1;}
    .gift-registry-section .roses {width: 85px;top: 15%;}
    .gift-registry-section p {width: auto;}
    h2.title::before, h2.title::after {width: 60px;}
    .gift-registry-section .roses {width: 70px;top: 23%;}
    .gift-registry-section .umbrella {width: 90px;}
    .gift-registry-section .inner-container {gap: 35px;}
    .gift-registry-section p {margin-bottom: 35px;}
    .travel-section .plane {width: 135px;top: 7%;}
    .travel-section .car {width: 220px;bottom: 25%;}
    .form-group, .tabs {font-size: 14px;}
    h2.title {padding: 0 70px;}
    button {width: 115px;padding: 10px;font-size: 14px;}
    .gift-registry-section.common-section {height: 80vh;}
    .home-section .venue-img {height:245px;}
    .couple-img {height:395px;}

}

@media (max-width: 479px) {
    .home-section h1.names {font-size: 50px;margin: 10px 0;}
    .date-section .date {font-size: 36px;}
    .date-section p , .home-section .subtext {font-size: 16px;}
    h3 {font-size: 32px;}
    h2.title {font-size: 38px;}
    h2.title::before, h2.title::after {width: 50px;}
    .gift-registry-section .border-box {width: 85%;}
    .gift-registry-section .border-box::before {left: 6px;}
    p {font-size: 14px;}
    h2.title::before {left: 0;}
    h2.title::after {right: 0;}
    .rsvp-container h2 {font-size: 28px;}
    h2.title {padding: 0 60px;}
    .rsvp-container {height: 510px;}
    header a {padding: 5px 0;font-size: 16px;}
    header .nav.active {top: 54px;}
    .home-section .venue-img {height:185px;}
    .couple-img {height:300px;}

    .rsvp-section {position: relative;background-image: url(../images/envelope-mobile-frame.webp);background-size: 100%;background-repeat: no-repeat;height: auto;}  
    .tabs {font-size: 14px;flex-direction: column;gap: 4px;justify-content: center;align-items: center;}
    .rsvp-container {background-image: none;}
    .rsvp-container .inner-container {margin-top: 130px;width: 67%;height: 370px;}
    .form-group, .tabs {margin-bottom: 5px;}
    .rsvp-container h2 { margin-bottom: 15px;}
    button {width: 100px;margin: 10px auto 0;}
    .gift-registry-section .roses {top:45%}

}

