/* ############################################### */
/* A little bit of everything, all rolled into one */
/* ############################################### */

.page-wrapper:before, 
.page-wrapper:after, 
.module-wrapper:before, 
.module-wrapper:after, 
.numbers:before, 
.numbers:after, 
.multipage.horizontal .desktop-nav nav:before, 
.multipage.horizontal .desktop-nav nav:after, 
.multi-horizontal .content.hasimage:before, 
.multi-horizontal .content.hasimage:after, 
.inputs:before, 
.inputs:after, 
.multi-pagination-container:before, 
.multi-pagination-container:after, 
.gallery-album-covers:before, 
.gallery-images:before, 
.gallery-album-covers:after, 
.gallery-images:after
{
    content:"";
    display:table;
}
.page-wrapper:after, 
.module-wrapper:after, 
.numbers:after, 
.multipage.horizontal .desktop-nav nav:after, 
.multi-horizontal .content.hasimage:after, 
.inputs:after, 
.multi-pagination-container:after, 
.gallery-album-covers:after, 
.gallery-images:after
{
    clear:both;
}
.page-wrapper, 
.module-wrapper, 
.numbers, 
.multipage.horizontal .desktop-nav nav, 
.multi-horizontal .content.hasimage, 
.inputs, 
.multi-pagination-container, 
.gallery-album-covers, 
.gallery-images
{
    zoom:1;
}

a {
    text-decoration: none;
}

/* ############################################### */
/* Layout */
/* ############################################### */

body {
    padding-bottom: 50px;
}

.fb-like 
{
    margin-top: 30px;
}

.page-section.main img, 
#dialog figure img 
{
    width: 100%;
    height: auto;
}

.site-wrapper 
{
    width: 95%;
    max-width: 1100px;
    margin: 0 auto;
}

.weddingsite-info {
	font-size: .85rem;
}

.google-map 
{
    width: 100% !important;
}

.vertical .desktop-nav 
{
    float: left;
    width: 25%;
}

.vertical article
{    
    float: right;
    width: 70%;
}

/* Header */

.monogram {
    display: none;
    text-align: center;
    font-size: 200px;
    color: #ededed;
    font-style: italic;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -0.4em;
    visibility: hidden;
    margin-top: 0.09em;
}

body.has-monogram.monogram-active .monogram {
    display: block;
}

.monogram span.first {
    display: inline-block;
    transform: translateY(-0.1em);
}

.monogram span.last {
    display: inline-block;
    transform: translateY(0.1em);
}

body.has-monogram.monogram-active .page-section.header {
    position: relative;
}

body.has-monogram.monogram-active .page-section.header header {
    position: absolute;
    z-index: 2;
    width: 100%;
    left: 0;
}

.line1, 
.line2 
{
    display: block; 
}

.languages li
{
    display: inline;
}


/* Countdown */

.numbers div 
{
    float: left;
    width: 25%;
}

.numbers .type,
.numbers .value 
{
    display: block;
}

/* Footer */

.weddingsite-info 
{
    float: right;
}

/* Navigation */

.mobile-nav 
{
    width: 100%;
}

.js .mobile-nav 
{
    position: absolute;
    z-index: 50;
    top: 0;
    left: 0;
}

.js .mobile-nav nav 
{
    display: none;
}

.nav-toggle 
{
    display: block !important;
}

.nav-toggle span 
{
    display: block;
}

nav a 
{
    display: inline-block;
}

.multipage.vertical nav a, 
.mobile-nav nav a
{
    display: block;
}

nav a span 
{
    display: inline-block;
}

.multipage.vertical .mobile-nav,
.multipage.horizontal .mobile-nav 
{
    display: none;
}

.multipage.horizontal .desktop-nav li 
{
    display: inline-block;
}

.horizontal .desktop-nav a {
    line-height: 2;
}

.vertical .desktop-nav a {
    line-height: 2.5;
}

/* V2 */

.mobile-nav.nav-v2 {
    position: fixed;
}

.hamburger {
    position: absolute;
    z-index: 55;
    right: 30px;
    top: 30px;
}

.mobile-nav.nav-v2 nav a {
    line-height: 2.5;
}

.mobile-nav.nav-v2 nav {
    display: block;
    height: 0px;
    transition: opacity 300ms;
    opacity: 0;
    overflow: hidden;
}

.mobile-nav.nav-v2.opened nav {    
    display: block;
    height: 100vh;
    opacity: 1;    
}

.mobile-nav.nav-v2.opened nav .content {
    overflow: auto;
    height: 100vh;
    box-sizing: border-box;
    width: 100%;
}


/* Multi horizontal */

