.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    letter-spacing: 5px;
}
.nounderline {
    text-decoration: none;
    border-bottom: 0 !important;
}
.ffos {
    font-family: 'Open Sans';
    font-weight: 400;
}
.ffgv {
    font-family: "Great Vibes", cursive;
}
.ffpn {
    font-family: "Petit Formal Script", cursive;
    letter-spacing: 0;
    word-spacing: 2px;
    line-height: 2.25rem;
}
input, textarea,
input.form-control, textarea.form-control,
.btn, .btn-group>.btn {
    border-radius: 5px;
}
.btn i.fa {
    margin-right: 3px;
    font-size: 0.85rem;
}
.shadow-sm {
    box-shadow: 0 .3rem .5rem rgba(0,0,0,.075) !important
}
.navbar-light .navbar-toggler:focus,
.btn-check:focus+.btn-primary, .btn-primary:focus,
.btn {
    box-shadow: none !important;
}
.navbar-light .navbar-toggler {
    border-color: #7a4e85;
}
.navbar-light .navbar-toggler.collapsed {
    border-color: #fff;
    border: 0;
}
.navbar .navbar-nav .nav-link {
    padding: 9px 15px;
    font-size: 18px;
    letter-spacing: 1px;
}
.text-primary {
    color: #7a4e85 !important;
}
.bg-primary {
    background-color: #7a4e85 !important;
}
.btn-primary {
    background: #7a4e85 !important;
    border: 1px solid #7a4e85 !important;
}
.btn-primary:hover {
    color: #7a4e85 !important;
    background: transparent !important;
}
.border-primary {
    border-color: #7a4e85 !important;
}
.text-light {
    color: #999 !important;
}
label.btn-light {
    color: #999;  
}
input[type="radio"]:checked+label.btn-light {
    color: #000;
}
.btn-group input[type="radio"]:checked+label.newest {
    box-shadow: 3px 0px 5px #888 !important;
} 
.btn-group input[type="radio"]:checked+label.random {
    box-shadow: -3px 0px 5px #888 !important;
}   

