html {
  scroll-behavior: smooth;
}

.inner-slide a{background:#589F9A;color:#fff;padding:10px 30px;font-size:1.2rem;}
.inner-slide a:hover{background:#50928d;}
#wpadminbar {
	opacity:0;
	transition:.5s all
}

#wpadminbar:hover {
	opacity:1
}
strong {
  font-weight:bold;
}
.contact-form label,
select, textarea, input,
a,
h1,
h2,
h3,
h4,
h5,
h6,
p,
div {
  font-family: 'Playfair Display', serif;
  font-weight:500;
  color:#000;
}

p {
  	font-size: 14px;	
  	line-height: 32px;
  	margin-bottom:30px;
  	font-family: Montserrat;
}
p:last-of-type {
	margin-bottom:0
}
a {
  text-decoration:none;
}

#site-navigation li {
  position:relative;
  transition:.5s all;
}

#site-navigation .sub-menu {
  opacity:0;
  position:absolute;
  top:100%;
  left:0;
  z-index:-1;
  visibility:hidden;
  right: -200px;
  transition:.5s all;
  padding-top:20px;
  padding-left:20px;
  padding-right:20px
}
#site-navigation li:hover .sub-menu {
  opacity:1;
  z-index:99;
  visibility:visible;
  background-color:#fff;
}
#site-navigation .sub-menu li {
  margin-bottom:20px;
}

.contact-form .wpcf7-form-control-wrap,
.contact-form input,
.contact-form select, 
.contact-form textarea {
 width:100%;
}
.contact-form input,
.contact-form select, 
.contact-form textarea {
}
.contact-form .input-row {
	
}
.contact-form textarea { 

}

.contact-form input[type='submit'] {
}

.nav-toggle {
	cursor:pointer;
	padding:10px;
}
#google-map {
	height:50vh
}

.centered-big {
	max-width:1300px;
}

.centered-medium {
	max-width:1160px
}
#colophon {
	padding-top:90px;
	padding-bottom:40px;
	background-size:cover;
	background-position:center
}

.divider {
	background-color: #FFFFFF;
	height:1px;
	opacity: 0.3;
}


#colophon *
 {
	color:#fff;
	text-align:start
}

#colophon h6 {
	font-size: 18px;	
	font-weight: 900;	
	line-height: 32px;
	margin-bottom:25px
}

#colophon .logo {
	margin-bottom:110px
}

#colophon .divider {
	margin-top:140px;
	margin-bottom:40px
}

#colophon .link {
	font-size: 14px;	
	line-height: 32px;
}

a {
	transition:.5s all;
}


a.fade-blue:hover {
	color: #589f9a !important;
}

a.fade-black:hover {
	color:#363636 !important;
}
span.split {
	padding:0 10px
}

.built-by  {
	padding-left:10px
}

.copyright {
	line-height: 26px;
}
#colophon .content {
	margin-bottom:30px
}

img.hover-fade {
	transition:.5s all;

}

img.hover-fade:hover {
	opacity:.6
}

#masthead {
	position:fixed;
	top:0;
	left:0;
	background-color:#fff;
	padding:20px 0;
	z-index: 9999;
}

#site-navigation li  {
	position:relative;
}

#site-navigation {
	z-index:999;
	position:relative	
}

#site-navigation li a:hover,
#site-navigation li.current-menu-item > a {
	color:#589F9A
}
/* #site-navigation > li:hover:after, */
#site-navigation > li.current-menu-item:after {
	position:absolute;
	bottom:-43px;
	left:20px;
	right:20px;
	background-color: #589F9A;
	content:" ";
	height:4px;
}
#site-navigation li > a {
	padding: 40px 25px;
}

#site-navigation .sub-menu a {
	padding:0px;
	line-height:20px
}


#site-navigation a {
	font-size: 16px;
	/* line-height: 25px; */
	font-weight:500;
}

#site-navigation  .fa {
	padding-top:6px;
	padding-left:20px;
	padding-right:10px;
	font-size:20px;
	font-weight:500;
}

.site-content {
	padding-top: 70px;
}

.extensive-menu-block {
	padding-top:110px;
	padding-bottom:160px;
	background-size:cover;
	background-position:center;
}

.extensive-menu-block .title {
	color: #363636;	
	font-size: 36px;	
	line-height: 50px;
	text-align:center
}

.extensive-menu-block .content {
	max-width: 680px;
	text-align:center;
	margin-top:30px;
}

.extensive-menu-block .content p {
	font-size: 18px;	
	font-weight: 300;	
	line-height: 32px;
	color: #363636;
}

.extensive-menu-block .icons {
	margin-top:90px;
}
.extensive-menu-block .icons .item {
	padding: 0 10px
}
.extensive-menu-block .sub-title {
	margin-top:auto;
	padding-top:40px
}

