/*==========================
 # 1. Improting Styles
 =========================*/

@import url(https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,800,700,600);
@import url(https://fonts.googleapis.com/css?family=Lobster);
@import url('animate.css');
@import url('prettyPhoto.css');


/*==========================
 # 2. Global Styles
 =========================*/


html,
body {
    font-family: 'Open Sans';
    color: #939393;
    font-size: 13px;
    line-height: 24px;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/*FIX per Bootstrap Modal*/
.modal-open {
    padding-right: 0 !important;
}

a {
    color: #D41027;
}

    a:focus, .button:focus, input:focus, textarea:focus {
        outline: none;
        box-shadow: none;
    }

    a, a:active, a:focus, a:active, a:hover {
        text-decoration: none;
    }

img {
    max-width: 100%;
    height: auto;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    margin: 0 0 15px;
}

.form-control:focus {
    box-shadow: none;
}

ul {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

img {
    max-width: 100%;
}

.highlight {
    font-weight: 600;
    color: #262626;
}

a.nav-collapser {
    background: #D41027;
    color: #fff;
    text-align: center;
    border: none;
    outline: none;
    width: 45px;
    height: 35px;
    border-radius: 5px;
    position: fixed;
    top: 60px;
    right: 60px;
    z-index: 99999;
    border: 1px solid #D41027;
    transition: all .3s ease;
}

    a.nav-collapser .fa {
        color: #fff;
        font-size: 18px;
        line-height: 32px;
    }

    a.nav-collapser:hover .fa {
        color: #D41027;
    }

    a.nav-collapser:before {
        content: '';
        width: 0;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #fff;
        z-index: -1;
        border-radius: 5px;
        transition: all .3s ease;
    }

    a.nav-collapser:hover:before {
        width: 100%;
    }

.preloader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 999999;
    background-color: rgba(255,255,255,1);
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(../images/preloader.GIF);
}


/*==========================
 # 3. Section Title Styles
 =========================*/

.section-title {
    text-align: center;
    margin: 100px 0;
}

    .section-title h2 {
        background: url(../images/section-title-bg.png) no-repeat top center;
        -webkit-background-size: 100%;
        background-size: 100%;
        font-weight: bold;
        text-align: center;
        color: #444242;
        font-size: 28px;
        line-height: 32px;
        padding: 60px;
        padding-top: 45px;
        padding-bottom: 15px;
        display: inline-block;
    }

    .section-title p {
        color: #939393;
        font-size: 14px;
        line-height: 26px;
        font-style: italic;
    }

/*==========================
 # 4. Curv White Styles
 =========================*/

.curv-white {
    background: url(../images/curv-white.png) repeat-x center top;
    margin-top: -20px;
    height: 25px;
    position: relative;
    top: 15px;
}

    .curv-white * {
        display: none;
    }

/*==========================
 # 5. Curv Gray Styles
 =========================*/

.curv-gray {
    background: url(../images/curv-gray.png) repeat-x center top;
    margin-top: -20px;
    height: 25px;
    position: relative;
    top: 15px;
}

.curv-gray-2 {
    background: url(../images/curv-gray-2.png) repeat-x center top;
    margin-top: -20px;
    height: 25px;
    position: relative;
    top: 15px;
}

.curv-gray * {
    display: none;
}

.curv-gray-2 * {
    display: none;
}

/*==========================
 # 6. Header Styles
 =========================*/

header {
    background: url(../images/slider/1.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    height: 965px;
}

    header .overlay {
        padding-top: 60px;
        background: rgba(0,0,0,0.1);
    }

    header .row {
        position: relative;
    }


/*=================================
 # 7. Header Featured box Styles
 =================================*/


.header-featured-box {
    margin: 135px auto 195px auto;
    width: 575px;
    height: 575px;
    background: rgba(255, 255, 255, 0.9) url(../images/header-featured-bg.png) no-repeat center center;
    border-radius: 50%;
}

    .header-featured-box h1 {
        font-family: 'Lobster';
        color: #2f2f2f;
        font-size: 56px;
        line-height: 55px;
    }

        .header-featured-box h1 b {
            color: #D41027;
        }

    .header-featured-box span {
        color: #969696;
        font-size: 14px;
        line-height: 14px;
        font-weight: bold;
    }

.header-featured-left {
    float: left;
    margin-top: 200px;
    text-align: right;
    margin-left: 155px;
}

    .header-featured-left h1 {
        margin-bottom: 7px;
    }

    .header-featured-left span {
        margin-right: 55px;
    }

.header-featured-right {
    float: right;
    margin-top: 263px;
    margin-right: 105px;
}

    .header-featured-right h1 {
        position: relative;
        right: 45px;
        top: 7px;
    }


/*=================================
 # 8. Side Navigation Styles
 =================================*/

.side-navigation {
    width: 290px;
    height: 100%;
    background: #2F2F2F;
    position: fixed;
    top: 0;
    right: -290px;
    transition: all .3s ease;
    overflow: hidden;
    z-index: 99999;
}

    .side-navigation a.navigation-closer {
        border: none;
        outline: none;
        background: url(../images/resources/side-nav-closer.png) no-repeat center center;
        width: 40px;
        height: 40px;
        position: absolute;
        left: -20px;
        top: 20px;
        z-index: 99999;
        cursor: pointer;
    }

.side-nav-logo {
    text-align: center;
    padding-top: 40px;
}

.side-nav-menu {
    margin-top: 35px;
}

    .side-nav-menu ul li a {
        text-transform: uppercase;
        color: #fff;
        font-weight: 300;
        font-size: 18px;
        line-height: 30px;
        padding: 10px 0 10px 55px;
        display: block;
        position: relative;
    }

        .side-nav-menu ul li a .fa-caret-down {
            font-size: 30px;
            position: absolute;
            right: 20px;
            top: 10px;
        }

    .side-nav-menu ul li ul.dropdown {
        display: none;
    }

        .side-nav-menu ul li ul.dropdown a {
            background: #000;
        }

            .side-nav-menu ul li a:hover,
            .side-nav-menu ul li ul.dropdown a:hover,
            .side-nav-menu ul > li > a.active {
                background: #D41027;
            }

/*=================================
 # 9. Bright Groom Styles
 =================================*/

#bright_groom {
    background-image: url(../images/bride-groom/bg-1.png);
    background-position: center center;
    background-repeat: no-repeat;
    padding-bottom: 115px;
}

    #bright_groom .row {
        background-image: url(../images/bride-groom/bg-2.png);
        background-position: center bottom;
        background-repeat: no-repeat;
        margin-bottom: 50px;
    }

    #bright_groom .single_bride_groom {
        padding: 0 100px;
        text-align: center;
    }

        #bright_groom .single_bride_groom h2 {
            font-size: 24px;
            line-height: 30px;
            color: #4f4f4f;
            margin-top: 30px;
            margin-bottom: 5px;
        }

        #bright_groom .single_bride_groom span {
            color: #D41027;
            font-size: 13px;
            line-height: 30px;
            font-weight: bold;
        }

        #bright_groom .single_bride_groom img {
            box-shadow: inset 0 -10px 10px -10px rgba(0,0,0,.2);
        }

        #bright_groom .single_bride_groom p {
            font-size: 13px;
            line-height: 26px;
            color: #8c8c8c;
        }

        #bright_groom .single_bride_groom .social li {
            display: inline;
        }

            #bright_groom .single_bride_groom .social li a {
                background: url(../images/social-bg.png) no-repeat center center;
                width: 42px;
                height: 38px;
                display: inline-block;
                margin-right: 10px;
                transition: all .3s ease;
            }

                #bright_groom .single_bride_groom .social li a:hover {
                    background: url(../images/social-bg-hover.png) no-repeat center center;
                }

                    #bright_groom .single_bride_groom .social li a:hover .fa {
                        color: rgb(255,0,0);
                    }

            #bright_groom .single_bride_groom .social li .fa {
                color: #E2E2E2;
                font-size: 15px;
                line-height: 35px;
                text-align: center;
                transition: all .3s ease;
            }

    #bright_groom .container > .button {
        background: #D41027;
        color: #fff;
        font-weight: bold;
        font-size: 13px;
        line-height: 35px;
        padding: 0 25px;
        border: none;
        outline: none;
        border-radius: 15px;
        text-transform: uppercase;
        margin: 0 auto;
        display: block;
        position: relative;
        border: 1px solid #D41027;
        z-index: 1;
        overflow: hidden;
        transition: all .3s ease;
    }