#carouselId .carousel-indicators li.active {
    background: #7a4e85 !important;
    border-color: #7a4e85 !important;
}
.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link.active, .sticky-top.bg-white .navbar .navbar-nav .nav-link:hover, .sticky-top.bg-white .navbar .navbar-nav .nav-link.active {
     color: #7a4e85 !important;
}
.btn-close {
   opacity: .25;
}
h1.display-1 {
    letter-spacing: 10px;
}
/* Carousel */
#carouselId .carousel-caption .motto,
#carouselId .carousel-caption .dategap {
    border-style: double;
}
#carouselId .carousel-caption .motto h4,
#carouselId .carousel-caption .dategap h4 {
    letter-spacing: 3px;
}
#carouselId .carousel-item img.hr {
    position: relative;
    width: 350px;
    height: 50px;
    opacity: 0.5;
    object-fit: none;
}
/* About */
#weddingAbout h5.motto .ap-open {
    font-size: 2.3rem;
    padding-right: 3px;
}
#weddingAbout h5.motto .ap-end {
     font-size: 1.5rem;
}
#weddingAhoj p.motto {
    line-height: 30px;
}
.img-about {
  max-height: fit-content;
}
@media (max-width: 768px) {
    .img-about {
        margin-top: 3rem;
    }

    #weddingAhoj .col-lg-12 h5, h3.ffgv.fs-1 {
        font-size: 2rem !important;
        line-height: 1.9rem;
    }
    #weddingAhoj p.motto {
        line-height: 22px;
        text-align: justify !important;
    }
}
/* Invit */
#weddingInvitation .wedding-date-bg .wedding-date {
    background: none;
}
#weddingInvitation .wedding-date {
    background: none;
    background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5));
}
#weddingInvitation #countdownBox {
    font-family: "Petit Formal Script", cursive;
}
#weddingInvitation #countdownBox .days,
#weddingInvitation #countdownBox .hours,
#weddingInvitation #countdownBox .mins,
#weddingInvitation #countdownBox .secs {
    font-weight: 700;
}
.icon-round {
    border-radius: 50%;
}
@media (max-width: 768px) {
    #weddingInvitation #countdownBox div.text-dark.me-4 {
        margin-right: 1.5rem !important;
    }
}
/* Program */
#weddingTimeline .wedding-content .col-6 {
    border: 2px dashed #dee2e6;
    border-width: 2px;
}
#weddingTimeline .wedding-content .meet {
    border-bottom: 0;
    border-radius: 15px 15px 0 0;
}
#weddingTimeline .wedding-content .ceremony {
    border-left: 0;
    border-top: 0;
}
#weddingTimeline .wedding-content .photoshoot {
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}
#weddingTimeline .wedding-content .party {
    border-top: 0;
    border-radius: 0 0 15px 15px;
}
@media (max-width: 768px) {
    #weddingTimeline .wedding-content .col-6 {
        border: 0;
        border-radius: 0;
    }
    #weddingTimeline .wedding-content .meet {
        border-bottom: 2px dashed #dee2e6;
        border-right: 2px dashed #dee2e6;
    }
    #weddingTimeline .wedding-content .ceremony {
        border-bottom: 2px dashed #dee2e6;
    }
    #weddingTimeline .wedding-content .photoshoot {
        border-right: 2px dashed #dee2e6;
        margin-top: 0;
    }
    #weddingTimeline .wedding-content .party {
        margin-top: 0;
    }
}
/* Upload */
#modal #ctrlContainer {
    line-height: 1.75rem;
}
#modal #modalPassContainer span.alert,
#modal #modalUploadContainer span.alert {
    padding: 0 0.5rem;
    display: inline-block;
    margin-bottom: 0;
    border-radius: 5px;
}
.lds-ring {
	display: inline-block;
	position: relative;
	width: 20px;
    height: 20px;
    z-index: 100;
}
.lds-ring.error div, .lds-ring div.checkmark, .lds-ring div.progress-bar {
	display: none;
}
.lds-ring div {
	box-sizing: border-box;
	display: block;
	position: absolute;
    width: 38px;
    height: 38px;
	margin: 0px;
	border: 4px solid #337ab7;
	border-radius: 50%;
	animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
	border-color: #337ab7 transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
	animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
	animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
	animation-delay: -0.15s;
}
@keyframes lds-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.lds-ring.stop {
	border: 2px solid #ccc;
	border-radius: 50%;
	animation: none;
	background-color: transparent;
}
.lds-ring.stop div {
	display: none;
}
.lds-ring.finished div {
	display: none;
}
.lds-ring.progress-circle {
	display: block;
	box-shadow: none;
}
.lds-ring.progress-circle div {
	display: none;
}
.lds-ring.progress-circle div.progress-bar {
    display: flex;
    float: none;
    width: 38px;
    height: 38px;
    animation: none;
    border: 0;
    margin: 0;
    background-color: transparent;
}
.lds-ring.progress-circle div.progress-bar .progress-ring__circle {
  transition: 0.35s stroke-dashoffset;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}
.lds-ring.error, .lds-ring.finished {
	position: relative;
	animation: none;
	border-radius: 100%;
}
.lds-ring div.checkmark,
.lds-ring div.error {
	position: relative;
	width: 38px;
	height: 38px;
	background: none;
	border: 0;
	display: none;
	position: absolute;
	animation: none;
}
.lds-ring.finished div.checkmark i.fa {
    color: #198754;
}
.lds-ring.error div.error i.fa {
    color: #e76874;
}
.lds-ring.finished div.checkmark,
.lds-ring.error div.error {
    display: block;
}

#galleryCont #galleryImg {
    overflow-y: hidden;
    opacity: 0;
    /*transition: height 0.4s linear; */
    /*transition: opacity 0.5s linear;*/
    transition: opacity .5s, height .5s;
}
#galleryCont #galleryImg.visible {
    opacity: 1;
}

#modal #modalUploadContainer #imgContainerRow img.thumb-pre {
    position: absolute;
    top: 42%;
    left: 45%;
}
#modal #modalUploadContainer #imgContainerRow div.img-holder {
    display: flex;
    justify-content: center;
    align-items: end;
    flex-wrap: wrap;
}
#modal #modalUploadContainer #imgContainerRow span.lds-ring {
    top: 37%;
    left: 43%;
    width: 38px;
    height: 38px;
}
#modal #modalUploadContainer #imgContainerRow img.thumb.processed {
    opacity: .35
}
#modal #modalUploadContainer #imgContainerRow .btn i.fa {
    color: #dc3545;
    font-size: 1.05rem;
    margin: 0;
}