.extensive-menu-block .sub-title a {
	font-weight:bold;
}
.generic-h1{font-size: 36px;
    line-height: 55px;}
.links-item{width:100%;float:left;padding-bottom:25px;border-bottom:2px solid #efefef;padding-top:25px;}
.links-item .col-4{float:left;}
.links-item .col-8{float:left;text-align:center;}
.links-item .title{font-size:20px;font-family:'Playfair Display', serif;}
.links-item p{margin-bottom:10px;}

.home-page .block-title {
	font-size: 36px;	
	line-height: 50px;
	text-align:center;
	color: #000000;
}

.home-page .block-content p {
	font-weight: 300;	
	line-height: 32px;
	text-align:center;
	font-size: 18px;
	color: #363636;
}

.home-page .section.first {
	padding-top:55px;
	padding-bottom: 300px;
}
.home-page .section.first .block-title {
	max-width:620px;
}

.home-page .section.first .block-content {
	margin-top:110px;
	max-width:790px
}


.home-page .section.second .block-title {
	max-width:530px;
}

.home-page .section.second .block-content {
	max-width: 960px;
	margin-top:20px;
}


.home-page .section.third .block-content {
	max-width: 1080px;
	margin-top:20px;
}

.home-page .section.third {
	padding-bottom:110px
} 

.home-page .section.first .block-loop {
	margin-top: 150px;
}

.home-page .section.second .block-loop {
	margin-top: 80px;
}
.home-page .section.third .block-loop {
	margin-top:60px
}
.loop.alternating.grid-2_of_2 .image-side {
	order:1
}

.loop.alternating.grid-1_of_2 .content-side {
	padding-left:80px;
	padding-right:50px
}
.loop.alternating.grid-2_of_2 .content-side {
	padding-right:80px;
	padding-left:50px;
}

.loop.alternating .loop-title {
		color: #363636;	
		font-size: 36px;	
		line-height: 50px;
		margin-bottom:20px
}

.loop.alternating p {
		color: #363636;	
		font-size: 16px;	
		font-weight: 300;	
		line-height: 32px;
}

.loop.alternating .loop-content {
	margin-bottom: 30px;
}

.loop-button {
	font-size: 16px;	
	line-height: 32px;
}

.loop-button.blue {
/* 		color: #589F9A;	 */
	 color:#388680;
		
}

.loop-button .fa {
	padding-left:20px
}

.home-page .section.third .divider-image {
	margin-bottom:110px
}

.home-page .section.second {
	padding-bottom:100px
}

.loop.two-wide.grid-1_of_2 {
	padding-right:50px
}
.loop.two-wide.grid-2_of_2 {
	padding-left:50px
}

.loop.vertical .loop-title {
	color: #363636;
	font-size: 22px;
	line-height: 50px;
	padding: 10px 0;
}

.loop.vertical .loop-content p {
	color: #363636;	
	font-size: 14px;	
	font-weight: 300;	
	line-height: 32px;
	margin-bottom:50px
}











.loop.vertical {
	flex-direction:column;
}

.loop.vertical .content-side {
	flex:1 1 auto;
}
.loop.vertical .image-side  {
}

.loop.vertical .loop-button {
	margin-top:auto
}

.loop.three-wide.grid-1_of_3 {
	padding-right:30px
}

.loop.three-wide.grid-2_of_3 { 
	padding-left:15px;
	padding-right:15px;
}
.loop.three-wide.grid-3_of_3 {
	padding-left:30px
}


.parent-service .section.two {
	padding-bottom:140px;
	padding-top:130px
}

.parent-service .divider-image {
	margin-bottom:50px
}
.parent-service .section.main {
	padding-bottom:100px;
	padding-top:50px
}

.parent-service .section.main .title-side {
	color: #000000;
	font-size: 36px;
	line-height: 55px;
}

.parent-service .section.main .content-side {
	padding-left:140px
}
.parent-service .section.main .content-side p {
	color: #363636;	
	font-size: 18px;	
	font-weight: 300;	
	line-height: 32px;
	
}

.wedding-pack-block {
	padding-top:110px;
	padding-bottom:160px;
	background-position:center;
	background-size:cover;
}

.wedding-pack-block .title {
	color: #363636;
	font-size: 36px;
	line-height: 50px;
	margin-bottom: 20px;
	text-align: center;
}

.wedding-pack-block .content p {
	font-size: 18px;	
	font-weight: 300;	
	line-height: 32px;
	text-align:center;
}

.wedding-pack-block .content {
	margin-bottom:50px;
}

.wedding-pack-block a.download-button {
	border:2px solid;
	padding:20px 80px;
	border-radius:50px;
	font-weight:700;
	color:#000;
}

.wedding-pack-block .download-button .fa {
	padding-left:20px;
	font-size:24px;
}

.banner-no-crumbs {
	padding-top:90px;
	padding-bottom:190px;
	background-position:center bottom;
	background-size:cover
}

.banner-no-crumbs .title {
	font-size: 16px;	
	line-height: 32px;	
	text-align: center;	
	text-shadow: 0px 0px 1px #070707;
	color:#000;
}

.banner-no-crumbs .content p, .banner-no-crumbs .content h1, .banner-no-crumbs .content h2, .banner-no-crumbs .content h3, .banner-no-crumbs .content h4  {
		color: #000000;	
		font-size: 42px;	
		line-height: 58px;	
		text-align: center;	
		text-shadow: 0px 0px 1px #070707;
}

.banner-crumbs .bar {
	margin-bottom:20px;
	margin-top:40px
}

.bread-crumbs .current,
.bread-crumbs a {
	color: #363636;	
	font-family: Montserrat;	
	font-size: 14px;	
	font-weight: 300;	
	line-height: 32px;
}

.bread-crumbs .separator {
	margin:0 5px
}	

.bread-crumbs .current {
	color: #589f9a !important;
}

.banner-crumbs a.download {
	color: #363636;	
	font-size: 16px;	
	line-height: 32px;
	padding-right:100px
}

.banner-crumbs a.download .fa {
	font-size:24px;
	padding-left:10px
}

.banner-crumbs .banner-image {
	position:relative;
	height:50vh;
	background-size:cover;
	background-position:center;
}

.grape-icon {
	position:absolute;
	top:-77px;
	right:-77px;
	box-shadow: 0 0 0px 1px rgba(7,7,7,0.09);
	border-radius:100%;
	z-index:9
}

.banner-crumbs .title p, 
.banner-crumbs .title h1, 
.banner-crumbs .title h2, 
.banner-crumbs .title h3, 
.banner-crumbs .title h4,
.banner-crumbs .title h5,
.banner-crumbs .title h6,
.banner-crumbs .title p {
	font-size: 36px;	line-height: 55px;
}

.banner-crumbs {
	padding-top:40px;
	margin-bottom:100px
}

.vc-area {
	overflow:hidden
}

.vc-area p {
	color: #363636;	
	font-size: 16px;	
	font-weight: 300;	
	line-height: 32px;
}

.vc-area ul {
	padding-left:20px;
	margin-bottom:20px;
	font-family: 'Playfair Display', serif;
}

.vc-area li {
	list-style:disc;
	line-height:28px;
  	font-family: 'Playfair Display', serif;
}

.vc-area h1, 
.vc-area h2,
.vc-area h3,
.vc-area h4,
.vc-area h5,
.vc-area h6 {
	color: #363636;	
	font-size: 26px;	
	line-height: 50px;
	margin-bottom:20px
}

.contact-page .section.main,
.about-page .section.main {
	margin-bottom:160px
}


.contact-form {
	box-shadow: 0 0px 0px 3px rgba(7,7,7,0.05);
	padding:50px;
}

.contact-form li {
	padding:0 !important;
	margin:0 !important
}

.contact-form textarea,
.contact-form input {
	width:100% !important;
	border:0px;
	border-bottom: 2px solid #E5E5E5;
	margin-bottom:20px;
	color: #363636 !important;
	padding-left:0 !important
}

.gform_wrapper textarea{
		border: 2px solid #E5E5E5!important;
}

.contact-form textarea {
	border:0px;
	padding:10px !important
}


.contact-form input[type='submit']:hover {
	
	color:#589f9a !important;
	border-color: #589f9a !important
}

.contact-form label {
	color: #737070 !important;	
	font-size: 12px !important;	
	font-weight:500 !important;
	text-transform: uppercase !important;
	line-height:12px !important;
	margin-bottom:10px !important;
	letter-spacing:1px;
}

.single-service .vc-area,
.contact-page .vc-area,
.about-page .vc-area {
	padding-right:100px
}


.contact-form textarea::placeholder,
.contact-form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #E5E5E5;	
	font-family: "Playfair Display";	
	font-size: 12px;	
	line-height: 50px;
  	opacity: 1; /* Firefox */
}