.single_bride_groom .single_bride_groom_wrap {
    border: 1px solid transparent;
    padding-bottom: 20px;
    transition: all .3s ease;
    border-radius: 5px;
}

    .single_bride_groom .single_bride_groom_wrap:hover {
        border: 1px solid rgb(255,0,0);
    }

#bright_groom .container > .button:hover {
    color: #D41027;
}

#bright_groom .container > .button:before {
    content: '';
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    z-index: -1;
    border-radius: 15px;
    transition: all .3s ease;
}

#bright_groom .container > .button:hover:before {
    width: 100%;
}


.single_bride_groom .single_bride_groom_wrap .image-wrap {
    position: relative;
    overflow: hidden;
}

.single_bride_groom .single_bride_groom_wrap img {
    transition: all 0.8s ease 0s;
}

.single_bride_groom .single_bride_groom_wrap:hover .image-wrap img {
    -moz-transform: scale(1.5) rotate(10deg);
    -webkit-transform: scale(1.5) rotate(10deg);
    -ms-transform: scale(1.5) rotate(10deg);
    -o-transform: scale(1.5) rotate(10deg);
    transform: scale(1.5) rotate(10deg);
}

.single_bride_groom .single_bride_groom_wrap .image-wrap .overlay {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    top: 0;
    left: 0px;
    background: rgba(255,0,0,.15);
    transition-property: left, opacity;
    transition-duration: 0.5s;
    transition-timing-function: ease-in;
    transition-delay: initial;
}

