/*
Theme Name: SBW Wedding
Author: Ilona Ferenc
Author URI: http://ilonaferenc.co.uk
Description:  SBW Wedding is a simple, clean and elegant WordPress wedding theme that allows you to create your dream wedding website in minutes. It's responsive, works great on any device and in any browser and comes with important wedding website features such as venue details, RSVP, countdown, media gallery and relationship timeline.
Version: 1.5.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: entertainment, holiday, custom-header, featured-images, featured-image-header
Text Domain: sbw-wedding

SBW Wedding is a simple, clean and elegant WordPress wedding theme that allows you to create your dream wedding website in minutes. It's responsive, works great on any device and in any browser and comes with important wedding website features such as venue details, RSVP, countdown, media gallery and relationship timeline.

SBW Theme, Copyright 2019 Ilona Ferenc.
This theme is distributed under the terms of the GNU GPL.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

SBW Theme bundles the following third-party resources:

- Bootstrap framework
Bootstrap v4.3.1 (https://getbootstrap.com/)
Copyright 2011-2019 The Bootstrap Authors
Copyright 2011-2019 Twitter, Inc.
Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)

- Font Awesome
Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)

- Banner image of a couple in a dessert
wedding_theme_wordpress_couple_standing_in_a_dessert.jpg © Kaci Baum (https://stocksnap.io/photo/KRLHF4RUMB), CC0

*/


@import url('https://fonts.googleapis.com/css?family=Great+Vibes|Raleway');

body {
    position: relative;
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    color: #555;
}

a {
    color: #555;
}

.main a,
main a {
    border-bottom: 1px solid;
}

a:hover {
    color: #555;
    text-decoration: none;
}

.btn,
input[type="submit"],
.wp-block-button__link {
    border-radius: 0;
    border: 0;
    padding: 6px 30px;
    transition: background 0.5s;
    background-color: #aac6a1;
	color: #ffffff;
}

.wp-block-button__link {
    border-radius: 25px;
}

.btn:hover,
.btn:focus {
	 background-color: #90a988;
	 color: #ffffff;
}

img {
    max-width: 100%;
    height: auto;
}

iframe,
figure {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    letter-spacing: 2px;
}

h2 {
    font-size: 2.3em;
    line-height: 1.4;
}

h3 {
    font-size: 2.1em;
}

i {
    margin-right: 5px;
}

hr {
    max-width: 100px;
    margin-left: 0;
    margin-right: 0;
}

hr.is-style-wide {
    max-width: 100%;
}

table {
    width: 100%;
}

table td,
table.wp-block-table.is-style-stripes td,
table th {
    border: 1px solid #767676;
    padding: 10px;
}

.section {
    padding: 30px 0 90px;
    text-align: center;
}

/* --- PAGE --- */
header {
    overflow: hidden;
    padding: 10px 0;
}

header .custom-logo-link img {
    max-height: 70px;
    width: auto;
}

header .site-title {
    display: block;
    margin-bottom: 0;
    font-family: 'Great Vibes', cursive;
    font-size: 3rem;
    line-height: 1.3;
}

header .site-description {
    margin-bottom: 0;
}

#page-banner {
    background-image: url('inc/img/wedding_theme_wordpress_couple_standing_in_a_dessert.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center center;
    position: relative;
    height: 40vh;
    overflow: hidden;
    margin-bottom: 30px;
}

main {
    word-wrap: break-word;
}

.page-title {
    font-size: 2.5em;
    margin: 10px 0 30px;
}

.page main h2 {
    margin-top: 30px;
}

.widget ul {
    position: relative;
    padding-left: 0;
    list-style: none;
}

.widget ul li {
    margin-bottom: 10px;
    padding-left: 25px;
}

.widget ul li:before {
    position: absolute;
    left: 0;
    content: '\f004';
    font-family: 'Font Awesome 5 Free';
    font-size: 0.9em;
    font-weight: 900;
    color: #c0b283;
    display: inline-block;
    margin-right: 3px;
}

.widget ul a {
    border: 0;
}

/* --- FRONT PAGE --- */
.home header nav {
    display: none;
    background-color: rgba(254, 188, 0, 0);
}

header .navbar-brand {
    float: none;
    padding: 0;
}

header .navbar-brand img {
    margin: 0 auto;
}