.multi-horizontal .content.hasimage figure
{
    width: 30%;
    float: right;
    margin: 0 0 1% 3%;
    max-width: 200px;
}

/* Forms */

.input.textarea, 
.input.submit, 
label, 
.add-rsvp-person, 
.input.activity 
{ 
    display: block; 
    clear: both; 
    width: 100%; 
}

.input 
{
    box-sizing: border-box;
}

.input.text, 
.input.select, 
.input.radiobutton 
{
    float: left; 
    width: 50%; 
}

.ui-dialog .input.text, 
.ui-dialog .input.select, 
.ui-dialog .input.radiobutton 
{
    float: none; 
    width: 100%; 
}

.input.radiobutton, 
.input.select 
{
    width: 100%; 
}

.custom-radiobutton,
.custom-checkbox
{    
    opacity: .4;
}

.rsvp2-activity {
    padding: 10px;
    margin-top: 20px;
    border-radius: 5px;
    box-shadow: 0 0 30px rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.1);
}

.rsvp2-activity .input.text,
.rsvp2-activity .input.select,
.rsvp2-activity .input.radiobutton {
    float: none;
    width: auto;
}

.rsvp2-activity-name {
    font-weight: bold;
    margin-bottom: 10px;
}

.rsvp2-activity-option {
    padding: 12px 0 12px 25px;
    border-top: 1px solid rgba(0,0,0,0.1);
    font-size: 0.85em;    
    position: relative;
    text-align: left;
}

.rsvp2-activity-option .custom-radiobutton,
.rsvp2-activity-option .custom-checkbox {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    cursor: pointer;
}

.rsvp2-activity-option label {
    cursor: pointer;
}

.rsvp-activity 
{
    overflow: hidden;
}

.rsvp-activity-options 
{
    float: right;    
}

.rsvp-activity-name 
{
    float: left;
}

.input.radiobutton label, 
.rsvp-activities label
{
    display: inline-block;
    width: auto;
}

.input.text input, 
.input.textarea textarea, 
select 
{
    width: 100%; 
    box-sizing: border-box;
}

input[type='submit'] {
    border: 0;
    width: auto;
    cursor: pointer;
    border: 0;
}

.login-form .input.submit, 
.wishlistbooking-form .input.submit, 
.wishlist-login-form .input.submit
{
    width: 50%;
    clear: none;
    float: left;
}

.wishlistbooking-form .input.submit 
{
    width: auto;
}

.booking-module-v2 .wishlistbooking-form .input {
    float: none;
    width: auto;
}

.wishlist-quantity 
{
    clear: both;
}

.add-rsvp-person a,
a.load-more-posts 
{
    display: block;
}


/* Slideshow */
figure.image img 
{
    display: block;
}

.slideshow-nums a 
{
    display: inline-block;
    text-indent: -9999px;    
    width: 10px;
    height: 10px;
}

/* Guestbook & comments */

.load-more-posts 
{
    display: block;
}


/* Gallery */

.gallery-album-covers a.hidden, 
.gallery-images a.hidden {
    display: none;
}


.gallery-albums {
    position: relative;
}

.album-nav 
{
    line-height: 1;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
}

.gallery-album-covers li, 
.gallery-images li
{
    float: left;
    width: 24%;
    margin: .5%;
    font-size: 0;
    line-height: 0;
    box-sizing: border-box;
    padding: 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.15);
    transition: all 200ms;
}

.multipage.vertical .gallery-album-covers li,
.multipage.vertical .gallery-images li {
    width: 32.33%;
}

.gallery-album-covers a,
.gallery-images a 
{
    display: block;
}

/* Blog */

.multi-pagination-container a
{
    text-indent: -9999px;
    width: 25px;
    height: 25px;
    font-size: 0;
    line-height: 1;
    display: inline-block;
    float: left;
}

.multi-pagination-container a.next-page
{
    float: right;
}


/* ############################################### */
/* Margins & Paddings */
/* ############################################### */

.visitor-form {
    margin: 20px 0;
}


.multi.hascols .cols2 .post > .content,
.multi.hascols .cols2 .pos2.pos4 > .content {
  margin-left: 2%;
  margin-right: 2%;
}

.multi.hascols .cols2 .post:first-child > .content,
.multi.hascols .cols2 .pos3 > .content,
.multi.hascols .cols2 .pos5 > .content,
.multi.hascols .cols2 .pos7 > .content {
  margin-left: 0;
  margin-right: 4%;
}

.multi.hascols .cols2 .pos2 > .content,
.multi.hascols .cols2 .pos2.pos4 > .content {
  margin-left: 4%;
  margin-right: 0;
}