.single_bride_groom .single_bride_groom_wrap:hover .image-wrap .overlay {
    opacity: 1;
}


/*=================================
 # 10. Countdown Styles
 =================================*/

#countdown {
    background: url(../images/background-image/countdown-bg.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    text-align: center;
}

    #countdown .overlay {
        padding-top: 125px;
        padding-bottom: 165px;
        background: rgba(0,0,0,.85);
    }

    #countdown h2 {
        color: #fff;
        font-size: 36px;
        line-height: 36px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px;
    }

    #countdown .title-border {
        height: 2px;
        width: 50px;
        margin: 0 auto;
        border-top: 2px solid #fff;
        border-bottom: 2px solid #fff;
        margin-bottom: 110px;
    }

#countdown-wrap > div {
    display: inline-block;
    color: #fff;
    font-size: 60px;
    line-height: 30px;
    margin-right: 15px;
    font-weight: normal;
}

    #countdown-wrap > div span {
        color: #fff;
        font-size: 14px;
        line-height: 30px;
        font-weight: bold;
        text-transform: uppercase;
    }


/*=================================
 # 11. Our LoveLine Styles
 =================================*/

#our_loveline {
    background: #F9F7F1;
}

    #our_loveline .row {
        padding-bottom: 95px;
    }

.single_love_line {
    padding: 0 130px;
}

    .single_love_line .animated {
        -webkit-animation-fill-mode: initial;
        animation-fill-mode: initial;
    }

    .single_love_line > div:first-child {
        text-align: right;
        padding: 0;
    }

    .single_love_line > div:last-child {
        padding: 0;
        text-align: left;
    }

    .single_love_line div.details:first-child {
        padding-top: 35px;
        padding-right: 35px;
        padding-left: 35px;
        background: #fff;
    }

    .single_love_line div.details:last-child {
        padding-top: 35px;
        padding-left: 35px;
        padding-right: 35px;
        background: #fff;
    }

    .single_love_line .image img {
        width: 100%;
    }

    .single_love_line .image {
        position: relative;
    }

        .single_love_line .image:first-child:before {
            position: absolute;
            bottom: -21px;
            right: -21px;
            z-index: 99;
            content: ' ';
            display: block;
            width: 42px;
            height: 38px;
            background: url(../images/our-love-line/bg-1.png) no-repeat 0 0;
        }

    .single_love_line:last-child .image:first-child:before {
        display: none;
    }

    .single_love_line .image:last-child:before {
        position: absolute;
        bottom: -21px;
        left: -21px;
        z-index: 99;
        content: ' ';
        display: block;
        width: 42px;
        height: 38px;
        background: url(../images/our-love-line/bg-1.png) no-repeat 0 0;
    }

    .single_love_line:last-child .image:last-child:before {
        display: none;
    }

    .single_love_line .details {
        position: relative;
        overflow: hidden;
    }

        .single_love_line .details:first-child:before {
            position: absolute;
            top: 45%;
            right: -26px;
            z-index: 9999;
            content: ' ';
            display: block;
            width: 26px;
            height: 36px;
            background: url(../images/our-love-line/bg-2.png) no-repeat 0 0;
        }

        .single_love_line .details:last-child:before {
            position: absolute;
            top: 45%;
            left: -26px;
            z-index: 99;
            content: ' ';
            display: block;
            width: 26px;
            height: 36px;
            transform: rotate(-180deg);
            background: url(../images/our-love-line/bg-2.png) no-repeat 0 0;
        }


        .single_love_line .details h2 {
            font-size: 24px;
            line-height: 30px;
            color: #4f4f4f;
            margin-bottom: 10px;
        }

        .single_love_line .details span {
            font-size: 14px;
            line-height: 16px;
            color: #9c9c9c;
            margin-bottom: 10px;
            display: block;
        }

        .single_love_line .details p {
            font-size: 13px;
            line-height: 24px;
            color: #939393;
            margin-bottom: 10px;
            margin-bottom: 0;
        }

        .single_love_line .details .button {
            margin-top: 30px;
            margin-bottom: 30px;
            display: inline-block;
            background: #D41027;
            color: #fff;
            font-weight: bold;
            font-size: 13px;
            line-height: 35px;
            padding: 0 25px;
            border: none;
            outline: none;
            border-radius: 15px;
            text-transform: uppercase;
            border: 1px solid #D41027;
            position: relative;
            z-index: 1;
            transition: all .3s ease;
            cursor: pointer;
        }

    .single_love_line .spacer {
        height: 60px;
    }

    .single_love_line .details .button:hover {
        color: #D41027;
    }

    .single_love_line .details .button:before {
        content: '';
        width: 0;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #fff;
        z-index: -1;
        border-radius: 15px;
        transition: all .3s ease;
    }

    .single_love_line .details .button:hover:before {
        width: 100%;
    }