#page-scroll {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 50%;
    width: 50px;
    transform: translateY(-50%);
    text-align: center;
}
#page-scroll a,
#page-scroll i {
    display: block;
    padding: 0;
    height: 20px;
    font-size: 9px;
    line-height: 9px;
}
#page-scroll i::before,
#page-scroll i::after {
    vertical-align: middle;
}
#page-scroll i::after {
    content: '';
    display: inline-block;
    height: 100%;
    width: 1px;
}
#page-scroll a {
    color: #ececec;
}
#page-scroll a:hover,
#page-scroll a:focus {
    text-decoration: none;
    color: #b8d5c5;
}

#page-scroll a.nav-up i,
#page-scroll a.nav-down i {
    font-size: 16px;
}
#page-scroll a i.fa-heart,
#page-scroll a.active i {
    display: none;
}

#page-scroll a.active i.fa-heart {
    display: block;
    color: #b8d5c5;
    font-size: 11px;
}

#banner {
    background-repeat: no-repeat;
    position: relative;
    height: 85vh;
    background-size: cover;
    background-attachment: fixed;
    background-position: center center;
}

#timer {
    display: block;
    margin: -85px auto 100px;
    padding: 0;
    background: #fff;
    position: relative;
    max-width: 700px;
}

#timer > div {
    z-index: 999;
    padding: 25px 0 45px;
    box-shadow: -4px 8px 21px rgba(0,0,0,0.1)
}

#timer div > * {
    position: relative;
    z-index: 2;
}

#timer h2 {
    margin-bottom: 0;
}

#timer .countdown-timer-wrap {
    text-align: center;
    position: relative;
    z-index: 3;
}

#timer .countdown-timer-wrap #countdown_timer_value {
	display: inline-block;
    margin: 0;
    background: #fff;
    padding: 0 15px 0;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

#timer #countdown_timer_value > div {
    display: inline-block;
    padding: 0 15px;
}

#timer .number {
    display: block;
    font-family: initial;
    font-size: 3.5em;
    line-height: 1;
}

.overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 20px;
    border: 1px solid #fff;
}

#intro {
    padding: 30px 0 90px;
}

#details {
    padding: 60px 0 50px;
    background-color: #d3e6dc;
}

#details h2 {
    margin-bottom: 20px;
}

#details .col-md-6 > div {
    background-color: #fff;
    padding-bottom: 30px;
    margin: 30px 15px 20px;
    box-shadow: 0px 5px 33px #adc3b9;
}

.image-wrapper {
    position: relative;
}

.image-wrapper:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 15px;
    border: 1px solid #fff;
    content: '';
}

.image-wrapper div {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: -moz-linear-gradient(top, rgba(101,100,96,0.1) 0%, rgba(206, 206, 206, 0.35) 100%);
    background: -webkit-linear-gradient(top, rgba(101,100,96,0.1) 0%,rgba(206, 206, 206, 0.35) 100%);
    background: linear-gradient(to bottom, rgba(101,100,96,0.1) 0%,rgba(206, 206, 206, 0.35) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00656460', endColorstr='#a6656460',GradientType=0 );
}

#details h3 {
    margin-top: 20px;
}

#details .further-information {
    margin-top: 25px;
}

.more-details {
    margin-top: 20px;
    font-size: 0.9em;
}

.more-details a {
    border: 0;
}

.more-details i {
    padding-left: 5px;
}

#story h2 {
    margin-bottom: 20px;
}

#memories .gallery .gallery-item {
    margin: 0;
}

#memories .gallery img {
    border: 2px solid #fff;
    height: auto;
}

#memories .gallery dd {
    display: none;
}

#memories .tiled-gallery .gallery-row {
    margin: auto;
}

#contact .form-wrapper {
    max-width: 640px;
    margin: 0 auto;
}

#contact .form-wrapper:before {
    width: 300px;
    height: 300px;
    right: 187px;
}

#contact .form-wrapper > div {
    position: relative;
    padding: 20px 30px;
    background-color: #fff;
    box-shadow: 4px 4px 21px rgba(0,0,0,0.1);
    z-index: 9;
}

#contact .form-intro {
    margin-bottom: 30px;
}

#contact i:before {
    margin-right: 20px;
}
#contact a {
    color: #fff;
}
#contact #wpcf7-f9-o1 {
    padding: 48px 0 90px 0;
}

#contact form .form-control {
    border: 1px solid #e6e6e6;
    box-shadow: none;
    border-radius: 0;
}

