/*
Template: jackrose
Theme Name: Jack & Rose (Child)
Theme URI: http://singlestroke.io/theme/jackrose/
Author: SingleStroke
Author URI: http://singlestroke.io/
Description: A Whimsical Wedding WordPress Theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jackrose
*/

/* =Theme customization starts here
-------------------------------------------------------------- */

/* Global */

/* - Body */

body {
    color: var(--color-palette-text);
    background-color: var(--color-palette-surface);
}

/* - Images (photo style) */

.hero-slide-background img,
.jackrose-sow-couple-intro-photo img,
.jackrose-sow-about-us-grid-item-photo-image,
.jackrose-sow-events-grid-item-photo img,
#rsvp::before,
.jackrose-sow-team-grid-item-photo img,
#citations,
.jackrose-sow-gallery-grid-item img,
#colophon::before,
.page-template-invitation #page::before {
    filter: var(--photo-style-filter);
}

/* - Links */

a,
.jackrose-sow-about-us-grid-item-links a {
    color: var(--color-palette-primary);
}

a:hover,
.jackrose-sow-about-us-grid-item-links a:hover,
.accomodation-list .sow-features-list .sow-features-feature .sow-more-text a:hover {
    color: var(--color-palette-text-strong);
}

/* - Titles */

h2 {
    color: var(--color-palette-secondary);
}

h3 {
    color: var(--color-palette-text-strong);
}

.story-section h2,
.accomodation-section h2 {
    color: var(--color-palette-primary);
}

/* - Buttons */

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.header-section .ribbon-menu {
    background-color: var(--color-palette-primary);
    color: var(--color-palette-surface);
    border-color: var(--color-palette-primary);
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button:hover,
button.active,
input[type="button"].active,
input[type="submit"].active,
input[type="reset"].active,
.button.active,
button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
.button:focus {
    background-color: color-mix(in srgb, var(--color-palette-primary) 90%, white);
    color: var(--color-palette-surface);
}

/* - Fields */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="date"],
input[type="number"],
input[type="tel"],
select,
.select2-container .select2-choice,
textarea {
    border-color: var(--color-palette-text-muted);
}

input::placeholder,
textarea::placeholder {
    color: color-mix(in srgb, var(--color-palette-text-muted) 85%, black);
}

/* - Timeline */

.timeline-divider {
    height: 1px !important;
}

.timeline::before {
    width: 1px !important;
}

.timeline__item::after {
    border-width: 1px !important;
}

/* Sections */

/* - Preloader */

#preloader .preloader-content svg,
.hero-section .hero-logo .hero-logo-image svg {
    color: var(--color-palette-surface);
    display: block;
    max-width: 100%;
    max-height: 60vh;
    height: auto;
    width: auto;
}

#preloader .preloader-content svg {
    opacity: 0.3;
}

#preloader .preloader-content .pace + svg {
	opacity: 1;
}

#preloader .preloader-content svg .name,
.hero-section .hero-logo .hero-logo-image svg .name,
.footer-section .footer-logo svg .name,
.invitation svg .name {
    font-family: var(--font-family-section-heading);
    font-size: 64px;
}

#preloader .preloader-content svg .date,
.hero-section .hero-logo .hero-logo-image svg .date,
.footer-section .footer-logo svg .date,
.invitation svg .date {
    font-family: var(--font-family-text);
    font-size: 20px;
    letter-spacing: 4px;
}

#preloader, #preloader .pace-progress,
.rsvp-section {
    background-color: var(--color-palette-primary);
}

.footer-section .footer-logo svg {
    width: 210px;
    height: 210px;
}

/* - Hero */

.hero-section .hero-slide .hero-slide-overlay {
    background-color: var(--color-palette-primary-overlay);
}

.hero-section .hero-effect-item,
.hero-section .dot.is-selected {
    background: var(--color-palette-surface);
}

.hero-section .hero-button,
.hero-section .hero-button:hover {
    color: var(--color-palette-surface);
}

.hero-section .dot {
    color: var(--color-palette-surface);
}

/* - Menu */

.header-section {
    background-color: var(--color-palette-surface);
    border-color: var(--color-palette-text-muted);
}

.header-section .menu-item a {
    color: var(--color-palette-text);
    border-color: var(--color-palette-text-muted);
}

.header-section .menu-item a:hover {
    color: var(--color-palette-text-strong);
}

.header-section .menu-item a:hover::after {
    background-color: var(--color-palette-primary);
}

