@font-face {
	font-family: 'museo700';
	src: url('../fonts/museo700-regular-webfont.woff2') format('woff2'),
		 url('../fonts/museo700-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;

}

@font-face {
	font-family: 'museo300';
	src: url('../fonts/museo300-regular-webfont.woff2') format('woff2'),
		 url('../fonts/museo300-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;

}

* {
	font-family: system-ui;
	margin: 0;
}

html {
  scroll-padding: 67px;
  scroll-behavior: smooth;
}

.mb-30 {
	margin-bottom: 30px !important;
}

.blured {
	filter: blur(15px);
	position: relative;
}

.svedci {
	display: flex;
	gap: 30px;
}

.svedek {
	display: flex;
	flex-flow: column;
	text-align: center;
}

.svedek img {
	height: 350px !important;
	max-width: 320px !important;
	width: 320px !important;
	object-fit: cover;
	margin: 0 !important;
	margin-bottom: 20px !important;
}

.svedek strong {
	display: block;
	font-size: 18px;
	font-family: 'DM Serif Display', serif;
	color: var(--main);
}

.message::before {
	display: flex;
	content: 'Prezentace bude dostupná po uhrazení faktury';
	font-size: 56px;
	text-align: center;
	justify-content: center;
	justify-items: center;
	align-content: center;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	text-shadow: 0 0 15px rgba(0,0,0,.5);
}

.fixed-button {
	position: fixed;
	bottom: 30px;
	left: 30px;
	background: #F5001D;
	color: #fff;
	border: 1px solid rgba(255,255,255,.3);
	box-shadow: 6px 6px 16px 0 rgba(0,0,0,.32);
	text-decoration: none;
	padding: 10px;
	border-radius: 10px;
	z-index: 100;
}

#toolbar {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 1000;
}

#toolbar .hidden {
	display: none;
	position: absolute;
	bottom: 55px;
	gap: 7px;
}

.msg {
	width: 100%;
	background: rgba(20, 222, 101, .5);
	color: #29543a;
	padding: 20px;
	text-align: center;
	margin-top: 20px;
	border-radius: 10px;
}

.toolbar-flow {
	font-family: 'DM Serif Display', serif;
	padding: 10px;
	background: var(--main);
	color: #fff;
	border-radius: 8px 15px 8px 15px;
	cursor: pointer;
	border: 2px solid #fff;
}

#toolbar .hidden.active {
	display: block;
}

.color {
	width: 30px;
	height: 30px;
	display: inline-block;
	border-radius: 100%;
	cursor: pointer;
}

.ql-editor {
	outline: none !important;
}

.ql-hidden {
	display: none !important;
}

::selection,
::-moz-selection {
  background: var(--main);
  color: #fff;
}

a {
	color: var(--main);
}

h1,
h2,
h3,
h4 {
	font-family: 'DM Serif Display', serif;
}

h1 span,
h2 span,
h3 span {
	font: inherit;
	color: var(--main);
}

h1 {
	font-size: 52px;
	margin-bottom: 30px;
	margin-top: 30px;
}

h2 {
	font-size: 32px;
	margin-bottom: 30px;
	position: relative;
}

h2:before {
	content: "";
	width: 80px;
	transition: all 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
	height: 4px;
	border-top: 1px solid var(--main);
	border-bottom: 1px solid var(--main);
	position: absolute;
	left: 0;
	bottom: -10px;
}

h2.text-center {
	text-align: center;
	margin-top: 40px;
	margin-bottom: 50px;
}

h2.text-center::before {
	right: 0;
	margin: auto;
}

.color-section h2:before {
	border-color: #fff;
}

.color-section a {
	color: #fff;
}

p,
li {
	opacity: .7;
	line-height: 1.5;
	color: #48433e;
}

ul {
	list-style: none;
	margin: 0 0 15px;
	padding-left: 0;
}

li {
	position: relative;
	padding-left: 15px;
}

li:before {
	content: '';
	width: 8px;
	height: 8px;
	background: var(--main);
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: 10px;
}

.white-section p {
	margin-bottom: 15px;
	opacity: 1;
	color: #8f8c8a;
}

.wrapper {
  width: calc(100% - 30px);
  max-width: 1174px;
  margin: 0 auto;
  position: relative;
}

.none {
  display: none !important;
}

.cover-img {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px 20px 8px 20px;
	box-shadow: 0 20px 20px rgba(0,0,0,0.1);
}

.main .text-60 {
	padding-left: 70px;
}

footer {
	width: 100%;
	float: left;
	border-top: 1px solid rgba(0,0,0,.1);
	box-sizing: border-box;
	padding: 25px 0;
}

header {
  width: 100%;
  float: left;
  padding: 15px 0;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.1);
}