#contact input[type="checkbox"] {
    margin-right: 10px;
    font-weight: 400;
}

.footer-image {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    background-attachment: fixed;
    min-height: 350px;
    text-align: center;
}

.footer-image img {
    position: absolute;
    top: 50%;
    margin: -91px 0 0 -100px;
    width: 200px;
    left: 50%;
}

footer .website-details {
    padding: 10px 0;
    font-size: 0.9em;
}

footer .website-details p {
    margin: 0;
}

footer .website-details a.design-by {
    color: #e0616b;
}

/* --- POSTS --- */
blockquote,
blockquote.wp-block-quote.is-large,
blockquote.wp-block-quote.is-style-large {
    margin: 25px 0;
}

blockquote,
.wp-block-quote {
    border-left: 2px solid #aac6a1;
    padding: 0 0 0 15px;
}

.wp-block-quote.is-style-large {
    border: 0;
    padding-left: 0;
}

blockquote cite {
    font-style: normal;
    font-size: 0.95rem;
    color: #8c8c8c;
}

.wp-block-pullquote {
    border-top: 4px solid #aac6a1;
    border-bottom: 4px solid #aac6a1;
    color: #40464d;
    font-style: italic;
}

.wp-block-file .wp-block-file__button {
    display: table;
    margin: 10px 0 0 0;
}

.single .entry-content > * {
    margin: 25px 0;
}

.wp-block-code {
    padding: 20px;
    border: 1px solid #e2e4e7;
}

code{
    color: inherit;
}

.page-links {
    margin: 10px 0;
    clear: both;
}

.page-links * {
    font-size: 1.2rem;
    margin: 0 5px;
}

.page-links a {
    border: 0;
}

.page-links .current {
    font-weight: 600;
}

.entry-footer {
    clear: both;
    font-size: 0.9rem;
}

.entry-footer > span {
    margin-right: 18px;
}

.entry-footer > span:last-child {
    margin-right: 0;
}

.updated:not(.published) {
    display: none;
}

.entry-footer i {
    margin-right: 5px;
}

.entry-footer a {
    border: 0;
}

.post-navigation {
    margin: 20px 0 10px;
}

.post-navigation h2 {
    font-family: 'Raleway', sans-serif;
    font-size: 1.1rem;
}

.nav-links {
    display: flex;
}

.nav-links > div {
    flex: 1;
    min-width: 50%;
    word-wrap: break-word;
}

.nav-links .nav-next {
    text-align: right;
}

.nav-links .post-title {
    font-weight: 600;
    font-size: 1.1rem;
}

.nav-links .page-numbers {
    margin: 0 5px;
}

.nav-links .current {
    font-weight: 600;
}

.post-navigation a {
    border: 0;
}

#comments {
    margin-top: 30px;
}

.comments-title {
    font-family: 'Raleway', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
}

.discussion-avatar-list {
    content: "";
    display: table;
    table-layout: fixed;
    margin: 0;
    padding: 0;
}

.discussion-avatar-list li {
    position: relative;
    list-style: none;
    margin: 0 -8px 0 0;
    padding: 0;
    float: left;
}

.avatar {
    border-radius: 100%;
    display: block;
    height: 2.25rem;
    min-height: inherit;
    width: 2.25rem;
}

.discussion-avatar-list .comment-user-avatar img {
    height: 1.5rem;
    width: 1.5rem;
}

.comment-form-comment label {
    display: block;
}

.comment {
    list-style: none;
    position: relative;
    margin-bottom: 30px;
}
.comments-area .comment-list {
    margin-bottom: 30px;
    padding-left: 0;
}

.comment .comment-author {
    position: relative;
}

.comment .comment-author .fn {
    font-weight: 600;
    font-size: 1.2rem;
    font-style: normal;
}

.comment .comment-author .says {
    display: none;
}

.comment .comment-author .avatar {
    float: left;
    margin-right: 1rem;
    position: relative;
}

.comment .commentmetadata a {
    border: 0;
}

.comment .comment-body > p {
    margin: 1rem 0;
}