.multi.hascols .cols3 .post > .content,
.multi.hascols .cols3 .pos4.pos8 > .content {
  margin-left: 2%;
  margin-right: 2%;
}

.multi.hascols .cols3 .post:first-child > .content,
.multi.hascols .cols3 .pos4 > .content,
.multi.hascols .cols3 .pos7 > .content,
.multi.hascols .cols3 .pos10 > .content {
  margin-left: 0;
  margin-right: 4%;
}

.multi.hascols .cols3 .pos3 > .content {
  margin-left: 4%;
  margin-right: 0;
}

.page-section.header {
    padding: 50px 0;
}

.languages {
    margin-top: 20px;
}

.languages img {
    margin: 0 3px;
}

.multipage.horizontal .desktop-nav nav {
    margin-bottom: 40px;
    text-align: center;
}


.horizontal .desktop-nav nav a {
    padding: 0 10px;
}

.button {
    display: inline-block;
    padding: 12px 18px;
    line-height: 1;
}

.banner {
    margin: 40px 0;
}

figure.image {
    margin-bottom: 30px;
}

.input.textarea textarea {
    height: 100px;
}

.booking-info {
    margin: 5px 0;
}

.input {
    padding: 10px;
}

.wishlistbooking-form .input {
    padding-left: 0;
    padding-right: 0;
}

.input.radiobutton label, 
.rsvp-activities label {
    margin-right: 10px;
}

.rsvp-activity {
    padding: 12px 0;
}

.postlist li {
    padding: 30px 0;
}

.onepage .multi.hascols .lead {
    font-size: .8em;
}

.datetime {
    margin: -8px 0 10px 0;
}

article h2, 
article h3,
article h4 {
    margin-bottom: 10px;
}

.guestbook-form,
.wishlist-login {
    margin-bottom: 40px;
}

.gallery-images {
    margin-top: 20px;
}

.pagesection-name h4 {
    margin: 0;
}

.pagesection-name {
    margin: 40px 0;
}


/* ############################################### */
/* Appearance, colors, design etc */
/* ############################################### */


.quantity-nav, .quantity-value {
    display: inline-block;
    padding: 10px;
    line-height: 1;
    background: #595959;
    color: #fff;
    font-weight: bold;
}

.quantity-value {
    color: #000;
    background: #f1f1f1;
    font-weight: normal;
}

.slideshow-nums {
    margin: 0;
    font-size: 0;
    position: absolute;
    z-index: 5;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
    text-align: center;
}