#our_loveline .container > .button {
    background: transparent;
    color: #4f4f4f;
    font-weight: bold;
    font-size: 13px;
    line-height: 35px;
    padding: 0 25px;
    border: 2px solid #4f4f4f;
    border-left: 0;
    border-right: 0;
    outline: none;
    text-transform: uppercase;
    display: block;
    margin: 0 auto;
    margin-bottom: 125px;
}


.single_love_line .image .image-wrap {
    position: relative;
    overflow: hidden;
}

.single_love_line .image img {
    transition: all 0.8s ease 0s;
}

.single_love_line:hover .details {
    border: 1px solid #FD9999;
}

.single_love_line:hover .image .image-wrap img {
    -moz-transform: scale(1.5) rotate(10deg);
    -webkit-transform: scale(1.5) rotate(10deg);
    -ms-transform: scale(1.5) rotate(10deg);
    -o-transform: scale(1.5) rotate(10deg);
    transform: scale(1.5) rotate(10deg);
}

.single_love_line .image .image-wrap .overlay {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    top: 0;
    left: 0px;
    background: rgba(255,0,0,.15);
    transition-property: left, opacity;
    transition-duration: 0.5s;
    transition-timing-function: ease-in;
    transition-delay: initial;
}

.single_love_line:hover .image .image-wrap .overlay {
    opacity: 1;
}

.pranzo h4 {
    font-weight: bold;
    color: #D41027;
    margin-bottom: .6em;
    font-size: 1.2em;
}

    .pranzo h4 .fa {
        font-size: .8em;
    }

.pranzo p {
    margin-bottom: 1em;
}
/*=================================
 # 12. Friends Says Styles
 =================================*/

#friends_says {
    background: url(../images/background-image/friends-says-bg.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    text-align: center;
}

    #friends_says .overlay {
        padding-top: 125px;
        padding-bottom: 70px;
        background: rgba(0,0,0,.85);
    }

    #friends_says h2 {
        color: #fff;
        font-size: 36px;
        line-height: 36px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px;
    }

    #friends_says .title-border {
        height: 2px;
        width: 50px;
        margin: 0 auto;
        border-top: 2px solid #fff;
        border-bottom: 2px solid #fff;
        margin-bottom: 25px;
    }

    #friends_says p {
        font-size: 24px;
        line-height: 36px;
        color: #D8D0D0;
        font-style: italic;
    }

    #friends_says img {
        width: 115px;
        height: 115px;
        border-radius: 50%;
        border: 5px solid #fff;
        margin-top: 45px;
        margin-bottom: 30px;
    }

    #friends_says h3 {
        font-size: 14px;
        line-height: 36px;
        color: #fff;
        font-weight: bold;
        text-transform: uppercase;
    }

        #friends_says h3:before {
            content: ' ';
            width: 30px;
            height: 2px;
            background: url(../images/friends-says-name-border.png) no-repeat 0 0;
            display: inline-block;
            position: relative;
            bottom: 5px;
            right: 10px;
        }

        #friends_says h3:after {
            content: ' ';
            width: 30px;
            height: 2px;
            background: url(../images/friends-says-name-border.png) no-repeat 0 0;
            display: inline-block;
            position: relative;
            bottom: 5px;
            left: 10px;
        }

/*=================================
 # 13. Close People Styles
 =================================*/

#close_people {
    padding-bottom: 125px;
}

    #close_people .close_person_top {
        padding: 0 100px;
        text-align: center;
        padding-bottom: 60px;
    }

        #close_people .close_person_top img {
            width: 200px;
            height: 200px;
            border-radius: 50%;
            margin: 0 auto;
            margin-bottom: 20px;
            transition: all .3s ease;
        }

        #close_people .close_person_top:hover img {
            box-shadow: 0 0px 1px 10px rgba(255,0,0,1);
        }

        #close_people .close_person_top h2 {
            color: #262626;
            font-size: 18px;
            line-height: 26px;
            font-weight: 600;
            margin-bottom: 5px;
        }

        #close_people .close_person_top span {
            display: block;
            font-weight: bold;
            color: #D41027;
            font-size: 13px;
            line-height: 26px;
            margin-bottom: 15px;
        }

    #close_people .close_person_bottom {
        margin-top: 60px;
    }

    #close_people .close_person_bottom_title {
        min-height: 113px;
        margin-bottom: 55px;
        background: url(../images/close-person-image/bottom-title-shadow.png) no-repeat center center;
        -webkit-background-size: cover;
        background-size: cover;
    }

        #close_people .close_person_bottom_title h2 {
            text-align: center;
            color: #D41027;
            font-family: 'Lobster';
            font-size: 30px;
            line-height: 90px;
        }

    #close_people .close_person_bottom {
        background: url(../images/close_person_bottom-bg.png) repeat-y center center;
    }

    #close_people .close_person_bottom_single {
        margin-bottom: 55px;
    }

        #close_people .close_person_bottom_single:last-child {
            margin-bottom: 0px;
        }

        #close_people .close_person_bottom_single img {
            float: left;
            width: 200px;
            height: 200px;
            border-radius: 50%;
            transition: all .3s ease;
        }

        #close_people .close_person_bottom_single:hover img {
            box-shadow: 0 0px 1px 10px rgba(255,0,0,1);
        }

    #close_people .col-lg-6:first-child .close_person_bottom_single img {
        margin-right: 25px;
    }

    #close_people .col-lg-6:last-child .close_person_bottom_single img {
        margin-left: 25px;
    }

    #close_people .close_person_bottom_single .details {
        float: left;
        width: 300px;
    }

    #close_people .col-lg-6:first-child .close_person_bottom_single .details {
        text-align: left;
    }

    #close_people .col-lg-6:last-child .close_person_bottom_single .details {
        text-align: right;
    }

    #close_people .close_person_bottom_single h2 {
        color: #262626;
        font-size: 18px;
        line-height: 26px;
        font-weight: 600;
        margin-bottom: 5px;
        margin-top: 20px;
    }

    #close_people .close_person_bottom_single span {
        display: block;
        font-style: italic;
        color: #D41027;
        font-size: 13px;
        line-height: 26px;
        margin-bottom: 15px;
    }