.header-section .ribbon-menu::after {
    border-color: var(--color-palette-primary);
}

.header-section .ribbon-menu:hover::after {
    border-color: var(--color-palette-primary);
}

.header-section .header-logo svg {
    width: 50px;
    height: 50px;
    color: var(--color-palette-text);
}

.header-section .header-logo svg .initials {
    font-size: 90px;
    letter-spacing: 10px;
}

.header-section .header-navigation .header-navigation-toggle {
    color: var(--color-palette-text);
}

.header-section .header-navigation .header-navigation-toggle.active {
    color: var(--color-palette-surface);
    background-color: var(--color-palette-primary);
}

.header-section .header-navigation .menu {
    border-color: var(--color-palette-text-muted);
}

.header-section .header-navigation .menu .menu-item {
    border-color: var(--color-palette-text-muted);
    background-color: var(--color-palette-surface);
}

/* Couple intro */

.jackrose-sow-couple-intro-photo {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}

.jackrose-sow-couple-intro-photo svg {
    color: var(--color-palette-surface);
    position: absolute;
    width: 90px;
    height: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
}

.jackrose-sow-couple-intro-photo svg .bg {
    fill: var(--color-palette-primary);
}

.jackrose-sow-couple-intro-groom .jackrose-sow-couple-intro-photo::after {
    /*content: url(/wp-content/uploads/ic-noeud-papillon.png);*/
}

.intro-section .jackrose-sow-couple-intro-separator {
    font-family: var(--font-family-section-heading);
    font-size: 120px;
    margin: 0 100px;
    color: var(--color-palette-text-muted);
}

.jackrose-sow-couple-intro-photo img {
    border-radius: 50%;
    width: 256px;
    height: 256px;
    object-fit: cover;
}

/* - Backgrounds */

.events-section .jackrose-sow-events-grid-item-wrapper,
.accomodation-section .accomodation-list,
.rsvp-section .rsvp-title, 
.rsvp-section .rsvp-form,
.page-template-invitation .invitation {
    background-color: var(--color-palette-surface);
}

.presentation-section .jackrose-sow-about-us-grid-item,
.story-section .story-text,
.events-section,
.accomodation-section,
.page-template-invitation {
    background-color: var(--color-palette-secondary-soft);
}

.story-section .story-text {
    background-color: var(--color-palette-primary-soft);
}

.countdown-section {
    background-color: var(--color-palette-primary-soft);
}

/* - Story */

.story-section .story-text img {
    opacity: 0.5;
    margin-bottom: 50px;
}

/* -- Timeline */

.story-section .timeline-divider,
.story-section .timeline::before {
    background-color: var(--color-palette-primary) !important;
}

.story-section .timeline__item::after,
.story-section .timeline__content {
    border-color: var(--color-palette-primary) !important;
    background-color: var(--color-palette-surface) !important;
}

.story-section #BTimelineBlock-1 .timeline__item.timeline__item--top .timeline__content::before {
    border-top-color: var(--color-palette-primary) !important;
}

.story-section #BTimelineBlock-1 .timeline__item.timeline__item--right .timeline__content::before,
.story-section #BTimelineBlock-1 .timeline--mobile .timeline__item .timeline__content::before {
    border-right-color: var(--color-palette-primary) !important;
}

.story-section #BTimelineBlock-1 .timeline__item.timeline__item--bottom .timeline__content::before {
    border-bottom-color: var(--color-palette-primary) !important;
}

.story-section #BTimelineBlock-1 .timeline__item.timeline__item--left .timeline__content::before {
    border-left-color: var(--color-palette-primary) !important;
}

.story-section #BTimelineBlock-1 .timeline .timeline__content label {
    color: var(--color-palette-primary) !important;
}

.story-section #BTimelineBlock-1 .timeline .timeline__content p {
    color: var(--color-palette-text) !important;
}


/* - Events */

.events-section .jackrose-sow-events-grid-item-summary {
    color: var(--color-palette-text-strong);
}

.events-section .jackrose-sow-events-grid-item-icon {
    background-color: var(--color-palette-secondary);
    color: var(--color-palette-surface);
    border-radius: 50%;
    font-size: 30px;
    margin-top: -3em;
}

/* - Accomodation */

.accomodation-section .sow-features-list .sow-icon-container {
    color: var(--color-palette-primary);
}

.accomodation-section .sow-features-list .sow-icon-fontawesome {
    color: var(--color-palette-surface);
}