textarea {
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.archive article,
.search article,
.blog article {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #efefef;
}

.archive article:last-child {
    border: 0;
}

.entry-header {
    padding-bottom: 0;
}

.entry-title a {
    border: 0;
}

a.more-link {
    display: block;
    margin-top: 10px;
    border: 0;
}

/* --- WP DEFAULTS --- */
/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text,
.gallery-item .gallery-caption {
    font-size: 12px;
    line-height: 17px;
    margin: 5px 0 0;
    padding: 0 4px 5px;
}

.sticky {
    background-color: #f7f7f7;
    padding: 10px 20px 20px;
    border: 0;
}

.bypostauthor {
    display: block;
}

figcaption,
.gallery-caption {
    font-size: 0.71111em;
    line-height: 1.6;
    color: #767676;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  right: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

@media (min-width: 768px) {
    body .main {
        padding: 0 50px 30px;
    }

    .section {
        padding: 70px 0 90px;
        text-align: center;
    }

    .navbar-nav {
        float: right;
    }

    .timeline-item {
        width: 50%;
        float: left;
        clear: both;
    }

    .timeline-item:nth-child(2n) {
        float: right;
    }

    .timeline-item:not(:first-child) {
        margin-top: -150px;
    }

    .timeline-wrapper .timeline-container {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        flex-direction: column;
    }

    .timeline {
        width: 100%;
        background-color: #fff;
        box-shadow: 0 5px 25px 5px rgba(0, 0, 0, 0.2);
    }

    #timeline-last-element .timeline-content-wrapper {
        margin-top: 103px;
    }

    #add-to-story {
        padding: 0 0 30px;
    }

    #contact {
        padding: 150px 0 150px;
    }

    #contact .form-wrapper:before {
        right: 107px;
        top: -73px;
        transform: rotate(-91deg);
        pointer-events: none;
    }

    #contact .form-wrapper:after {
        width: 300px;
        height: 300px;
        position: absolute;
        left: 103px;
        bottom: -68px;
        transform: rotate(91deg);
        pointer-events: none;
    }

    .page main,
    .error404 main,
    .single main {
        margin-top: -100px;
        padding: 30px 40px 60px;
        background-color: #fff;
    }

    .comments-area .comments-title-wrap {
        align-items: baseline;
        display: flex;
        justify-content: space-between;
    }

    .comments-area .comments-title-wrap .discussion-meta {
        flex: 0 0 13.5vw;
        margin-left: 1rem;
    }

    .comment.depth-1 {
        margin-left: 3.25rem;
    }

    .comment .comment-author .avatar {
        float: inherit;
        margin-right: inherit;
        position: absolute;
        top: 0;
        left: -50px;
    }
}

@media (max-width: 768px) {
    h2 {
        font-size: 2.2em;
    }

    .section {
        padding: 20px 0 40px;
        text-align: center;
    }

    .navbar {
        margin-bottom: 0;
    }

    .navbar .navbar-toggle {
        margin-right: 0;
        border: 1px solid #fff;
    }

    .navbar .navbar-toggle .icon-bar {
        background-color: #fff;
    }

    #banner {
        height: 60vh;
    }

    #timer {
        margin: -40px 20px 50px;
    }

    #timer::after {
        width: 100px;
        height: 100px;
        right: -7%;
        bottom: -50px;
    }

    #timer > div {
        padding: 25px 0 30px;
    }

    #timer .number {
        font-size: 1.8em;
    }

    #details .col-md-6 > div {
        margin-bottom: 20px;
    }

    #story {
        padding: 30px 20px;
    }

    #story #timeline-line {
        display: none;
    }

    #story .timeline-icon {
        display: none;
    }

    .timeline-item {
        margin-bottom: 40px;
    }

    #timeline-last-element .timeline-content-wrapper::after {
        width: 120px;
        left: -29px;
        bottom: -40px;
        height: 100px;
    }

    #add-to-story {
        padding-bottom: 20px;
    }

    #contact {
        overflow-x: hidden;
        padding-top: 40px;
    }

    #contact .form-wrapper:before {
        width: 100px;
        height: 100px;
        right: -7%;
        top: -34px;
        transform: rotate(-103deg);
    }

    #contact .form-wrapper:after {
        width: 100px;
        height: 100px;
        left: -7%;
        bottom: -34px;
        transform: rotate(78deg);
    }

    #page-banner {
        height: 160px;
        margin-bottom: 10px;
    }

    #page-banner .overlay {
        margin: 10px;
    }

    .page-title {
        font-size: 2em;
        margin-bottom: 10px;
    }

    .page main h2 {
        font-size: 1.6em;
        line-height: 1.2;
    }

    .page main h3 {
        font-size: 1.5em;
    }

    iframe {
        max-width: 100%;
    }
}