/*=================================
 # 14. RSVP Styles
 =================================*/

#rsvp {
    background: url(../images/background-image/rsvp-bg.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}

    #rsvp .overlay {
        background: rgba(0,0,0,.85);
    }

#rsvp-wrap {
    width: 600px;
    margin: 60px auto 105px;
}

#rsvp .container > h2 {
    margin-top: 115px;
    color: #fff;
    font-size: 36px;
    line-height: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

#rsvp .container > p {
    font-size: 18px;
    line-height: 36px;
    color: #fff;
    font-style: italic;
    text-align: center;
}

#rsvp-wrap input[type=text],
#rsvp-wrap input[type=email] {
    display: block;
    width: 100%;
    background-color: transparent;
    border: none;
    border-bottom: 3px solid #E6E6E6;
    height: 35px;
    padding-bottom: 10px;
    line-height: 35px;
    margin-bottom: 35px;
    outline: none;
    padding: 10px;
    transition: all .3s ease;
}

    #rsvp-wrap input[type=text]:focus,
    #rsvp-wrap input[type=email]:focus,
    #rsvp-wrap input[type=text]:hover,
    #rsvp-wrap input[type=email]:hover {
        border-bottom: 3px solid rgb(255,0,0);
    }

#rsvp-wrap select:hover,
#rsvp-wrap select:focus {
    border-bottom: 3px solid rgb(255,0,0);
}

#rsvp-wrap select {
    display: inline-block;
    width: 48%;
    background-color: transparent;
    border: none;
    border-bottom: 3px solid #E6E6E6;
    height: 35px;
    padding-bottom: 10px;
    line-height: 35px;
    margin-bottom: 35px;
    outline: none;
    transition: all .3s ease;
}

#rsvp-wrap input[type=submit] {
    background: #D41027;
    border: none;
    outline: none;
    border-radius: 40px;
    text-transform: uppercase;
    padding: 9px 45px;
    text-align: center;
    font-size: 18px;
    line-height: 36px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    display: block;
    margin: 45px auto;
    margin-bottom: 0;
    border: 1px solid #D41027;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: all .3s ease;
}

#rsvp-wrap select.select-one {
    margin-right: 10px;
}

#rsvp-wrap select.select-two {
    margin-left: 10px;
}

#rsvp-wrap input[type=submit]:hover {
    color: #fff;
}

#rsvp-wrap input[type=submit]:before {
    content: '';
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    z-index: -1;
    border-radius: 40px;
    transition: all .3s ease;
}

#rsvp-wrap button[type=submit]:hover:before {
    width: 100%;
}

#rsvp .contact-form .error {
    background: #D41027;
    border-bottom: 3px solid #D41027;
    color: #fff;
}

    #rsvp .contact-form .error::-webkit-input-placeholder {
        color: #fff;
    }

    #rsvp .contact-form .error:-moz-placeholder { /* Firefox 18- */
        color: #fff;
    }

    #rsvp .contact-form .error::-moz-placeholder { /* Firefox 19+ */
        color: #fff;
    }

    #rsvp .contact-form .error:-ms-input-placeholder {
        color: #fff;
    }

#rsvp .contact-form p.output {
    color: #D41027;
    text-align: center;
    margin-bottom: 0;
    margin-top: 30px;
    font-size: 25px;
}

/*=================================
 # 15. Wedding Party Styles
 =================================*/