.widget_sow-features .sow-features-feature-title {
    font-size: 120%;
    font-style: italic;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
}

.widget_sow-features .sow-more-text {
     margin-top: 20px !important;
}

.widget_sow-features .sow-more-text a {
    font-size: 120%;
    font-style: italic;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

.widget_sow-features .sow-more-text a:hover {
    text-decoration: none !important;
}

/* - Map */

.map-section .leaflet-map .fa {
    top: 30% !important;
    color: var(--color-palette-surface) !important;
}

.map-section .leaflet-map svg path {
    fill: var(--color-palette-primary) !important;
}

/* - Wedding list */

.sow-image-grid-wrapper {
    gap: 20px;
    opacity: 0.5;
}

/* - RSVP */

.wpcf7 form .wpcf7-response-output {
    margin: -10px 0 0 0;
    border-width: 1px;
    text-align: center;
}

.wpcf7-spinner {
    display: none !important;
}

.wpcf7 form.submitting button {
    opacity: 0.5;
    pointer-events: none;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #b4d2c8;
}

.wpcf7 form .wpcf7-not-valid-tip {
    color: #d88c8c;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border-color: #d88c8c;
}

.wpcf7 form.spam .wpcf7-response-output {
    border-color: #e3a86b;
}
 
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #f1d48f;
}

/* - Witnesses */

.jackrose-sow-team-grid-item-photo img {
    border-radius: 50%;
    width: 256px;
    height: 256px;
    object-fit: cover;
}

/* - Quotes */

.quotes-section {
    color: var(--color-palette-surface);
    background-color: var(--color-palette-secondary);
}

.quotes-section .dot {
    border-color: var(--color-palette-surface);
}

.quotes-section .dot.is-selected {
    background-color: var(--color-palette-surface);
}

/* - Gallery */

.gallery-section .jackrose-sow-gallery-grid-filtersm a {
    color: var(--color-palette-text);
}

.header-section .jackrose-sow-gallery-grid-filters a:hover {
    color: var(--color-palette-text-strong);
}

.gallery-section .jackrose-sow-gallery-grid-filters a.active {
    border-color: var(--color-palette-primary);
}

/* - Footer */

.footer-section {
    color: var(--color-palette-text-muted);
    background-color: var(--color-palette-surface);
    line-height: 1.5;
}

.footer-section::after {
    background-color: var(--color-palette-primary-overlay);
}

.footer-section a,
.footer-section a:hover {
    color: var(--color-palette-surface);
}

/* - Invitation */

.page-template-invitation .invitation {
    background-color: color-mix(in srgb, var(--color-palette-surface) 95%, transparent);
}

.page-template-invitation .invitation-inner {
    border-color: var(--color-palette-text-muted);
}

/* -- Invitation logo */

.invitation svg {
    display: block;
    margin: auto;
    width: 200px;
    height: 200px;
    color: var(--color-palette-text-muted);
}

/* -- Invitation access password form */

.access-password {
    margin-top: 30px;
}

.access-password-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    justify-content: center;
    align-items: center;
}

.access-password-fields-wrapper input {
    flex: 1 1;
    text-align: center;
}

/* - Footer */

#colophon {
   position: relative;
}

#colophon .wrapper {
    z-index: 2;
}

#colophon::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    pointer-events: none;
    z-index: 1;
}

.footer-logo img {
    width: 210px;
    height: 210px;
}

/* - Preview banner */

#preview-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(17,17,17,1);
    color: #fff;
    font-size: 13px;
    letter-spacing: 0.05em;
    z-index: 99999;
}

.preview-mode .hero-section {
    margin-top: 40px;
}

.admin-bar #preview-banner {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #preview-banner {
        top: 46px;
    }
}

/*
 * Remove background-image from elements and add them in ::before so that we can add filters that only apply to the background image, not the content.
 */

#rsvp {
    background-image: none !important;
}

#rsvp::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-image: var(--invitation-bg-img);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

@media screen and (max-width: 782px) {
    #rsvp::before {
        background-attachment: scroll;
    }
}

#colophon {
    background-image: none !important;
}

#colophon::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-image: var(--footer-bg-img);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.page-template-invitation {
    background-image: none !important;
    height: auto !important;
}

.page-template-invitation #page::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-image: var(--invitation-bg-img);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

@media screen and (max-width: 782px) {
    .page-template-invitation #page::before {
        background-attachment: scroll;
    }
}