header .logo {
  text-decoration: none;
  color: var(--main);
  font-size: 36px;
  line-height: 1;
  float: left;
  margin-right: 25px;
  position: relative;
  z-index: 100;
  font-family: 'DM Serif Display', serif;
}

header .menu-holder,
header .btn-holder {
  float: left;
  width: 100%;
  position: absolute;
}

header nav {
  width: 100%;
  float: right;
  text-align: right;
}

header nav a {
  color: #48433e;
  position: relative;
  text-decoration: none;
  transition: .35s all;
  margin-left: 5px;
  font-size: 14px;
  line-height: 38px;
  border-radius: 4px;
  padding: 8px 16px;
}

header nav a:hover,
header nav a.active {
  color: var(--main);
}

.main,
footer {
	width: 100%;
	float: left;
}

.main {
	padding: 50px 0;
}

#body {
	padding-top: 67px;
}

.image-40 {
	width: 40%;
	height: 450px;
	float: left;
	box-sizing: border-box;
	padding-right: 15px;
}

.text-60 {
	width: 60%;
	float: left;
	box-sizing: border-box;
	padding-left: 25px;
}

.clear {
	clear: both;
}

.mt-20 {
	margin-top: 20px !important;
}

.btn {
	background: var(--main);
	color: #fff;
	display: inline-block;
	padding: 12px 20px;
	text-decoration: none;
	line-height: 1;
	border-radius: 8px 15px 8px 15px;
	font-family: 'DM Serif Display', serif;
	border-bottom: 1px solid rgba(255,255,255,.5);
	outline: none !important;
	border: 0;
	font-size: 18px;
	cursor: pointer;
	transition: .3s all ease-in-out;
}

.btn:hover {
	background: rgba(129, 129, 129, 1);
}

.color-section {
	width: 100%;
	float: left;
	background: var(--main) url('../img/pattern.svg') repeat;
	position: relative;
}

.color-section iframe {
	width: 100% !important;
	height: 100% !important;
	float: right;
}

#map {
	overflow: hidden;
	background: #fff;
	border-radius: 12px;
	margin-top: 50px;
	padding: 0;
	box-shadow: 0 20px 20px rgba(0,0,0,0.1);
}

.wedding-icons {
	position: relative;
}

.wedding-icons svg {
	width: 80px;
	height: 80px;
	position: absolute;
	fill: var(--main) !important;
}

#icon_heart {
	right: -40px;
	top: -40px;
}

#icon_rose {
	left: -40px;
	top: 80px;
	transform: rotate(-30deg);
}

#icon_birds {
	left: 0;
	right: 0;
	margin: auto;
	bottom: -40px;
}

.pl0 {
	padding-left: 0 !important;
}

.pr30 {
	padding-right: 30px !important;
}

.color-section .text-60 {
	padding-top: 50px;
	padding-bottom: 50px;
}

.abs-text {
	position: relative;
	float: right;
	background: #fff;
	box-sizing: border-box;
	padding: 25px;
	right: -80px;
	top: 80px;
	border-radius: 10px;
	box-shadow: 0 20px 20px rgba(0,0,0,0.1);
}

.abs-text p {
	color: #48433e !important;
}

.abs-text h3 {
	margin-top: 20px;
}

.mt0 {
	margin-top: 0 !important;
}

.color-section h2 {
	margin-bottom: 20px;
	color: #fff;
	margin-top: 70px;
}

.color-section p,
.color-section li {
	margin-bottom: 15px;
	line-height: 1.5;
	color: #fff;
}


.white-section {
	width: 100%;
	float: left;
	background: #fff;
	clear: both;
	margin-top: 50px;
}

.white-section img {
	height: auto;
	max-width: calc(50% - 20px);
	float: left;
	margin: 10px;
	box-shadow: 0 20px 20px rgba(0,0,0,0.1);
	border-radius: 8px 15px 8px 15px;
}

form {
	width: 100%;
	max-width: 500px;
	float: left;
	margin-top: 5px;
}

form .btn {
	width: 100%;
}

form .input,
form .radio-holder {
	width: 100%;
	float: left;
	margin-bottom: 10px;
}

form .input label,
form .radio-holder label,
form span.label {
	display: block;
	font-size: 18px;
	margin-bottom: 10px;
	font-family: 'DM Serif Display', serif;
}

form .radio-holder input {
	margin-right: 10px;
}

form .radio-holder label {
	font-family: system-ui;
	font-size: 15px;
	color: #48433e;
}