#wedding_party {
    padding-bottom: 125px;
}

    #wedding_party .row {
        margin-bottom: 20px;
    }

    #wedding_party .single_location {
        text-align: center;
        width: 355px;
        min-height: 190px;
        margin-bottom: 25px;
        margin-right: 50px;
        padding: 20px;
        bottom: 35px;
        border: 1px solid rgba(0,0,0,.1);
        border-radius: 5px;
        transition: all .3s ease;
    }

        #wedding_party .single_location.last {
            margin-bottom: 0;
        }

        #wedding_party .single_location:hover {
            border: 1px solid rgba(255,0,0,.5);
        }

        #wedding_party .single_location:last-child {
            margin-right: 0;
        }

        #wedding_party .single_location h2 {
            color: #D41027;
            font-size: 18px;
            line-height: 30px;
            font-weight: 600;
            margin-bottom: 10px;
            text-transform: uppercase;
        }

    #wedding_party .single_event {
        padding: 10px;
        padding-bottom: 25px;
        margin-right: 30px;
        width: 370px;
        border-bottom: 1px solid #E5E5E5;
        border-radius: 5px;
        transition: all .3s ease;
    }

        #wedding_party .single_event:hover {
            border: 1px solid rgba(255,0,0,.5);
        }

        #wedding_party .single_event img {
            width: 100%;
        }

        #wedding_party .single_event h2 {
            color: #262626;
            font-size: 18px;
            line-height: 30px;
            font-weight: 600;
            margin-top: 30px;
            margin-bottom: 10px;
        }

        #wedding_party .single_event p {
            font-size: 13px;
            line-height: 22px;
            color: #939393;
        }

        #wedding_party .single_event .read_more {
            text-transform: uppercase;
            color: #D41027;
            font-size: 13px;
            line-height: 22px;
            font-weight: bold;
            position: relative;
            z-index: 1;
            padding: 5px 15px;
            border-radius: 15px;
            border: 1px solid #D41027;
            margin-top: 10px;
            display: inline-block;
            transition: all .3s ease;
        }

            #wedding_party .single_event .read_more .fa {
                margin-left: 5px;
                font-size: 15px;
                font-weight: bold;
            }

        #wedding_party .single_event:last-child {
            margin-right: 0;
        }

        #wedding_party .single_event .read_more:hover {
            color: #fff;
        }

        #wedding_party .single_event .read_more:before {
            content: '';
            width: 0;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            background: #D41027;
            z-index: -1;
            border-radius: 15px;
            transition: all .3s ease;
        }

        #wedding_party .single_event .read_more:hover:before {
            width: 100%;
        }



        #wedding_party .single_event .image-wrap {
            position: relative;
            overflow: hidden;
        }

        #wedding_party .single_event img {
            transition: all 0.8s ease 0s;
        }

        #wedding_party .single_event:hover .image-wrap img {
            -moz-transform: scale(1.5) rotate(10deg);
            -webkit-transform: scale(1.5) rotate(10deg);
            -ms-transform: scale(1.5) rotate(10deg);
            -o-transform: scale(1.5) rotate(10deg);
            transform: scale(1.5) rotate(10deg);
        }

        #wedding_party .single_event .image-wrap .overlay {
            position: absolute;
            display: block;
            width: 100%;
            height: 100%;
            opacity: 0;
            top: 0;
            left: 0px;
            background: rgba(255,0,0,.75);
            transition-property: left, opacity;
            transition-duration: 0.5s;
            transition-timing-function: ease-in;
            transition-delay: initial;
        }

        #wedding_party .single_event:hover .image-wrap .overlay {
            opacity: 1;
        }


/*=================================
 # 16. GMap Styles
 =================================*/


#gmap {
}

#gmap {
    height: 490px;
}

div#gmap {
    width: 100% !important;
    margin-left: 0% !important;
    margin-top: 0px !important;
    border-bottom: solid 1px #ddd !important;
    padding: 0 !important;
    margin: 0 !important;
}

    div#gmap:before, div#gmap:after {
        display: none;
    }


/*=================================
 # 17. Gift Registry Styles
 =================================*/



#gift_registry {
    background: url(../images/background-image/gift_registry_bg.jpg) center center no-repeat;
}

    #gift_registry .overlay {
        background: rgba(0,0,0,.85);
        padding-bottom: 165px;
    }

    #gift_registry .container > .row h2 {
        margin-top: 115px;
        color: #fff;
        font-size: 36px;
        line-height: 36px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px;
    }

    #gift_registry .container > .row p {
        font-size: 18px;
        line-height: 36px;
        color: #fff;
        font-style: italic;
        text-align: center;
    }

    #gift_registry .container img {
        margin-top: 75px;
        width: 340px;
        height: 100px;
        margin-right: 23px;
        margin-left: 23px;
    }

/*=================================
 # 19. Qoute Styles
 =================================*/