.contact-form .title {
		color: #363636;	
		font-size: 26px;	
		line-height: 50px;	
}

.contact-form input[type='submit'] {
	background-color:transparent;
	padding:10px 20px !important;
	color:#000;
	border: 2px solid #000000;
	border-radius:50px;
	font-weight:600;
	cursor:pointer;
	transition:.5s all;
	margin:0 !important;
	max-width:280px;
}

.contact-form .ginput_container{
	margin-top:0px!important
}

.contact-form .gform_footer  {
	text-align:center;
}

.contact-form .gform_wrapper {
	width:100%
}

.bread-crumbs.underlined {
	border-bottom: 2px solid #000000;
	padding-bottom:10px;
	margin-bottom:50px;
}

.bread-crumbs li {
	list-style:none
}
.contact-page .banner-title p {
	color: #000000;
	font-size: 36px;	
	line-height: 55px;
	margin-bottom:20px;
}

.contact-page .banner-content p {
	color: #363636;	
	font-size: 16px;	
	font-weight: 300;
	width:100%;
}

.contact-page .section.main {
	padding-top:40px
}

.contact-page .banner-content {
	margin-bottom:50px
}
.contact-page .banner-content .content {
	margin-bottom:30px
}
.contact-page .email,
.contact-page .address,
.contact-page .phone {
	margin-bottom:30px;
}