form .input input {
	height: 40px;
	line-height: 40px;
	outline: none;
	border: 1px solid #e1e6ea;
	border-bottom-color: rgb(225, 230, 234);
	border-bottom-color: #d4dbe1;
	box-shadow: 0 3px 2px -2px #e1e6ea,0 2px 1px -1px #f8fafb;
	border-radius: 3px;
	width: 100%;
	box-sizing: border-box;
	padding: 0 15px;
	font-size: 16px;
	transition: .3s all ease-in-out;
}

form .input input:focus {
	border: 1px solid var(--main);
	color: var(--main);
}

.radio-holder input[type="radio"] {
	position: absolute;
	z-index: -1;
	opacity: 0;
}

.radio-holder label {
	position: relative;
	padding-left: 25px;
}

.radio-holder label::before {
	position: absolute;
	top: 1px;
	left: 0;
	display: block;
	width: 15px;
	height: 15px;
	pointer-events: none;
	content: "";
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	cursor: pointer;
	user-select: none;
	border-radius: 100%;
	background: #fff;
	border: 1px solid #e1e6ea !important;
	border-bottom-color: rgb(225, 230, 234);
	border-bottom-color: #d4dbe1;
	box-shadow: 0 3px 2px -2px #e1e6ea,0 2px 1px -1px #f8fafb !important;
}

.radio-holder label::after {
	position: absolute;
	top: 4px;
	left: 3px;
	display: block;
	width: 11px;
	height: 11px;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% 50%;
	border-radius: 100%;
}

.radio-holder label.active::after {
	background: var(--main);
}

.form {
	padding: 20px;
	box-sizing: border-box;
	box-shadow: 0 20px 20px rgba(0,0,0,0.1);
	border-radius: 8px 15px 8px 15px;
}

.d-flex {
	display: flex;
}

.justify-center {
	justify-content: center;
}

.icons {
	width: 100%;
	float: left;
	display: flex;
	margin-top: 80px;
	justify-content: center;
}

.icon {
	width: 200px;
	display: block;
	text-align: center;
	color: #8f8c8a;
}

.icon svg {
	width: 70px;
	height: 70px;
	fill: var(--main) !important;
	display: inline-block;
}

.icon strong {
	font-family: 'DM Serif Display', serif;
	display: block;
	font-size: 32px;
	width: 100%;
	color: #000;
	text-align: center;
}

.align-center {
	align-items: center;
}

.quote {
	padding: 100px 0;
	margin-top: 80px;
	color: #fff;
	text-align: center;
}

.quote small {
	font-size: 21px;
	opacity: .7;
	font-family: 'DM Serif Display', serif;
}

#countdown {
	font: inherit;
}

blockquote strong {
	display: block;
	font-size: 5rem;
	font-family: 'DM Serif Display', serif;
}

.year {
	width: 60px;
	height: 60px;
	border-radius: 100%;
	background: var(--main);
	color: #fff;
	text-align: center;
	line-height: 60px;
	font-family: 'DM Serif Display', serif;
	position: relative;
}

.year--main {
	transform: scale(1.4);
}

@keyframes appear {
	from {
		opacity: 0;
		transform: tranglateX (-100px);
	}
	to { 
		opacity: 1;
		transform: translateX(0px);
	}
}

.infobox {
	width: 440px;
	position: absolute;
	top: -50px;
	border-radius: 16px;
	box-sizing: border-box;
	padding: 10px;
	box-shadow: 0 20px 20px rgba(0,0,0,0.1);
}

/*
.infobox {
	animation: appear linear;
	-moz-animation: appear linear;
	-webkit-animation: appear linear;
	animation-timeline: view();
	animation-ragne: entry 0% cover 40%;
}
*/

.infobox h3 {
	font-size: 21px;
	color: var(--main);
}

.year:nth-child(even) .infobox {
	left: 100px;
}

.year:nth-child(odd) .infobox {
	right: 100px;
}

.timeline {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 70px;
	position: relative;
	z-index: 1;
	margin-bottom: 20px;
}

.timeline::after {
	content: '';
	width: 1px;
	height: 100%;
	border-left: 2px dashed #e1e6ea;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 0;
	z-index: -1;
}

