/** !
Theme Name: Your Wedding
Theme URI: https://www.theharveyswedding.co.uk/
Description: Bespoke Theme for Wedding Day & RSVP using WordPress. Gutenberg compatible. Using Bootstrap 4 and Font Awesome 5.
Author: Elms Creative
Author URI: https://www.elmscreative.com/
Version: 1.0
Text Domain: elmscreative
*/

/* ==========================================================================
    Elements
   ========================================================================== */

    html, body { height:100%; }
    html { background:#fff; overflow:auto; }
    body { background:none; color:#5D5D5D; font-family:'Nunito', Arial, Helvetica, sans-serif; padding:0; -webkit-font-smoothing:antialiased; }

    h1, h2, h3, h4, h5, h6 { margin:0 auto 1.25rem; color:#151515; text-transform:capitalize; font-family:'Engagement', 'Nunito', Arial, Helvetica, sans-serif !important; }
    h1 { font-size:5rem; }
    h2 { font-size:4rem; }
    h3 { font-size:3rem; }
    h4 { font-size:2rem; }
    h5 { font-size:1rem; }
    p { font-size:0.94rem; line-height:1.6; }
    ul > li, ol > li { font-size:0.94rem; }
    .section-header-underline { border:2px solid #E5E5E5; width:44px; margin:0 auto; margin-bottom:30px; }

    form { padding:2em !important; background:#fff !important; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px !important; }
    .forminator-ui#forminator-module-20.forminator-design--flat .forminator-radio { font-size:0.9rem !important; }
    .forminator-ui#forminator-module-20.forminator-design--flat .forminator-button-submit { margin:2em auto 1em !important; display:block !important; width:auto !important; font-size:1rem !important; font-weight:600 !important; padding:0.55rem 2.75rem !important; text-decoration:none !important; display:inline-block; font-weight:700; color:#fff !important; text-align:center !important; background:#000 !important; -webkit-border-radius:35px !important; -moz-border-radius:35px !important; border-radius:35px !important; border:#000 1px solid !important; -moz-transition:color 0s linear 0s; -webkit-transition:color 0s linear 0s; -o-transition:color 0s linear 0s; transition:color 0s linear 0s !important; }
    .forminator-ui#forminator-module-20.forminator-design--flat .forminator-button-submit:hover { color:#fff !important; background:#626166 !important; text-decoration:none !important; border:#626166 1px solid !important; } 

    input[type=text], input[type=url], input[type=email], input[type=tel], input[type=password], textarea { padding:1rem 0.85rem; color:#5D5D5D; font-size:0.9rem; background:#F8F8F8; border:#CECECE 1px solid; -webkit-border-radius:0; -moz-border-radius:0; border-radius:0; font-family:'Nunito', Arial, Helvetica, sans-serif !important; }
    input[type=file] { color:#5D5D5D; }
    select { color:#5D5D5D; font-family:'Nunito', Arial, Helvetica, sans-serif !important; height:auto; -webkit-appearance:none; box-shadow: none !important; border:#CECECE 1px solid; }
    textarea { min-height:175px !important; max-height:175px !important; padding:1rem 0.85rem !important; font-size:0.9rem !important; background-color:#F8F8F8 !important; border:#CECECE 1px solid !important; -webkit-border-radius:0 !important; -moz-border-radius:0 !important; border-radius:0 !important; font-family:'Nunito', Arial, Helvetica, sans-serif !important; }

    input[type=submit] { width:auto; font-size:1rem; padding:0.55rem 2.75rem; text-decoration:none; font-weight:700; color:#fff !important; text-align:center; background:#000; -webkit-border-radius:35px; -moz-border-radius:35px; border-radius:35px; border:#000 1px solid; -moz-transition:color 0s linear 0s; -webkit-transition:color 0s linear 0s; -o-transition:color 0s linear 0s; transition:color 0s linear 0s; }
    input[type=submit]:hover { color:#fff !important; background:#626166; text-decoration:none; border:#626166 1px solid; }
    .btn { width:auto; font-size:1rem; padding:0.55rem 2.75rem; text-decoration:none; display:inline-block; font-weight:700; color:#fff !important; text-align:center; background:#000; -webkit-border-radius:35px; -moz-border-radius:35px; border-radius:35px; border:#000 1px solid; -moz-transition:color 0s linear 0s; -webkit-transition:color 0s linear 0s; -o-transition:color 0s linear 0s; transition:color 0s linear 0s; }
    .btn:hover { color:#fff !important; background:#626166; text-decoration:none; border:#626166 1px solid; }

/* ==========================================================================
    Structure
   ========================================================================== */

    header.homepage { margin:0; position:relative; background:#fff; overflow:hidden; }
    header.other { margin:2em; position:relative; background:#fff url('img/page-hero.jpg') center no-repeat; background-size:cover; }
    header.homepage #inner { padding:15em 1em 17.5em; text-align:center; }
    header.other #inner { padding:10em 1em 12.5em; text-align:center; }
    header > .container-fluid { position:relative; z-index:5; }
    header #inner h1 { font-size:6rem; color:#fff; position:relative; z-index:5; }
    header #inner p.lead { font-size:1.75rem; color:#fff; font-weight:300; position:relative; z-index:5; }
    header #video-background { position: absolute; top: 0; bottom: 0; right: 0; left: 0; min-width: 100%; min-height: 100%; width: 100%; height: auto; z-index: 0; -o-object-fit: cover; object-fit: cover; /* -moz-transform: scale(1.2); -webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); */ }
    header .watch { position:absolute; bottom:1em; right:1.25em; z-index:2; margin:0; }
    header .watch > a { font-size:1.2rem; color:#fff; font-weight:600; }
    header .overlay { width:100%; height:100%; position:absolute; top:0; bottom:0; left:0; right:0; z-index:1; background:rgba(0, 0, 0, 0); }

    .menu-icon { width: 30px; fill: #000; }
    .mobile-menu { padding: 1em 0; margin: 1em 0; color: #000; cursor: pointer; position: absolute; top: 15px; right: 15px; z-index: 5; }
    .mobile-menu > svg:hover { fill: #000; }
    .mobile-overlay-content { width: 100%; height: 100%; display: flex; margin: auto; border-radius: 10px; align-items: center; justify-content: center; }
    .mobile-overlay-menu { width: 0; height: 100%; position: fixed; z-index: 450; top: 0; left: 0; background: rgba(0, 0, 0, 0.9); background-size: cover; overflow-x: hidden; transition: 0.5s; }
    .mobile-overlay-menu a { padding: 8px; text-decoration: none; font-size: 36px; color: #fff; display: block; transition: 0.3s; }
    .mobile-overlay-menu a:hover, .mobile-overlay-menu a:focus { color: #ccc; }
    .mobile-overlay-menu .closebtn { position: absolute; top: 0; right: 0.45em; font-size:2rem; color: #fff; }
    .mobile-overlay-menu .closebtn:hover { color: #ccc; }

    nav { margin:0; padding:1em 0.5em !important; }
    nav .text-end { text-align:right; }

    footer { padding:3em 0 0; }
    footer h4 { font-size:2.5rem; }
    footer p { font-size:0.9rem; }
    footer .logo-footer { max-width:380px; margin:0 auto 2em; display:block; }

/* ==========================================================================
    Links and Navigation
   ========================================================================== */

    a { font-weight:700; text-decoration:none; -moz-transition:color 0.1s linear 0.1s; -webkit-transition:color 0.1s linear 0.1s; -o-transition:color 0.1s linear 0.1s; transition:color 0.1s linear 0.1s; }
    a:active, a:visited, a:link, a[href^=tel] { color:#5D5D5D; }
    a:hover, a[href^=tel]:hover { text-decoration:none; color:#626166; }
    a.nostyle:active, a.nostyle:visited, a.nostyle:link { color:inherit; text-decoration:none; }
    .nostyle:hover { color:inherit; text-decoration:none; }

    .navbar-toggler { position:relative; z-index:35; }
    .navbar-toggler > svg { width:20px; color:#000; fill:#000; }
    .navbar-dark .navbar-toggler { color: #626166; border-color: transparent; position: absolute; top:1em; right: 0.5em; }

    #primary { margin:0; padding:0; }
    #primary > li { padding:1em 0.5em; margin:0 0.75em; }
    #primary > li:hover { background:none; }
    #primary > li:hover > a { color:#626166; border-bottom:#000 1px solid; }
    #primary > li > a { padding:0; color:#000; font-size:1.15rem; border-bottom:transparent 1px solid; }
    #primary > li.active > a { color:#626166; }

    #secondary { margin:0; padding:0; }
    #secondary > li { padding:1em 0.5em; margin:0 0.75em; }
    #secondary > li:hover { background:none; }
    #secondary > li:hover > a { color:#626166; border-bottom:#000 1px solid; }
    #secondary > li > a { padding:0; color:#000; font-size:1.15rem; border-bottom:transparent 1px solid; }
    #secondary > li.active > a { color:#626166; }

/* ==========================================================================
    Misc
   ========================================================================== */

    .section { padding:6rem 0; position:relative; z-index:5; }
    .section-mini { padding:3rem 0; position:relative; z-index:5; }
    .section-very-mini { padding:1rem 0; position:relative; z-index:5; }
    .section-none { padding:0; position:relative; z-index:5; }

    .yellow-bg { background:#f9f2ea url('img/yellow-pattern-bg.jpg') top left repeat; }

/* ==========================================================================
    Cookie Consent
   ========================================================================== */

    .cc-window {opacity: 1; transition: opacity 1s ease }
    .cc-window.cc-invisible {opacity: 0 }
    .cc-animate.cc-revoke {transition: transform 1s ease }
    .cc-animate.cc-revoke.cc-top {transform: translateY(-2em) }
    .cc-animate.cc-revoke.cc-bottom {transform: translateY(2em) }
    .cc-animate.cc-revoke.cc-active.cc-bottom, .cc-animate.cc-revoke.cc-active.cc-top, .cc-revoke:hover { transform: translateY(0); }
    .cc-grower {max-height: 0; overflow: hidden; transition: max-height 1s }
    .cc-link, .cc-revoke:hover {text-decoration: underline }
    .cc-revoke, .cc-window {position: fixed; overflow: hidden; box-sizing: border-box; font-size: 16px; line-height: 1.5em; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; z-index: 9999 }
    .cc-window.cc-static {position: static }
    .cc-window.cc-floating {padding: 2em; max-width: 24em; -ms-flex-direction: column; flex-direction: column }
    .cc-window.cc-banner {padding: 1em 1.8em; width: 100%; -ms-flex-direction: row; flex-direction: row }
    .cc-revoke {padding: .5em }
    .cc-header {font-size: 18px; font-weight: 700 }
    .cc-btn, .cc-close, .cc-link, .cc-revoke {cursor: pointer; -webkit-border-radius:35px; -moz-border-radius:35px; border-radius:35px; }
    .cc-link {opacity: .8; display: inline-block; padding: .2em }
    .cc-link:hover {opacity: 1 }
    .cc-link:active, .cc-link:visited {color: initial }
    .cc-btn {display: block; padding: .4em .8em; font-size: .9em; font-weight: 700; border-width: 2px; border-style: solid; text-align: center; white-space: nowrap }
    .cc-banner .cc-btn:last-child {min-width: 140px }
    .cc-highlight .cc-btn:first-child {background-color: transparent; border-color: transparent }
    .cc-highlight .cc-btn:first-child:focus, .cc-highlight .cc-btn:first-child:hover {background-color: transparent; text-decoration: underline }
    .cc-close {display: block; position: absolute; top: .5em; right: .5em; font-size: 1.6em; opacity: .9; line-height: .75 }
    .cc-close:focus, .cc-close:hover {opacity: 1 }
    .cc-revoke.cc-top {top: 0; left: 3em; border-bottom-left-radius: .5em; border-bottom-right-radius: .5em }
    .cc-revoke.cc-bottom {bottom: 0; left: 3em; border-top-left-radius: .5em; border-top-right-radius: .5em }
    .cc-revoke.cc-left {left: 3em; right: unset }
    .cc-revoke.cc-right {right: 3em; left: unset }
    .cc-top {top: 1em }
    .cc-left {left: 1em }
    .cc-right {right: 1em }
    .cc-bottom {bottom: 0; }
    .cc-floating>.cc-link {margin-bottom: 1em }
    .cc-floating .cc-message {display: block; margin-bottom: 1em }
    .cc-window.cc-floating .cc-compliance {-ms-flex: 1; flex: 1 }
    .cc-window.cc-banner {-ms-flex-align: center; align-items: center }
    .cc-banner.cc-top {left: 0; right: 0; top: 0 }
    .cc-banner.cc-bottom {left: 0; right: 0; bottom: 0 }
    .cc-banner .cc-message {-ms-flex: 1; flex: 1; font-size:0.9em; }
    .cc-compliance {display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-line-pack: justify; align-content: space-between }
    .cc-compliance>.cc-btn {-ms-flex: 1; flex: 1 }
    .cc-btn+.cc-btn {margin-left: .5em }
    .cc-message { color:#5D5D5D; }
    .cc-btn { color:#fff !important; }

    .cc-floating.cc-theme-classic {padding: 1.2em; border-radius: 5px }
    .cc-floating.cc-type-info.cc-theme-classic .cc-compliance {text-align: center; display: inline; -ms-flex: none; flex: none }
    .cc-theme-classic .cc-btn {border-radius: 5px }
    .cc-theme-classic .cc-btn:last-child {min-width: 140px }
    .cc-floating.cc-type-info.cc-theme-classic .cc-btn {display: inline-block }
    .cc-theme-edgeless.cc-window {padding: 0 }
    .cc-floating.cc-theme-edgeless .cc-message {margin: 2em 2em 1.5em }
    .cc-banner.cc-theme-edgeless .cc-btn {margin: 0; padding: .8em 1.8em; height: 100% }
    .cc-banner.cc-theme-edgeless .cc-message {margin-left: 1em }
    .cc-floating.cc-theme-edgeless .cc-btn+.cc-btn {margin-left: 0 }

/* ==========================================================================
    Google Recapatcha V3
   ========================================================================== */

    .grecaptcha-badge { display:none !important; }

/* ==========================================================================
    WP Page Navi
   ========================================================================== */

    .wp-pagenavi { width:100%; height:auto; margin:1rem auto; text-align:center; clear:both; }
    .wp-pagenavi a, .wp-pagenavi span { font-size:0.9rem; font-weight:400; text-decoration: none; color:#5D5D5D; border:0px solid #029bab; padding: 3px 5px; margin: 2px; }
    .wp-pagenavi a:hover, .wp-pagenavi span.current { border-color:#4C99AB; }
    .wp-pagenavi span.current { color:#5D5D5D; font-weight:600; }

/* ==========================================================================
    Media Queries: iPad
   ========================================================================== */

    /* iPad [landscape] */
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
        
    }

    /* iPad [portrait] */
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
        
    }

    /* iPad 3/4 [landscape] */
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) and (-webkit-min-device-pixel-ratio: 2) {
        
    }

    /* iPad 3/4 [portrait] */
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) and (-webkit-min-device-pixel-ratio: 2) {
        
    }

/* ==========================================================================
    Bootstrap Queries
   ========================================================================== */

    @media (max-width: 575.98px) {
        header.homepage, header.other { margin:0; }
        header.homepage #inner, header.other #inner { padding: 7.5em 0; }
        header #inner h1 { font-size:3.4rem; }
        header #inner p.lead { font-size: 1.15rem; }
        header .watch > a { font-size: 1rem; }
        header .overlay { /* background:rgba(0, 0, 0, 0.20); */ }
        nav { margin: 0; padding: 1em 0 !important; }
        nav .logo { max-width:220px; }
        nav .text-end { display:none; }
        .mobile-overlay-content #primary > li:hover > a, .mobile-overlay-content #secondary > li:hover > a { color:#626166; border-bottom:#fff 1px solid; }
        .mobile-overlay-content #primary > li > a, .mobile-overlay-content #secondary > li > a { padding:0; color:#fff; font-size:1.15rem; border-bottom:transparent 1px solid; }
        .mobile-overlay-content #primary > li.active > a, .mobile-overlay-content #secondary > li.active > a { color:#626166; }
        #primary, #secondary { padding:1em 0; text-align:center; }
        #primary > li, #secondary > li { padding:0.25em; margin:0; }
        #primary > li > a, #secondary > li > a { font-size:1rem; }
        .mobile-menu { padding: 0; margin: 0.55em 0; }
        .menu-icon { width:22px; }
        .section { padding:2rem 0; }
        h2 { font-size:3rem; }
        h3 { font-size:2.5rem; }
        h4 { font-size:2rem; }
        h5 { font-size:1.5rem; }
        footer h4 { font-size: 1.75rem; }
        footer .logo-footer { max-width: 260px; }
    }

    @media (min-width: 576px) and (max-width: 767.98px) {
        header .logo { max-width:260px; }
        header #inner h1 { font-size:4rem; }
        header #inner p.lead { font-size: 1.35rem; }
        #primary, #secondary { padding:1em 0; text-align:center; }
        #primary > li, #secondary > li { padding:0.25em; margin:0; }
        #primary > li > a, #secondary > li > a { font-size:1rem; }
        nav .text-end { display:none; }
        .mobile-menu { right:35px; }
    }

    @media (min-width: 768px) and (max-width: 991.98px) {
        header .logo { max-width:260px; }
        header #inner h1 { font-size:4rem; }
        header #inner p.lead { font-size: 1.35rem; }
        #primary, #secondary { padding:1em 0; text-align:center; }
        #primary > li, #secondary > li { padding:0.25em; margin:0; }
        #primary > li > a, #secondary > li > a { font-size:0.9rem; }
        nav .text-end { display:none; }
        .mobile-menu { right:35px; }
    }

    @media (min-width: 992px) and (max-width: 1199.98px) {
        header .logo { max-width:260px; }
        #primary, #secondary { padding:1em 0; text-align:center; }
        #primary > li, #secondary > li { padding:0.25em; margin:0; }
        #primary > li > a, #secondary > li > a { font-size:1rem; }
        .mobile-menu { right:35px; }
    }

    @media (min-width: 1200px) {
        header .logo { max-width:260px; }
    }

/* ==========================================================================
    Print
   ========================================================================== */

    @media print {
        * { background:transparent !important; color:#000 !important; box-shadow:none !important; text-shadow:none !important; }
        a, a:visited { text-decoration: underline; }
        a[href]:after { content: " (" attr(href) ")"; }
        abbr[title]:after { content: " (" attr(title) ")"; }

        .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
        pre, blockquote { border:1px solid #999; page-break-inside:avoid; }
        thead { display:table-header-group; }
        tr, img { page-break-inside: avoid; }
        img { max-width:100% !important; }
        @page { margin: 0.5cm; }
        p, h2, h3 { orphans:3; widows:3; }
        h2, h3 { page-break-after:avoid; }
    }