#qoute {
    background: url(../images/background-image/qoute_bg.jpg) center center no-repeat;
    text-align: center;
}

    #qoute .overlay {
        background: rgba(0,0,0,.85);
        padding-top: 135px;
        padding-bottom: 135px;
    }

        #qoute .overlay p {
            font-size: 24px;
            line-height: 36px;
            color: #D8D0D0;
            font-style: italic;
        }

    #qoute h3 {
        font-size: 14px;
        line-height: 36px;
        color: #fff;
        font-weight: bold;
        text-transform: uppercase;
        margin-bottom: 0;
    }

        #qoute h3:before {
            content: ' ';
            width: 30px;
            height: 2px;
            background: url(../images/friends-says-name-border.png) no-repeat 0 0;
            display: inline-block;
            position: relative;
            bottom: 5px;
            right: 10px;
        }

        #qoute h3:after {
            content: ' ';
            width: 30px;
            height: 2px;
            background: url(../images/friends-says-name-border.png) no-repeat 0 0;
            display: inline-block;
            position: relative;
            bottom: 5px;
            left: 10px;
        }

/*=================================
 # 20. Gallery Styles
 =================================*/
.collage{
    padding:10px;
}

.collage a {
    vertical-align:bottom;
    opacity:0;
}


#gallery {
    padding-bottom: 135px;
}

    #gallery ul li {
        width: 32.5%;
        float: left;
        margin-right: 10px;
        margin-bottom: 10px;
        overflow: hidden;
        position: relative;
		height: 195px;
    }

        #gallery ul li:nth-child(3n) {
            margin-right: 0;
        }

        #gallery ul li img {
            width: 100%;
            /*height: 280px;*/
            transition: all .5s ease-out;
        }

        #gallery ul li .overlay {
            position: absolute;
            display: block;
            width: 100%;
            height: 100%;
            opacity: 0;
            top: 0;
            left: 0px;
            background: rgba(255,0,0,.15) url(../images/our-love-story-divider.png) center center no-repeat;
            transition-property: left, opacity;
            transition-duration: 0.5s;
            transition-timing-function: ease-in;
            transition-delay: initial;
        }

        #gallery ul li:hover img {
            transform: scale(1.3);
        }

        #gallery ul li:hover .overlay {
            opacity: 1;
        }


/*=================================
 # 21. Curv Footer Styles
 =================================*/

.curv-footer {
    background: url(../images/curv-gray-footer.png) repeat-x center center;
    width: 100%;
    height: 35px;
    position: relative;
    top: 30px;
}

    .curv-footer * {
        display: none;
    }

/*=================================
 # 22. Footer Styles
 =================================*/

footer {
    background: #F9F7F1;
    text-align: center;
}

    footer .footer_top {
        padding: 45px 0;
        margin-bottom: 3px;
        border-bottom: 1px solid #D1D1D1;
    }

    footer .footer_bottom {
        border-top: 1px solid #D1D1D1;
    }

        footer .footer_bottom p {
            color: #262626;
            margin-bottom: 0;
            line-height: 65px;
            font-weight: 600;
        }

            footer .footer_bottom p a {
                color: #FF6767;
                font-weight: 400px;
            }



/*
*******************************
*   Tablet Layout: 768px.     *
*******************************
**
*/

@media only screen and (min-width: 768px) and (max-width: 991px) {
    #bright_groom .single_bride_groom {
        padding: 0 35px;
        text-align: center;
    }

    .single_love_line {
        padding: 0 15px;
    }

        .single_love_line .image img {
            height: 315px;
        }

    #close_people .close_person_bottom_single img {
        width: 130px;
        height: 130px;
    }

    #close_people .close_person_bottom_single .details {
        width: 185px;
    }

    #wedding_party .single_location {
        margin-bottom: 30px;
        margin-right: 45px;
        width: 320px;
    }

        #wedding_party .single_location:last-child {
            float: none;
            margin: 30px auto;
            margin-right: auto;
            clear: both;
        }

    #wedding_party .single_event {
        width: 230px;
    }

    #gift_registry .container img {
        width: 201px;
        height: 85px;
    }

    .single_blog_post:last-child {
        float: none;
        margin: 30px auto;
        clear: both;
    }

    #gallery ul {
        margin-left: 15px;
    }

        #gallery ul li {
            width: 48%;
        }

            #gallery ul li:nth-child(3n) {
                margin-right: 10px;
            }

    .single #blog_content .comment_section .single_comment .comment_details {
        width: 385px;
    }

    .single #blog_content .comment_form .form_top input[type="text"], .single #blog_content .comment_form .form_top input[type="email"] {
        width: 31%;
    }

    .single #blog_content .comment_form .form_wrapper textarea {
        width: 98.5%;
    }
}

/*
*******************************
*   Mobile Layout: 767px.     *
*******************************
**
*/