@media (max-width: 764px) {
	header .menu-holder {
		width: 100%;
		position: fixed;
		height: calc(100vh - 69px);
		top: 67px;
		left: 0;
	}
	
	.icon {
		font-size: 14px;
	}
	
	.icon strong {
		font-size: 20px;
		margin-bottom: 5px;
	}
	
	.color-section {
		padding-top: 25px;
	}
	
	.svedek strong {
		font-size: 15px;
	}
	
	.svedek {
		max-width: 50%;
	}
	
	.svedek img {
		height: 150px !important;
		max-width: 100% !important;
	}
	
	#icon_heart {
	  right: 20px;
	  top: 20px;
	}
	
	#icon_rose {
		left: 0;
		display: none;
	}
	
	#icon_birds {
		bottom: 0;
		display: none;
	}
	
	.infobox {
		background: #fff;
		position: static;
		width: 100%;
	}
	
	blockquote strong {
		font-size: 4rem;
	}
	
	h2.text-center {
		margin-top: 0;
	}
	
	.year {
		width: 100%;
		height: auto;
		background: #fff;
		color: #fff;
		position: relative;
		z-index: 1;
	}
	
	.year::before {
		width: 60px;
		height: 60px;
		background: var(--main);
		border-radius: 100%;
		position: absolute;
		z-index: -1;
		content: '';
		left: 0;
		right: 0;
		margin: auto;
	}
	
	.year--main {
		width: 50%;
	}
	
	.d-flex.align-center {
		display: block;
	}
	
	.d-flex.align-center h1.mt0 {
		margin-top: 25px !important;
	}
	
	.white-section img {
		max-width: 100%;
		margin: 10px 0;
	}
	
	.color-section h2 {
		margin-top: 30px;
	}
	
	.color-section {
		margin-top: 40px;
	}
	
	.main {
		padding: 15px 0;
	}
	
	footer p {
		font-size: 13px;
	}
	
	.image-40,
	.text-60 {
		width: 100%;
		padding: 0 !important;
	}
	
	h1 {
		font-size: 32px;
		margin-bottom: 20px;
	}
	
	h2 {
		font-size: 26px;
	}
	
	.abs-text {
		position: static;
		width: 100%;
	}
	
	.color-section iframe {
		max-height: 450px;
	}
	
	#map {
		margin-top: 25px;
		margin-bottom: 25px;
	}
}

.images img {
	margin-bottom: 25px;
	border-radius: 20px;
}

.images {
	margin-bottom: -150px;
}

@media (min-width: 820px) {
	.flex-desktop {
		display: flex;
	}
}

@media (max-width: 820px) {
	.flex-desktop img {
		float: none !important;
		display: block;
		margin: 0 auto 25px;
	}
}

@media (max-width: 1024px) {
	
	.images img {
		margin-bottom: 25px;
		border-radius: 20px;
		max-width: 100%;
	}
	
	.images {
		margin-bottom: 0px;
	}
	
	.menu-holder {
		width: 100% !important;
		box-sizing: border-box;
		pointer-events: none;
		position: absolute;
		background-color: rgba(255,255,255,.7);
		-webkit-backdrop-filter: blur(40px);
		backdrop-filter: blur(40px);
		border-bottom: 1px solid rgba(255,255,255,.1);
		box-shadow: 4px 4px 16px 0 rgba(0,0,0,0.08);
		top: 69px;
		left: 0;
		z-index: 100;
		padding-bottom: 20px;
		opacity: 0;
		transform: scaleY(0);
		transform-origin: top left;
		transition: .3s all;
	}
	  
	  .menu-holder.active {
		opacity: 1;
		transform: scaleY(1);
		transform-origin: top left;
		pointer-events: all;
	}
	  
	  .menu-holder nav {
		width: 100%;
		float: left;
		text-align: left;
		margin-top: 40px;
	}
	  
	  .menu-holder nav a,
	  .menu-holder nav a.btn {
		display: table;
		margin: 0 auto;
		height: 30px;
		margin-bottom: 10px;
		line-height: 30px;
		padding: 4px 16px;
		font-size: 15px;
	}
	
	.menu-bar {
		width: 36.8px;
		height: 35.8px;
		background: url('../img/menu-bar.svg') no-repeat center center;
		background-size: 100%;
		border-radius: 4px;
		float: right;
		text-align: center;
	}
}

.change-template {
	background: #fff;
	box-shadow: 10px 10px 10px rgba(0,0,0,.1);
	padding: 10px;
	border-radius: 15px;
	width: 150px;
	right: 0;
}

.change-template a {
	margin-bottom: 20px;
	display: block;
}

/* TEMPLATE 2 start */

#template_2 .banner {
	width: 100%;
	height: 80vh;
	border-radius: 0;
	display: flex;
	box-sizing: border-box;
	padding: 0 25%;
	justify-content: center;
	justify-items: center;
	align-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	z-index: 1;
}

#template_2 .banner:before {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.3);
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

#template_2 .banner h1 {
	color: #fff;
	text-shadow: 10px 10px 10px rgba(0,0,0,.4);
	line-height: 1.3;
}

#template_2 .main {
	padding-top: 65px;
}

#template_2 .main-text {
	width: 100%;
	max-width: 600px;
	margin: 60px auto;
	text-align: center;
}

#template_2 .icons {
	margin: 0;
	margin-bottom: 35px;
}

@media (max-width: 1024px) {
	#template_2 .banner {
		padding: 0 8%
	}
}

/* TEMPLATE 2 end */























