/**
Theme Name: The Old Rectory Cottages
Author: PSLWeb
Author URI: https://pslweb.co.uk/
Description: Hello Elementor Child Theme for Old Rectory Cottages
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: flxnew
Template: hello-elementor
*/

/* Remove borders from mobile sub menus */
@media (max-width: 1023px) { /* Tablet and Mobile */
    ul.sub-menu-open {
	Border: none !important;
    }
}

/* Elementor global typography doesn't cater for margins! */
h2 {
    margin-bottom: 2rem !important;
}
h3 {
    margin-bottom: 1.8rem !important;
}
.flx-h3-italic {
    font-style: italic;
}
h4 {
    /*margin-bottom: 1.6rem !important;*/
    margin: 0.4rem 0 0.2rem 0 !important;
}

/* Remove margin bottom from last block element in the Text Editor Widget */
.elementor-widget-text-editor p:last-child, .elementor-widget-text-editor ul:last-child,
	.elementor-widget-text-editor ol:last-child {
    margin-bottom: 0 !important;
}

/* Style Lists and List Items */
.elementor-widget-text-editor ul, .elementor-widget-text-editor ol {
    margin-bottom: 1.8rem;
    padding-left: 1.4rem;
}
.elementor-widget-text-editor ul li, .elementor-widget-text-editor ol li {
    margin-bottom: 1rem;
}

/* Custom Image Gallery */
.flx-img-gallery a {
    display: block;
    width: 100%;
    height: 100%;
}
.flx-img-gallery a:hover img, .flx-img-links a:hover img {
    filter: sepia(1) !important;
    transition: filter 100ms !important;
}

/* Footer styling */
footer a:hover {
    text-decoration: underline !important;
}
/* WPForms styling */
.wpforms-container {
    margin-top: 0 !important;
}

/* Hide Map Data (keep for accessibility) */
#flx-map-data {
    position: absolute;
    top: -9999px;
    left: -9999px;
}

/* Google Map styling */
#flx-map {
    position: relative;
    width: 100%;
    height: 65vh;
    overflow: hidden;
    border: 1px solid #000;
    margin-bottom: 0.7em;
}
#flx-map > iframe { /* Google Map Embed */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Map Info Window styling */
.flx-info-window-heading {
    font-size: 2rem !important;
}
.flx-info-window-text {
    font-size: 1.2rem !important;
}

/* Smooth Scrolling for map (links to Description and Return to Map) */
.flx-interactive-map {
    scroll-behavior: smooth !important;
}

/* Map - Style Select Form Field */
.flx-map-category-list select {
    font-size: 1.3rem !important;
    font-family: roboto, sans;
}

/* Map - Fade In Markers */
.flx-fade-in-marker {
    animation: flx-fade-in 1.5s;
}
@keyframes flx-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Map Description Featured Image (if set) */
#flx-map-item-container img {
    display: block;
    width: 100%;
    margin-bottom: 2rem;
    border: 1px solid #0E7855;
    border-radius: 15px;
}

/* Testimonials */
.flx-testimonials blockquote {
    position: relative;
    padding: 40px 60px;
    background-color: #FFFFFF;
    border-radius: 15px;
    margin: 0 auto 2.8rem auto;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
.flx-testimonials blockquote::before { /* Left Quote */
    content: "“";
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 6rem;
    color: #B2BCAA;
    line-height: 1;
}
.flx-testimonials blockquote::after { /* Right Quote */
    content: "”";
    position: absolute;
    bottom: -40px;
    right: 15px;
    font-size: 6rem;
    color: #B2BCAA;
    line-height: 1;
}
.flx-testimonials .elementor-widget-text-editor:last-child blockquote {
    margin-bottom: 0;
}

/* Add a bottom border to the last calendar element */
.flx-calendar-container .flx-calendar-item:last-child {
    border-bottom: 1px solid #1B4D3E;
}
/* Background colours for the Calendar Entries */
.flx-calendar-container .flx-calendar-item:nth-child(even) {
    background-color: #FFFFFF;
}
.flx-calendar-container .flx-calendar-item:nth-child(odd) {
    background-color: #E6F0DD;
}
/* Style the 'Read More' Accordion on the Calendar */
.e-n-accordion-item-title {
    padding: 0 !important;
    border: 0 !important;
}

/* Icon Grid Styling */
.flx-icon-grid p {
    text-align: center;
    font-size: 1.2rem;
}
.flx-icon-grid span.material-symbols-outlined {
    font-size: 5rem;
    display: block;
    color: #0E7855;
    font-variation-settings:
    'FILL' 0,
    'wght' 350,
    'GRAD' 0,
    'opsz' 48
}
/* Use if required to set each grid rows height independently of heights of other grid rows */
/*.flx-icon-grid {
    grid-template-rows: auto !important;
}*/

.flx-site-map-list ul li {
    margin: 0 0 0.8rem 0;
}
.flx-site-map-list ul ul {
    list-style: none;
    margin: 0.8rem 0 1.4rem 0;
}
.flx-site-map-list li li {
    display: inline-block;
    padding: 0 0.8em;
    border-right: 2px solid #0E7855;
}
.flx-site-map-list li li:last-child {
    border-right: 0;
}

/* Add a PDF Icon to links to PDF files */
a[href$=".pdf"] {
    background: url(images/pdficon.png) no-repeat right 2px !important;
    padding: 3px 28px 3px 0 !important;
}

/* Mailchimp styling to replicate WPForms */
#mc_embed_signup form {
    margin: 0 !important;
}
#mc_embed_signup .mc-field-group {
    padding-bottom: 1rem !important;
}
#mc_embed_signup .mc-field-group label {
    font-size: 1rem !important;
    font-weight: bold !important;
    margin-bottom: 1rem !important;
}
#mc_embed_signup .button {
    background-color: #066AAB !important;
    font-size: 1rem !important;
    height: 40px !important;
}
#mc_embed_signup {
    max-width: 40rem !important;
}
#mc_embed_signup .helper_text {
    background-color: transparent !important;
}

/* The new accordion widget is rubbish, so styling needed */
.elementor-widget-n-accordion {
    background-color: #E6F0DD !important;
}
.elementor-widget-n-accordion details {
    border-bottom: 3px solid #FFFAEB;
    padding: 18px !important;
}
.elementor-widget-n-accordion details > .e-child {
    margin: 8px 0;
    padding: 1rem;
    background-color: #FFFFFF;
    border: 0;
}

/* Sample code to alternate section background colours automatically. Note: will need to remove background overlay colours for this to work */
/*main .page-content div[data-elementor-type="wp-page"] > div:nth-child(odd) {
    background-color: red !important;
}
main .page-content div[data-elementor-type="wp-page"] > div:nth-child(even) {
    background-color: blue !important;
}*/

/*
figure.gallery-item, .elementor-image-gallery .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}*/

/* Hymn Board Background? */
/*ul.sub-menu {
    background-image: url(images/sub-nav-back.png);
}
ul.sub-menu a.hfe-sub-menu-item {
    color: #FFF !important;
}*/