/* Contact Form 7 error message below the field */


.wpcf7-not-valid-tip {
    margin-top: 8px;
}

.wpcf7-form-control-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.link-text-custom {
	text-decoration: underline;
}

.invite-section{
    display:flex;
    justify-content:center;
    overflow:hidden;
    padding-top:40px;
    min-height:100vh;
    align-items:flex-start;
}

.envelope{
    width:min(95vw,370px);
    position:relative;
}

/* BACK */

.envelope-back{
    width:100%;
    display:block;
    position:relative;
    z-index:1;
transform: translateY(10px);
}

/* CARD */

.invite-card{
    position:absolute;
    left:50%;
    bottom:70px;
    width:78%;
    z-index:2;

    transform:
        translateX(-50%)
        translateY(120px);

    transform-origin:center center;

    will-change:transform;
}

.invite-inner{
    transform-origin:center center;
}

.invite-card img{
    width:100%;
    display:block;
    border-radius:14px;
    box-shadow:0 8px 30px rgba(0,0,0,.12);
}

/* FRONT */

.envelope-front-wrapper{
    position:absolute;
    inset:0;
    z-index:3;
}

.envelope-front{
    width:100%;
    display:block;
                margin-top:10px !important;

}

/* Recipient */

.recipient{
    position:absolute;
    bottom: 3%;
    left:50%;
    transform:translateX(-50%);
    text-align:center;
    color:#315ca9;
}

.label{
    display:block;
    font-size:12px;
	font-family: Bobby Jones Soft, sans-serif !important;
	    font-size:clamp(14px, 2vw, 18px);

}

.name{
    font-size:clamp(25px,4vw, 40px);
    line-height: 0.9em;
    font-family: Bobby Jones Soft;
}


/* animation */

.envelope.animate .invite-card{
    animation: cardMove 2.8s cubic-bezier(.22,1,.36,1) forwards;
}

.envelope.animate .invite-inner{
    animation: cardRotate 2.8s cubic-bezier(.22,1,.36,1) forwards;
}

@keyframes cardMove{

    0%{
        transform:
            translateX(-50%)
            translateY(120px)
            scale(.55);
    }

    35%{
        transform:
            translateX(-50%)
            translateY(-90px)
            scale(.55);
    }

    55%{
        transform:
            translateX(-50%)
            translateY(-180px)
            scale(.55);
    }

    80%{
        transform:
            translateX(-50%)
            translateY(-260px)
            scale(1.03);
    }

    100%{
        transform:
            translateX(-50%)
            translateY(-260px)
            scale(1);
    }

}

@keyframes cardRotate{

    0%,35%{
        transform:rotate(90deg);
    }

    60%{
        transform:rotate(15deg);
    }

    100%{
        transform:rotate(0deg);
    }

}

/*** Page style ***/

.balance {
	text-wrap: balance;
}

 .button-icon-adjust .elementor-button-icon {
	transform: translateY(-3px);
}

/* Form Styles */
/* Hide native radio */
.wpcf7 input[type="radio"] {
    display: none;
}

/* Layout */
.wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wpcf7-list-item {
    margin: 0 !important;
}

/* Pill */

.wpcf7-form-control-wrap {
    display: flex;
    justify-content: center;
}

.wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.wpcf7-list-item label {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	font-family: quicksand !important;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    border: none;
    border-radius: 999px;
    background: #fff;
    color: #1F2937;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all .2s ease;
	margin-top: 10px;
}

/* Hover */
.wpcf7-list-item label:hover {
    border-color: #0281C1;
}

/* Selected */
.wpcf7 input[type="radio"]:checked + .wpcf7-list-item-label {
    background: #0281C1;
    border-radius: 999px;
    color: #fff;
	border: none !important;
}

input, textarea {
	margin-top: 5px !important;
}
/* Make selected pill blue */
.wpcf7 input[type="radio"]:checked + .wpcf7-list-item-label {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: 40px ;
    padding: 0 20px;
    background: #165CB2;
    border: none;
}

form * {
	font-family: quicksand;
	text-align: center;
	text-wrap: balance;
}

form h3 {
	font-family: Bobby Jones Soft;
	color: #165cb2;
	margin-top: 25px;
	margin-bottom: 5px;
	font-size: 28px;
}
form p {
	text-align: center;
	margin-bottom: 0 !important;
	color: #165cb2;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.1em;
}
form p label {
	text-align: center !important;
	margin-top: 20px;
	font-weight: bold; 
}

/* Center the submit button */
.wpcf7 p:has(.wpcf7-submit) {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

/* Style the button */
.wpcf7 .wpcf7-submit {
    width: 100%;
    max-width: 420px;
    padding: 10px 24px;
    background: #165CB2;
    color: #fff;
    border: none;
    border-radius: 8px;
font-family: Bobby Jones Soft !important;
    font-size: 18px;
    font-weight: ;
    cursor: pointer;
    transition: all .2s ease;
}

/* Hover */
.wpcf7 .wpcf7-submit:hover {
    background: #165CB2;
    transform: translateY(-2px);
}

/* Active */
.wpcf7 .wpcf7-submit:active {
    transform: translateY(0);
}

.wpcf7 p:has(.wpcf7-submit) {
    position: relative;
    text-align: center;
}

.wpcf7 .wpcf7-spinner {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.wpcf7 input[type="text"],
.wpcf7 textarea {
    width: 100%;
    padding: 10px 10px;
    border: 2px solid #fff;
    border-radius: 8px;
    font-size: 16px;
    transition: .2s ease;
    box-sizing: border-box;
	margin-top: 20px !important;
	font-weight: bold;
	color: #165cb2;
	text-align: center;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 textarea:focus {
    border-color: #165cb2;
    outline: none;
}

.wpcf7 textarea {
}