@media only screen and (max-width: 767px) {
    .single_bride_groom {
        margin-bottom: 110px;
    }

    #countdown .title-border {
        margin-bottom: 60px;
    }

    #countdown-wrap > div {
        font-size: 50px;
        line-height: 65px;
        margin-right: 35px;
    }

    .single_love_line {
        padding: 0 30px;
        margin-bottom: 30px;
    }

        .single_love_line > div:last-child,
        .single_love_line > div:first-child {
            text-align: center;
        }

        .single_love_line .image:first-child::before {
            right: 45%;
        }

        .single_love_line .image:last-child::before {
            left: 45%;
            top: -20px;
        }

        .single_love_line:last-child .image:last-child::before {
            display: inline-block;
        }

    #close_people .close_person_bottom_single img {
        float: none;
        width: 130px;
        height: 130px;
        margin: 0 auto;
        display: inline-block;
    }

    #close_people .close_person_bottom_single .details {
        float: none;
        width: 175px;
        margin: 0 auto;
        text-align: center !important;
    }

    #close_people .col-lg-6:first-child .close_person_bottom_single img,
    #close_people .col-lg-6:last-child .close_person_bottom_single img {
        margin-right: auto;
        margin-left: auto;
        display: block;
    }

    #close_people .col-lg-6:last-child .close_person_bottom_single .details {
        text-align: center;
    }

    #rsvp-wrap {
        width: 85%;
    }

        #rsvp-wrap select {
            width: 45%;
        }

    #wedding_party .single_location,
    #wedding_party .single_event {
        width: 85%;
        margin: 30px auto;
        min-height: unset;
    }

        #wedding_party .single_location:last-child,
        #wedding_party .single_event:last-child {
            margin-right: auto;
        }

    #gallery ul {
        margin-left: 15px;
    }

        #gallery ul li {
            width: 45%;
        }

            #gallery ul li img {
                height: 150px;
            }

            #gallery ul li:nth-child(3n) {
                margin-right: 10px;
            }

    #close_people .close_person_top {
        padding: 0 35px 60px;
    }

    #our_blog .single_blog_post .image-wrap {
        width: 95%;
        height: 230px;
    }

    footer .footer_bottom p {
        line-height: 40px;
    }

    #bright_groom .single_bride_groom {
        padding: 0 30px;
    }

    #bright_groom .row {
        background: none;
    }

    .single_love_line {
        margin-bottom: 30px;
        padding: 0 15px;
    }

        .single_love_line div.details:last-child {
            padding: 0 15px;
            padding-top: 35px;
        }

    .close_person_bottom_title {
        display: none;
    }

    .header-featured-box {
        background-attachment: scroll;
        background-clip: border-box;
        background-color: rgba(255, 255, 255, 0.9);
        background-image: url(../images/header-featured-bg.png);
        background-origin: padding-box;
        background-position: center center;
        background-repeat: no-repeat;
        border-radius: 50%;
        height: 300px;
        margin: 135px auto 195px;
        width: 300px;
        background-size: 100% 100%;
    }

    .header-featured-left {
        float: left;
        margin-left: 22px;
        margin-top: 65px;
        text-align: right;
    }

    .header-featured-right {
        float: right;
        margin-right: -23px;
        margin-top: -25px;
    }

    header {
        height: auto;
    }

    .single #blog_content .comment_section,
    .single #blog_content .comment_form {
        padding: 25px 20px;
    }

        .single #blog_content .comment_section .single_comment .comment_details {
            width: auto;
        }

        .single #blog_content .comment_section .single_comment .image {
            float: none;
            margin: 0 auto;
            display: block;
            text-align: center;
        }

        .single #blog_content .comment_section .single_comment .comment_details h2 {
            text-align: center;
        }

        .single #blog_content .comment_section .single_comment .comment_details span.comment_time {
            display: block;
            text-align: center;
        }

        .single #blog_content .comment_form .form_top input[type="text"], .single #blog_content .comment_form .form_top input[type="email"] {
            width: 100%;
            margin: 0;
            margin-bottom: 20px;
        }

    #gift_registry .container img {
        height: 100px;
        margin-left: 10px;
        margin-right: 0;
        width: 300px;
    }

    #our_blog .single_blog_post {
        width: 85%;
        margin-left: auto;
        margin-right: auto;
    }
}

/*
***************************************
*      Wide Mobile Layout: 480px.     *
***************************************
**
*/
@media only screen and (min-width: 480px) and (max-width: 767px) {
    .header-featured-box {
        margin-top: 90px;
    }

    a.nav-collapser {
        top: 20px;
        right: 20px;
    }

    #rsvp-wrap select {
        width: 47%;
    }

    #close_people .close_person_top {
        padding: 0 100px 60px;
    }

    #gallery ul li img {
        height: 180px;
    }

    #bright_groom .single_bride_groom {
        padding: 0 100px;
    }

    .single_love_line {
        margin-bottom: 30px;
        padding: 0 30px;
    }

    #gmap {
        height: 290px;
    }

    #our_blog .single_blog_post .image-wrap {
        width: 333px;
        height: 333px;
    }

    #gift_registry .container img {
        height: 100px;
        margin-right: 15px;
        margin-top: 75px;
        width: 85%;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
}

@media only screen and (max-width: 480px) {
    .header-featured-box {
        margin-top: 90px;
    }

    a.nav-collapser {
        top: 20px;
        right: 20px;
    }

    #gmap {
        height: 290px;
    }

    #gallery ul li {
        width: 100%;
        height: auto;
    }

    #countdown-wrap > div {
        width: 100%;
    }

    #gallery ul li img {
        height: 100%;
    }
}
