@import url("../icons/icomoon/style.css");
@import url("../plugins/fancybox/jquery.fancybox.min.css");
@import url("../plugins/slick/slick.css");
@import url("../plugins/slick/slick-theme.css");

/* -------------------*
 *       GLOBAL       
 *------------------- */
html,
body { font-size: 16px; font-weight: 400; font-variant-numeric: tabular-nums; color: #232220; background: #fff; font-family:'mundial', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
input, select, textarea, button { font-size:15px; font-family:'mundial', Helvetica, Arial, sans-serif; }
ol, ul, p { margin-bottom: 1.5rem; line-height: 1.5em; }
a { color:#d4916c; text-decoration: none; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
a:hover, a:focus { color:#d4916c; text-decoration: underline; } 
.nowrap { white-space:nowrap; }
img { max-width:100%; height:auto; }
button { width:auto; padding:0; overflow:visible; cursor: pointer; line-height:normal !important; }
button::-moz-focus-inner { border:0; padding:0;  margin:-1px 0 0 0; }
button:active { box-shadow:inset 1px 1px 2px rgba(0,0,0,0.3); }
.align-middle { display:flex; align-items:center; }
.lead { font-size: 20px; line-height: 1.3em; font-weight: 400; font-family: 'source-serif-4', Georgia, Times, serif; }
.caps { text-transform:uppercase; }
.color { color: #d4916c; }
hr { margin-top:30px; margin-bottom:30px; }
strong { font-weight: 800; }
.mb-0 { margin-bottom: 0; }
.pb-0 { padding-bottom: 0 !important; }
[data-href] { cursor: pointer; }
.text-primary { color: #d4916c !important; }
.text-muted { color: #808080 !important;  }
.hr-dark { background: #000; opacity: 1; }
.border-bottom { border-color: #000 !important; }
.section-dark.border-bottom { border-color: #fff !important; }
.normal { font-weight: 400 !important; }
.mnh-100 { min-height: 100%;}

.overflow { overflow: hidden; }

.container-small { width: 920px; }

.grayscale { opacity: 0.5; filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url('../images/layout/grayscale.svg#greyscale'); filter: gray; -webkit-filter: grayscale(1); -webkit-transition:0.4s; -moz-transition:0.4s; -ms-transition:0.4s; -o-transition:0.4s; transition:0.4s; }
.grayscale:hover { opacity: 1; -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); -ms-filter: grayscale(0%); -o-filter: grayscale(0%); filter: none; }

/* headlines
----------------------------------------- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4 { font-weight: 700; font-style: normal; font-family: 'source-serif-4', Georgia, Times, serif; }
h1, .h1 { font-size: 68px; line-height: 1.2em; margin-bottom: 2rem; } 
h2, .h2 { font-size: 32px; line-height: 1.2em; margin-bottom: 1rem; }
h3, .h3 { font-size: 28px; font-weight: 400; line-height: 1.2em; margin-bottom: 0.8rem; }
h4, .h4 { font-size: 22px; margin-bottom: 1rem; }
h5, .h5 { font-size: 20px; line-height: 1.3em; }

/* clear 
----------------------------------------- */
.clear { clear:both; }

/* -------------------*
 *       LAYOUT       *
 *------------------- */

/* header
---------------------------------------- */
header { border: 0; z-index: 50; position: sticky; top: 0; left: 0; right: 0; background: #fff; }
header .navbar { padding: 30px 15px; display: block; z-index: 51; color: #232220; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar a { color: #232220; }
header .navbar .navbar-brand { font-size: 15px; letter-spacing: 1px; font-weight: 700; text-transform: uppercase; line-height: 1em; margin: 0; padding: 0; text-decoration: none !important; }

header .navbar .navbar-nav { list-style: none; padding: 0; align-items: center; }
header .navbar .navbar-nav li { position: relative; padding: 0 20px; line-height: 1em; }
header .navbar .navbar-nav li:first-child { padding-left: 0; border-left: 0; }
header .navbar .navbar-nav li:last-child { padding-right: 0; }
header .navbar .navbar-nav li > a { font-size: 15px; letter-spacing: 1px; font-weight: 600; text-transform: uppercase; line-height: 1em; display: block; padding: 10px 0; text-decoration: none; }
header .navbar .navbar-nav li a:hover,
header .navbar .navbar-nav li.current-menu-item > a { color: #d4916c; }

header .navbar-toggler { padding: 0; margin:  0 -5px 0 0; border: 0; width: 50px; height: 50px; outline: none !important; box-shadow: none !important; background: transparent; border-radius: 50%; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .navbar-toggler-text { display: inline-block; vertical-align: middle; text-transform: uppercase; font-weight: 500; }
header .navbar-toggler .burger { display:inline-block; vertical-align: middle; margin: -3px 0 0 0; }
header .navbar-toggler .burger span { width: 35px; height: 2px; border-radius: 2px; background: #000; display:block; margin: 7px 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .burger span.line-top { margin-top: 1px; -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); }
header .navbar-toggler .burger span.line-bottom { margin-top: -18px; -ms-transform: rotate(-135deg); -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
header .navbar-toggler .burger span.line-middle { opacity: 0; }
header .navbar-toggler.collapsed .burger span.line-top { margin-top: 4px; transform: none; }
header .navbar-toggler.collapsed .burger span.line-middle { opacity: 1; }
header .navbar-toggler.collapsed .burger span.line-bottom { width: 25px; margin-top: 4px; transform: none; }

header .navbar-toggler:hover .burger span.line-bottom { width: 35px; }

.scroll header .navbar { padding-top: 20px; padding-bottom: 20px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); }

/* modal
---------------------------------------- */
.modal-open main { position: static; }
.modal { text-align: left; }
.modal-content { border-radius: 30px; border: 0; }
.modal-header { border: 0; padding: 40px 40px 5px 50px; }
.modal-body { padding: 60px; }
.modal { -webkit-backdrop-filter: blur(10px); -moz-backdrop-filter: blur(10px); -ms-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* headline
---------------------------------------- */
.headline { padding: 120px 0 150px; margin: 0 30px; position: relative; z-index: 10; color: #fff; margin-bottom: 0; background: #d4916c; }
.headline h1:last-child { margin-bottom: 0; }
.headline.headline-home { padding: 0; background: #161617; }
.headline.headline-home .headline-box:before { content: ''; opacity: 0.4; z-index: 2; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: #000000; }
.headline.headline-home .container-xl { position: relative; z-index: 3; }
.headline.headline-home h1 { color: #fff; }
.headline.headline-home .headline-subtitle { font-size: 20px; text-transform: uppercase; font-weight: 600; color: #fff5e4; letter-spacing: 4px; position: relative; padding-bottom: 20px; }
.headline.headline-home .slick-dots { width: auto; }

.headline .headline-box { padding: 100px 20px 150px; display: flex !important; align-items: center; justify-content: center; text-align: center; min-height: calc(100vh - 125px) !important; background-repeat: no-repeat; background-position: center; background-size: cover; }

.headline .headline-scroll { font-size: 40px; color: #fff; text-decoration: none !important; position: absolute; z-index: 48; bottom: 50px; left: 50%; transform: translateX(-50%); }
.headline .headline-scroll:hover { color: #d4916c; }
.headline.headline-subpage { padding: 60px 0; }

/* section
---------------------------------------- */
.section { padding: 80px 15px; position: relative; }
.section-color { background: #fff5e4; }
.section-head { padding-bottom: 1rem; }

/* faq
---------------------------------------- */
.accordion .accordion-item-box { border-bottom: 1px solid #d4916c; padding-left: 25px; position: relative; }
.accordion .accordion-button { color: #000; font-size: 20px; font-weight: 700; padding: 15px 0; box-shadow: none; background: transparent; font-family: 'source-serif-4', Georgia, Times, serif; position: relative; }
.accordion .accordion-button:hover { color: #d4916c; }
.accordion .accordion-button:before { content: ''; display: block; width: 14px; height: 2px; background: #000; position: absolute; left: -25px; top: 28px; }
.accordion .accordion-button:after { content: ''; display: none; width: 2px; height: 14px; background: #000; position: absolute; left: -19px; top: 22px; }
.accordion .accordion-button.collapsed:after { display: block; }
.section-faq .accordion { padding-right: 1rem; }

.faq-images { min-height: 100%; display: flex; }
.faq-images .faq-image-item { width: 100%; min-height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; }

.benefits .benefit-item { padding: 1rem 1rem 1rem 0; }

.weddings-section:after { content: ""; display: block; background: #fff5e4; position: absolute; bottom: 0; left: 0; right: 0; height: 30%; z-index: 1; }
.weddings-section .container-xl { position: relative; z-index: 2; }
.weddings-gallery .weddings-gallery-item-center img { margin: -50px 0; }
.weddings-gallery .weddings-gallery-item img { border-top-left-radius: 250px; border-top-right-radius: 250px; }
.weddings-gallery.slick-initialized .slick-slide { padding: 0 calc(var(--bs-gutter-x) * .5); }
.weddings-gallery.slick-initialized .slick-list { overflow: visible; }

.contact-block { display: flex; align-content: space-between; flex-wrap: wrap; }
.section-contact a:not(.btn) { color: #000; }

/* text page
---------------------------------------- */
.text-page blockquote { font-size: 38px; font-style: italic; text-transform: uppercase; font-family: 'mundial', Helvetica, Arial, sans-serif; }
.text-page blockquote p { line-height: 1.2em; letter-spacing: -1px; }
.text-page ul,
.text-page ol { list-style: none; padding-left: 0; }
.text-page ul li { padding-left: 10px; padding-top: 0; padding-bottom: 0; position: relative; }
.text-page ul li:before { content: ''; display: block; width: 4px; height: 4px; background: #ce2613; border-radius: 50%; position: absolute; top: 11px; left: 0; }
.text-page ol li { counter-increment: step-counter; position: relative; padding-left: 20px;  }
.text-page ol li:before { font-weight: 400; width: 20px; text-align: left; position: absolute; top: 0; left: 0; content: counter(step-counter)'.'; }
.text-page a:not(.btn) { text-decoration: none; background-image: none; }
.text-page a:not(.btn):hover { text-decoration: underline; }
.text-page h3,
.text-page h4,
.text-page .h4 { padding-top: 1rem; padding-bottom: 0.6rem; }
.text-page img.alignnone { border-radius: 20px; margin: 0 0 2rem 0; }

.arrows-listing { list-style: none; padding-left: 0; padding-top: 10px; margin-bottom: 0; }
.arrows-listing li { font-size: 24px; font-weight: 400; font-family: 'source-serif-4', Georgia, Times, serif; padding: 0 0 15px 30px; position: relative; } 
.arrows-listing li:before { font-size: 18px; color: #d4916c; content: '\e908'; font-family: 'icomoon'; position: absolute; top: 0; left: 0; }

.socials a { font-size: 22px; text-decoration: none !important; margin-right: 5px; }
.socials a:hover { color: #ce2613; }

.faq-box > .row { min-height: 550px; }

.section-bg { margin: 0 30px; height: 45vh; min-height: 300px; overflow: hidden; clip-path: inset(0 0 0 0); position: relative; }
.section-bg-image { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-size: cover; background-position: left bottom; }

/* features
---------------------------------------- */
.features { padding: 2rem 0 0; }
.features .feature-item { text-align: center; padding: 1rem 1.5rem; }
.features .feature-item-icon { width: 90px; height: 70px; display: flex; align-content: center; justify-content: center; margin: 0 auto 2rem; }
.features .feature-item-title { font-weight: 400; }

/* slick slider
---------------------------------------- */
.slick-dotted.slick-slider { margin-bottom: 0 !important; }
.slick-list * { outline: none !important; box-shadow: none !important; }
.slick-list .slick-slide { transform: translateZ(0) !important; }
/*.slick-list .slick-slide > div,
.slick-list .slick-slide > div > div { min-height: 100%; height: 100%; }*/

.slick-dots { bottom: 60px; right: 50px; left: auto; text-align: right; z-index: 50; }
.slick-dots li { width: auto; height: auto; margin: 0 5px; }
.slick-dots li button { width: 10px; height: 10px; padding: 0; background: transparent; border: 2px solid #fff; }
.slick-dots li.slick-active button { background: #fff; }
.slick-dots li button:before { display: none; }

/* footer
---------------------------------------- */
footer { font-size: 15px; padding: 30px 15px; color: #fff; background: #000000; }
footer a { color: #fff !important; text-decoration: none; }
footer a:hover { text-decoration: underline; }

/* buttons
---------------------------------------- */
.btn { font-size: 16px; font-weight: 700; font-style: normal; letter-spacing: 2px; text-transform: uppercase; padding: 10px 20px; white-space: nowrap; border-radius: 0; text-decoration: none !important; position: relative; -webkit-transition: linear 0.2s; -moz-transition: linear 0.2s; transition: linear 0.2s; }
.btn i { font-size: 14px; margin-left: 10px; margin-top: -2px; display: inline-block; vertical-align: middle; }
.btn.btn-lg { font-size: 20px; font-weight: 500; padding: 15px 30px; }
.btn.btn-md { font-size: 15px; text-transform: initial; padding: 10px 20px; }
.btn.btn-sm { font-size: 13px; text-transform: initial; padding: 8px 15px; }

.btn.btn-primary { color: #fff; background: #d4916c !important; border-color: #d4916c; }
.btn.btn-primary:hover { color: #fff; background-color: #000 !important; border-color: #000; }

.btn.btn-dark { background: #000; border-color: #000; }
.btn.btn-dark:hover { background: #d4916c; border-color: #d4916c; }

.btn.btn-link { font-size: 18px; text-transform: initial; font-weight: 400; letter-spacing: 0; color: #d4916c; padding: 0; outline: none; box-shadow: none !important; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.btn.btn-link:hover { color: #d4916c; text-decoration: underline !important; }
.btn.btn-more i { font-size: 12px; margin-left: 5px; transform: rotate(90deg) }

.buttons-group .btn { margin: 0 20px 15px 0; }


/* forms
---------------------------------------- */
.form-group { margin-bottom: 20px; }
form label { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
form label em { font-weight: 400; }
.form-group:not(.form-group-checkbox) label { font-size: 16px; font-weight: 600; }
.form-group label input { margin-right: 5px; }
.form-group label a { color: #000; }
.form-group-checkbox { color: #000; }
.form-control { font-size: 16px; color: #000 !important; padding: 10px 15px; border: 1px solid #fff !important; background: #fff !important; border-radius: 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.form-control:focus { box-shadow: none !important; border-color: #fff !important; }
.btn-block { width: 100%; }
.req { color: #ff0000; }
form p { margin-bottom: 0; }
.section p small { line-height: 1.5em; display: block; }

div.mce_inline_error { margin-top: 5px !important }
#mce-responses { padding-bottom: 1rem; }
#mce-success-response { background: green; color: #fff; padding: 15px; }

/* -------------------*
 *         IE         *
 *------------------- */
.clearfix { zoom:1\9; }

/* -------------------*
 *     RESPONSIVE     *
 *------------------- */

@media all and (max-width:1399px) {
	.weddings-section { padding-bottom: 40px; }
}

@media all and (max-width:991px) {
    h1, .h1 { font-size: 55px; }
    h2, .h2 { font-size: 28px; }
    h3, .h3 { font-size: 22px; }

    .headline.headline-home .headline-subtitle { font-size: 16px; letter-spacing: 2px; }
    .headline .headline-box { min-height: calc(100vh - 105px) !important; }
    	
    .show-navigation { overflow: hidden; }
    .show-navigation header { position: fixed; bottom: 0; }
    .show-navigation header .navbar { height: 100vh; background: #fff5e4 !important; align-items: flex-start; overflow-y: auto; webkit-transition:0s; -moz-transition:0s; -ms-transition:0s; -o-transition:0s; transition:0s; -webkit-backdrop-filter: blur(15px); -moz-backdrop-filter: blur(15px); -ms-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
    .show-navigation header .navbar-collapse { min-height: calc(100vh - 100px); display: flex; flex-wrap: wrap; align-content: flex-start; justify-items: center; }
    .show-navigation header .navbar-collapse:not(.show) { height: auto !important; }
    .show-navigation header .navbar-collapse .navbar-nav { width: 100%; text-align: center; padding-top: 20px; }

    header .navbar,
    .scroll header .navbar { padding-top: 15px; padding-bottom: 15px; }
    header .navbar .navbar-nav li { padding: 0.5rem 0 !important; border: 0; }
    header .navbar .navbar-nav li a { font-size: 1em; display: inline-block; }
    header .navbar .navbar-menu li a { padding: 5px 0; }
    header .navbar .navbar-nav li ul { position: static; top: auto; left: auto; text-align: center; }

    .section { padding: 60px 15px; }
    .section-faq .accordion { padding-right: 0rem; }

    .arrows-listing li { font-size: 20px; }
    .arrows-listing li:before { font-size: 16px; }

    .features .feature-item { padding: 0.5rem 0.5rem 1rem; }
    .features .feature-item-icon { width: 70px; height: 60px; margin-bottom: 1rem; }

    .weddings-section { padding-top: 3rem; padding-bottom: 0; }

    .faq-images { height: 80vw; padding-top: 3rem; min-height: 1px; }
}
@media all and (max-width:767px) {
	.section-box-content { max-width: 1000px; }

    h1, .h1 { font-size: 45px; }

    .section-bg { min-height: 60vw; height: auto; margin: 0; }

    .features .feature-item-icon { width: 50px; height: 45px; }

    .weddings-gallery.slick-initialized .slick-list { overflow: hidden; }
    .weddings-gallery.slick-initialized .slick-list .slick-slide { font-size: 0px; }
    .weddings-gallery .weddings-gallery-item-center img { margin: 0 0 -90px; }
}
@media all and (max-width:575px) {
    h1, .h1 { font-size: 45px; }
    h2, .h2 { font-size: 25px; }

    header .navbar,
    .scroll header .navbar { padding-top: 10px; padding-bottom: 10px; }

    .headline.headline-home { margin: 0; }
    .headline.headline-home .headline-subtitle { font-size: 14px; padding-bottom: 10px; }
    .headline .headline-box { padding: 100px 30px 150px; min-height: 80vh !important; }

    .headline .headline-scroll { font-size: 30px; }
    .slick-dots { right: 20px; }

    header .navbar,
    footer,
    .section { padding-left: 5px; padding-right: 5px; }

    .features { padding-top: 1rem; }

    .arrows-listing li { font-size: 18px; }

    .btn { font-size: 14px; padding: 10px 15px; }

}
@media all and (max-width:475px) {
	h1, .h1 { font-size: 35px; }

	.headline .headline-box { padding-left: 10px; padding-right: 10px; }
  	.headline.headline-home .headline-subtitle { font-size: 12px; padding-bottom: 10px; }

  	.benefits .benefit-item { padding-right: 0; padding-bottom: 0; }

  	.section-bg { min-height: 80vw; }

  	.weddings-section { padding-top: 2rem; }

  	footer { font-size: 14px; }
}	
@media all and (max-width:370px) {

    .col-cxs-12 { min-width: 100%; }

}