.slideshow-nums a {
    margin: 0 3px;
    display: inline-block;
    text-indent: -9999px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

.slideshow-nums a.current {
    background: #fff;
}

.wishlist-login-info {
    font-weight: bold;
    font-style: italic;
}

.datetime,
article h3 .album-name {
    font-size: .75em;
}

.multi-pagination-container {
    text-align: center;
}

.pagesection-name .content {
    height: 1px;
    background: rgba(0, 0, 0, 0.1);
}

.pagesection-name .content h4 {
    text-align: center;
    /*line-height: .1;*/
}

.pagesection-name .content h4 span {
    display: inline-block;
    padding: 2px 20px;
    background: #fff;
}

.mobile-nav.nav-v2 nav {
    text-align: center;
}

.gallery-album-covers .num-images {
    display: none;
}

.gallery-album-covers a 
{
    background: #000;
    position: relative;
}

.gallery-images a img,
.gallery-album-covers a img
{
    display: block;
    opacity: .5;
    transition: opacity 200ms;
}

.gallery-images a img {
    opacity: .8;
}

.gallery-album-covers a h3
{
    color: #fff;
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 200ms;
    opacity: 1;
    text-align: center;
}

.gallery-album-covers li:hover,
.gallery-images li:hover
{
    box-shadow: 0 0 20px rgba(0,0,0,0.25);
}

.gallery-images li:hover img,
.gallery-album-covers li:hover img
{
    opacity: 1;
}

.gallery-album-covers li:hover h3
{
    opacity: 0;
    top: 55%;
}
/*
.gallery-album-covers a,
.gallery-images a {
    padding: 0;
    transition: all 200ms;
}

.gallery-album-covers a:hover,
.gallery-images a:hover {
    padding: 10px;
}
*/
.approve-message {
    font-style: italic;
}

.multipage .countdown {
    margin-top: 25px;
    padding-top: 25px;    
}

.multipage .countdown, 
.postlist li {
    border-top: 1px solid rgba(0,0,0,0.1);
}

.postlist li:first-child {
    border-top: 0;
}

/*
.created-via a {
    color: #000;
}
*/
.multi-pagination-container a
{
    background: #000 url("/Images/Global/prev_inverted.png") no-repeat center center;
}

.multi-pagination-container a.next-page
{
    float: right;
    background-image: url("/Images/Global/next_inverted.png");
}

nav a .item-icon,
.add-rsvp-person .icon  {
    display: inline-block;
    margin-right: 5px;
}

/*
nav .locked span, 
nav .unlocked span
{
    background-image: url("/Images/Global/locked.svg");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 12px;
    padding-left: 17px;
}

nav .unlocked span 
{
    background-image: url("/Images/Global/unlocked.svg");
}

.mobile-nav.opened .locked span {
    background-image: url("/Images/Global/locked_inverted.svg");
}

.mobile-nav.opened .unlocked span {
    background-image: url("/Images/Global/unlocked_inverted.svg");
}*/

.rsvp-activity {
    border-top: 1px solid rgba(0,0,0,0.1);
}

.rsvp-activities .rsvp-activity:last-child {
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

a.load-more-posts 
{
    text-align: center;
    color: #000;
    background: rgba(0, 0, 0, 0.075);
    padding: 15px 0;
}

a.load-more-posts:hover 
{
    background: rgba(0, 0, 0, 0.1);
}

.rsvp-person, .add-rsvp-person {
    padding: 0 0 20px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin: 0 0 20px 0;
}

.page-section.footer {
    padding-bottom: 50px;
}

/* ############################################### */
/* Editor properties */
/* ############################################### */

body {
    color: #666;
    line-height: 1.8;
    font-size: 16px;
    font-family: Arial, Tahoma, Verdana, sans-serif;
}

.hamburger.not-active .hamburger-inner, 
.hamburger.not-active .hamburger-inner:after, 
.hamburger.not-active .hamburger-inner:before {
    background-color: #000;
}


.hamburger.is-active .hamburger-inner, 
.hamburger.is-active .hamburger-inner:after, 
.hamburger.is-active .hamburger-inner:before {
    background-color: #fff;
}


.mobile-nav.nav-v2 nav {
    background: rgba(0, 0, 0, 0.9);
}


.form-container {
    padding: 20px;    
    box-shadow: 0 0 30px rgba(0,0,0,0.1);
}

.input-field {
    line-height: 1.2;
    font-family: Arial, Tahoma, Verdana, sans-serif;
    font-size: 15px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    padding: 12px 18px;
}

.site-name .line1, 
.site-name .line2,
.wedding-date,
.languages {
    text-align: center;
    display: block;
}

.site-name .line1,
.site-name .line2,
article h2,
article h3,
article h4 {
    color: #000;
}

.site-name .line2 {
    line-height: 1.3;
}

.site-name .line2 {
    font-size: 28px;
}

.countdown h3 {
    text-align: center;
    font-size: 28px;
    color: #000;
    margin-bottom: 25px;
}

.countdown .numbers .value {
    text-align: center;
    font-size: 42px;
    line-height: 1;
}

.countdown .numbers .type {
    text-align: center;
    line-height: 2;
}


.desktop-nav nav .not-current a {
    color: #666;
    transition: all 200ms;
}

.desktop-nav nav .not-current a.hover {
    color: #000;
}

.desktop-nav nav .current a{
    color: #000;
    transition: all 200ms;
}

.desktop-nav nav .current a.hover {
    color: #666;
}

.mobile-nav.nav-v2 nav .not-current a {
    color: rgba(255, 255, 255, 0.7);
    transition: all 200ms;
}

.mobile-nav.nav-v2 nav .not-current a.hover {
    color: #fff;
}

.mobile-nav.nav-v2 nav .current a {
    color: #fff;
    transition: all 200ms;
}

.mobile-nav.nav-v2 nav .current a.hover {
    color: #fff;
}

.mobile-nav.nav-v2 nav a {
    font-size: 20px;
}

article h2, 
article h3,
article h4 {
    line-height: 1.5;
}

article h2 {
    font-size: 36px;
}

article h3 {
    font-size: 22px;
}

article h4 {
    font-size: 18px;
}


.body-link,
.form-link {
    transition: all 200ms;
    color: #51748c;
}

.body-link.hover,
.form-link.hover {
    color: #666;
}

article h3 .body-link {
    color: #000;
}

.button {
    color: #fff;
    background: #595959;
    font-size: 15px;
    transition: all 200ms;
}

.button.hover,
.button.hover {
    color: #fff;
    background: #333;
}

.button.disabled,
.button.disabled.hover {
    background: rgba(0,0,0,0.2);
    color: rgba(255,255,255,0.5);
    font-style: italic;
    cursor: not-allowed;
}