.map-wrapper {
	position:relative
}

.map-wrapper .grape-icon {

}

.contact-page .banner-content .icon {
	padding-right:20px
}

.single-service .section.main {
	padding-bottom:120px
}


.related-block .block-title {
	color: #363636;	
	font-size: 36px;	
	line-height: 50px;	
	text-align: center;
	margin-bottom:20px
}

.related-block .block-content {
	margin-bottom:80px
}
.related-block .block-content p {
	color: #363636;	
	font-size: 18px;	
	font-weight: 300;	
	line-height: 32px;
}

.single-service .related-block {
	margin-top:200px
}

.home-slider-block {
	position:relative
}

.home-slider-block .jumper {
	position:absolute;
	left:50%;
	padding:30px;
	background-color:#fff;
	bottom:10%;
	z-index: 9;
	box-shadow:0 0px 5px 2px #dedede;
	border-radius:50%;
	margin-left:-60px;
	margin-bottom:-15px;
	transition:.5s all;
	font-size:30px
}
.home-slider-block .jumper:hover {
	background-color: #589f9a;	
	color:#fff;
	box-shadow:0 0px 0 1px #fff;
}



.white-divider {
	padding:60px 0;
}

.popup-form-toggle {
	font-size: 18px;
    text-align: center;
    padding: 20px;
    background-color: #589f9a;
    color: #fff;
    font-weight: 700;
    cursor:pointer;
    transition:.5s all;
    margin-bottom:30px;
    
}

.popup-form-toggle:hover {
	opacity:.8
}
.popup-form {
	position:fixed;
	background-color:#f00;
	top:0;
	right:0;
	z-index:99999;
	transition:.5s all;
	transform:scale(0);
	opacity:0;
	padding:20px;
	bottom:100%;
	width: 390px;
    background-color: #f5f5f5;
    height: 100vh;
    right: 0;
    top: 0;
    z-index: 9999999999;
    border-left: 3px solid #efefef;
    overflow-y: scroll;
}

.popup-form .form-inner {
	padding:30px;
	position:relative;
}

.popup-form .form-inner .close-button {
	position:absolute;
	right:0;
	top:0;
	font-size:1.5rem;
	cursor:pointer;
}
.popup-form.active {
	transform:scale(1);
	opacity:1;
	bottom:0%;
}

.gallery .thumbnail-wrapper {
	border:5px solid transparent;
	transition:.5s all;
	cursor:pointer;
}

.gallery .thumbnail-wrapper:hover {
	border-color:#589f9a;
}
.gallery .thumbnail {
	height:150px;;
	background-size:cover;
	background-position:center;
	opacity:1;
	transition:.5s all;
}

.gallery .thumbnail-wrapper:hover .thumbnail {
	opacity:.7
}

.gallery .modal {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:rgba(0,0,0, .6);
	z-index:999999999;
}

.gallery .modal .inner {
	max-width:80vw;
	max-height:80vh;
	height:auto;
	display:inline-flex;
	position:relative
}

.gallery .modal .close-button,
.gallery .modal .arrow {
	color:#fff;
	font-size:2rem;
	transition:.5s all;
	cursor:pointer;
	padding:30px;
}

.gallery .modal .close-button:hover,
.gallery .modal .arrow:hover {
	color:#589f9a
}

.gallery .modal .arrow-wrapper {
	width:100%;
	position:absolute;
	bottom:-100px;
	

}
.gallery .modal .arrow.left {
	margin-right:3rem
}

.gallery .modal .arrow.right {
	margin-left:3rem
}

.gallery .modal .close-button {
	position:absolute;
	top:20px;
	right:20px;
	color:#fff;
	font-size:2rem;
	transition:.5s  all;
	padding:0
}

.gallery .loading {
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background-color:rgba(0,0,0, .8);
	z-index:99999999
}
.gallery .loading .loading-icon {
	color:#fff;
	font-size:2rem
}

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

.not-found {
    padding-top:70px;
    padding-bottom:70px;
}