/*
	======================================================
	General
	======================================================
*/
	body{
		background-color: #fff;
		font-family: 'Open Sans', sans-serif;
		font-weight: 400;
		color: #282828;
		overflow-x: hidden !important;
	}
	main{
		position: relative;
		overflow: hidden;
	}
	a{
		color: #1d1d1b;
		text-decoration: none;
		transition: all .4s ease;
	}
	a:hover{
		color: #1a2d80;
		filter: brightness(85%);
		text-decoration: none;
	}
	#to-top{
		padding: .5rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background-color: #1a2d80;
		border: 1px solid #1a2d80;
		color: #fff;
		width: 40px;
		height: 40px;
		text-align: center;
		border-radius: 0;
		position: fixed;
		bottom: 30px;
		right: 30px;
		transition: all .4s ease;
		opacity: 0;
		visibility: hidden;
		box-shadow: 0 0 10px rgba(0,0,0,.2);
		z-index: 1000;
	}
	#to-top img{
		max-height: 20px;
		filter: brightness(0) invert(1);
	}
	#to-top:hover {
		cursor: pointer;
	}
	#to-top.show {
		opacity: 1;
		visibility: visible;
	}
	.h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6{
	}
	.h6, h6{
		font-size: 1.25rem;
	}
	b, strong{
		font-weight: bold;
	}
	.row-px-half{
		margin-left: -7.5px;
		margin-right: -7.5px;
	}
	.row-px-half [class*="col-"]{
		padding-left: 7.5px;
		padding-right: 7.5px;
	}
	.mt-15{
		margin-top: 15px;
	}
	.ml-15{
		margin-left: 15px;
	}
	.mb-15{
		margin-bottom: 15px;
	}
	.mr-15{
		margin-right: 15px;
	}
	.mt-30{
		margin-top: 30px;
	}
	.ml-30{
		margin-left: 30px;
	}
	.mb-30{
		margin-bottom: 30px;
	}
	.mr-30{
		margin-right: 30px;
	}
	.mb-45{
		margin-bottom: 45px;
	}
	.mt-50{
		margin-top: 50px;
	}
	.mb-50{
		margin-bottom: 50px;
	}
	.mt-100{
		margin-top: 100px;
	}
	.mb-100{
		margin-bottom: 100px;
	}
	.py-100{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.bg-darker{
		background-color: #2c2b31;
	}
	.bg-black{
		background-color: #000;
	}
	.bg-blue{
		background-color: #1a2d80;
	}
	.bg-lightgray{
		background-color: #f0f5f6;
	}
	.bg-image{
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.font-black{
		font-weight: 800 !important;
	}
	.font-bold{
		font-weight: 700 !important;
	}
	.font-medium{
		font-weight: 500 !important;
	}
	.font-regular{
		font-weight: 400 !important;
	}
	.font-light{
		font-weight: 300 !important;
	}
	.font-extralight{
		font-weight: 200 !important;
	}
	.h-600{
		height: 600px;
	}
	.p-relative{
		position: relative;
	}
	.text-black{
		color: #000;
	}
	.text-gray{
		color: #979797;
	}
	.text-blue{
		color: #1a2d80;
	}
	.text-hero{
		color: #fff;
		font-style: italic;
	}
	.no-uppercase{
		text-transform: initial;
	}
	.btn{
		border-radius: 0;
		font-weight: 700;
		padding: .5rem 1.5rem;
		position: relative;
		text-transform: uppercase;
		transition: all .4s ease;
	}
	.btn:focus{
		box-shadow: none;
	}
	.btn span{
		display: inline-block;
		position: relative;
		z-index: 99;
	}
	.btn-rounded{
		border-radius: 30px;
	}
	.btn-primary,
	.btn-primary:hover,
	.btn-primary:focus{
		background-color: #1a2d80;
		border-color: #1a2d80;
		color: #fff;
		box-shadow: none;
	}
	.btn-primary:hover,
	.btn-primary:focus{
		filter: brightness(85%);
	}
	.btn-outline-primary{
		border-color: #1a2d80;
		border-width: 2px;
		color: #1a2d80;
	}
	.btn-outline-primary:hover,
	.btn-outline-primary:focus{
		background-color: #1a2d80;
		border-color: #1a2d80;
		color: #fff;
		box-shadow: none;
	}
	.btn-outline-white{
		border-color: #fff;
		border-width: 2px;
		color: #fff;
	}
	.btn-outline-white:hover,
	.btn-outline-white:focus{
		background-color: #fff;
		border-color: #fff;
		color: #282828;
		box-shadow: none;
	}
	.form-group{
		margin-bottom: 1rem;
	}
	.form-control{
		background-color: #fff;
		border-color: #c1c1c1;
		border-width: 1px;
		border-radius: 0;
		color: #000;
		font-weight: 100;
		padding: .5rem 1rem;
		height: calc(1.5em + 1rem + 2px);
		transition: all .4s ease;
	}
	.form-control:focus{
		border-color: #1a2d80;
		box-shadow: none;
	}
	.form-control::placeholder{
		color: #000;
		opacity: .7;
	}
	.form-check-label{
		color: #a4a4a4;
		font-size: 14px;
	}
	.container-fluid{
		position: relative;
	}
	.social-item{
		display: flex;
		align-items: center;
	}
	.social-item a{
		padding: 0 7.5px;
		color: #fff;
	}
	.social-item a:hover{
		color: #1a2d80;
	}
	.social-item a svg{
		height: 20px;
		width: 20px;
	}
	section,
	.section{
		padding: 100px 0;
		position: relative;
	}
	section img,
	.section img{
		display: block;
		max-width: 100%;
	}
	.section-title{
		margin-bottom: 1.5rem;
		position: relative;
	}
	.section-subtitle{
		color: #282828;
		font-size: 1.25rem;
		font-weight: 300;
		margin-bottom: 0;
		text-transform: uppercase;
	}
	.section-description{
		line-height: 1.5;
		font-style: italic;
	}
	.section-description p{
		margin-bottom: 0;
	}
	.section-description p:not(:last-child){
		margin-bottom: 1.5rem;
	}
	.section-description p span{
		color: #000;
	}
	.featured-section{
		padding: 100px 0 150px;
		clip-path: polygon(100% 0, 100% 90%, 15% 100%, 0 90%, 0 0);
	}
	.featured-text{
		padding: 0 10px 10px;
		display: inline-block;
		width: auto;
	}
	.featured-text a,
	.featured-text.bg-red{
		color: #fff;
	}
	.text-with-icon{
		display: flex;
		align-items: center;
	}
	.text-with-icon svg{
		height: 15px;
		width: 15px;
		margin-right: 5px;
	}
	.featured-text .text-with-icon svg{
		height: 20px;
		width: 20px;
		margin-top: 8px;
	}
	@media (min-width: 576px){
		.container-half{
			max-width: 510px;
			margin: auto;
		}
		.ml-md-30{
			margin-left: 30px;
		}
		.mr-md-30{
			margin-right: 30px;
		}
	}
	@media (min-width: 768px){
		.container-half{
			max-width: 690px;
		}
		.featured-content{
			font-size: 20px;
		}
		.featured-text .wine-info:not(:last-child){
			margin-right: 60px;
		}
	}
	@media (min-width: 992px){
		.section-title{
			font-size: 2.75rem;
		}
		.container-half{
			max-width: 450px;
			margin-right: auto;
			margin-left: initial;
		}
		.mt-lg-30{
			margin-top: 30px;
		}
		.pl-lg-100{
			padding-left: 100px;
		}
		.pr-lg-100{
			padding-right: 100px;
		}
		.pl-lg-50{
			padding-left: 50px;
		}
		.pr-lg-50{
			padding-right: 50px;
		}
	}
	@media (min-width: 1200px){
		.container-half{
			max-width: 540px;
		}
		.featured-section{
			clip-path: polygon(100% 0, 100% 85%, 15% 100%, 0 85%, 0 0);
		}
		.order-xl-initial{
			order: initial !important;
		}
		.pl-xl-100{
			padding-left: 100px;
		}
		.pr-xl-100{
			padding-right: 100px;
		}
	}
	@media (min-width: 1360px){
		.container, .container-lg, .container-md, .container-sm, .container-xl{
			max-width: 1330px;
		}
		.container-half{
			max-width: 635px;
		}
	}
/*
	======================================================
	Header
	======================================================
*/
	.navbar{
		background-color: rgba(255,255,255,.8);
		box-shadow: 2px 0 6px rgba(0,0,0,.4);
		transition: all .4s ease;
	}
	.navbar-brand img{
		display: block;
		width: 100%;
		height: 80px;
	}
	.navbar-nav .navbar-brand{
		margin-right: 1.5rem;
	}
	.navbar .nav-item{
		position: relative;
		display: flex;
		align-items: center;
	}
	.navbar .nav-item:not(:last-child){
		margin-right: 1.5rem;
	}
	.navbar .nav-link,
	.navbar-expand-lg .navbar-nav .nav-link{
		color: #282828;
		padding: .5rem .75rem;
		font-weight: 600;
		text-transform: uppercase;
	}
	.navbar .active .nav-link,
	.navbar-expand-lg .navbar-nav .active .nav-link{
		color: #1a2d80;
	}
	.navbar .nav-link:hover,
	.navbar-expand-lg .navbar-nav .nav-link:hover{
		color: #1a2d80;
		filter: none;
	}
	.navbar-toggler svg{
		height: 20px;
		width: auto;
	}
	.navbar-toggler svg rect{
		transition: all .4s ease;
		fill: #000;
	}
	.navbar-toggler:hover svg rect{
		fill: #1a2d80;
	}
	.navbar-toggler:focus{
		outline: none;
	}
	.navbar-nav .dropdown-menu{
		border: 0;
		border-radius: 0;
		padding: 0;
		box-shadow: 2px 2px 6px rgba(0,0,0,.4);
	}
	.navbar-nav .dropdown-menu .dropdown-item{
		padding: .5rem 1.5rem
	}
	@media (min-width: 992px){
		.navbar.navbar-top{
			box-shadow: 2px 0 6px rgba(0,0,0,.4);
		}
		.navbar-nav{
			align-items: center;
		}
		.navbar .nav-link:hover,
		.navbar .nav-link:focus,
		.navbar-expand-lg .navbar-nav .nav-link:hover,
		.navbar-expand-lg .navbar-nav .nav-link:focus{
			background-color: #1a2d80;
			color: #fff;
		}
		.navbar-nav .dropdown:hover > .dropdown-menu{
			-webkit-transform: translate(0, 0);
			transform: translate(0, 0);
			-webkit-transition-delay: 0s, 0s, 0s;
			transition-delay: 0s, 0s, 0s;
			visibility: visible;
			opacity: 1;
			z-index: 1000;
			display: initial !important;
			top: 100%;
		}
	}
	@media (max-width: 991px){
		#main-navbar > .container{
			padding: 0;
		}
		#main-navbar .navbar-nav{
			padding: 0 0 1rem;
		}
		#main-navbar .navbar-nav .nav-item:not(:last-child){
			margin-bottom: .75rem;
			margin-right: 0;
		}
		#main-navbar .navbar-nav .nav-link{
			padding: 0;
		}
		.main-navbar > .container {
			padding: 0;
		}
	}
/*
	======================================================
	Hero
	======================================================
*/
	.hero{
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		display: flex;
		position: relative;
	}
	.big-hero{
		min-height: 100vh;
		padding-top: 150px;
	}
	#hero:after,
	#hero:before{
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.3);
		clip-path: polygon(100% 0, 100% 90%, 15% 100%, 0 90%, 0 0);
	}
	#hero:before{
		background-color: #282828;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	.medium-hero{
		min-height: 750px;
	}
	.hero-attachment{
		background-attachment: fixed;
	}
	.hero > .container{
		position: relative;
		z-index: 2;
	}
	#hero > .container{
		margin-top: 175px;
	}
	.hero-title{
		font-size: 2.5rem;
		font-weight: 700;
		display: block;
		line-height: 1;
	}
	.hero-form{
		background-color: rgba(0,0,0,.8);
		color: #fff;
		padding: 1.5rem 2rem;
		text-align: center;
	}
	.hero-form .form-control{
		color: #fff;
		border-radius: 10px;
		background-color: transparent;
		border: 1px solid #fff;
		height: calc(1.5em + .75rem + 2px);
	}
	.hero-form .form-control:focus{
		border-color: #1a2d80;
		box-shadow: 0 0 0 1px #1a2d80;
	}
	.hero-form h5{
		font-size: 1rem;
		font-weight: 300;
		margin-bottom: 1rem;
	}
	.hero-form .btn{
		border-radius: 10px;
		padding: .35rem 1.5rem;
	}
	@media (min-width: 768px){
		.hero-title{
			font-size: 3rem;
		}
	}
	@media (min-width: 992px){
		#hero:after,
		#hero:before{
			clip-path: polygon(100% 0, 100% 85%, 15% 100%, 0 85%, 0 0);
		}
		.hero-form{
			max-width: 400px;
			margin-left: auto;
		}
		.hero-title{
			font-size: 3.5rem;
		}
	}
	@media (min-width: 1200px){
		.hero-title{
			font-size: 4.5rem;
		}
	}
/*
	======================================================
	About
	======================================================
*/
	.about-content{
		background-color: rgba(0,0,0,.8);
		color: #fff;
		padding: 30px;
		max-width: 450px;
	}
	.about-content p{
		font-style: italic;
		font-size: 15px;
		line-height: 1.75;
	}
	.about-content p:last-child{
		margin-bottom: 0;
	}
	@media (min-width: 576px){
		.about-content{
			padding: 60px 45px;
		}
	}
/*
	======================================================
	Gallery
	======================================================
*/
	.gallery-item{
		display: block;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		padding-top: 100%;
		position: relative;
	}
	.gallery-item-overlay:before{
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(to bottom, transparent, rgba(0,0,0,.7));
	}
	.gallery-item.rounded{
		border-radius: 20px !important;
	}
	.gallery-item.full-height{
		height: 100%;
		padding-top: 200%;
	}
	.gallery-item.half-height{
		padding-top: 50%;
	}
	.gallery-item.custom-height{
		padding-top: 60%;
	}
	.gallery-item.medium-height{
		padding-top: 135%;
	}
	.gallery-item.full-width{
		width: 100%;
		padding-top: 100%;
	}
	.gallery-title{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 10px;
		color: #fff;
		font-style: italic;
		font-weight: 500;
		font-size: 1.5rem;
		padding: 5px 10px;
		text-align: center;
	}
	@media (min-width: 992px){
		.gallery-item.full-width{
			padding-top: calc(50% - 7.5px);
		}
	}
	@media (min-width: 768px){
		.products .gallery-title{
			font-size: 1rem;
		}
	}
/*
	======================================================
	Products
	======================================================
*/
	.products .container{
		position: relative;
		z-index: 2;
	}
	.products:before{
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: calc(100% - 100px);
		background-color: #ededed;
	}
/*
	======================================================
	Map
	======================================================
*/
	#map{
		padding: 0;
	}
	.responsive-map{
		position: relative;
		width: 100%;
		height: 700px;
	}
	.responsive-map iframe{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
/*
	======================================================
	Address
	======================================================
*/
	.address .gallery-item{
		max-height: 500px;
	}
	.contact-box{
		min-width: 300px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.contact-content{
		background-color: rgba(0,0,0,1);
		color: #fff;
		padding: 30px;
		font-size: 15px;
	}
	.contact-content .contact-logo{
		max-height: 130px;
		width: auto;
		margin: 0 auto 15px;
		filter: brightness(0) invert(1);
	}
	.contact-content .contact-item{
		display: flex;
		align-items: center;
		margin-bottom: 0;
		color: #fff;
	}
	.contact-content .contact-item:not(:last-child){
		margin-bottom: 15px;
	}
	.contact-content .contact-item svg,
	.contact-content .contact-item img{
		width: 18px;
		height: 18px;
		min-width: 18px;
		min-height: 18px;
		margin-right: 10px;
		color: #fff;
	}
	@media (min-width: 992px){
		.container-contact-box{
			display: flex;
			align-items: center;
			position: absolute;
			left: 60px;
			right: 60px;
			top: 0;
			bottom: 0;
			margin: auto;
			width: 100%;
			max-width: calc(100% - 90px);
		}
		.contact-box{
			max-width: 300px;
		}
		.contact-content{
			background-color: rgba(0,0,0,.7);
		}
	}
/*
	======================================================
	Contact
	======================================================
*/
	.contact-container{
		padding: 100px 30px;
	}
	.contact-form{
		max-width: 700px;
		margin: auto;
	}
	.contact-form label{
		color: #fff;
		font-weight: 700;
		font-style: italic;
	}
	.contact-form textarea{
		min-height: 150px;
		resize: none;
	}
	.contact-form .form-control{
		border: 0;
		background-color: transparent;
		border-bottom: 1px solid #4e4f55;
		color: #fff;
		font-style: italic;
	}
	.contact-form .form-control::placeholder{
		color: #4e4f55;
	}
	.contact-form .mb-45{
		margin-bottom: 45px !important;
	}
	@media (min-width: 992px){
		.contact-container{
			padding: 100px 60px;
		}
	}
/*
	======================================================
	Footer
	======================================================
*/
	.footer{
		padding: 15px 0;
		background-color: #000000;
	}
	.copyright p{
		margin-bottom: 0;
		font-size: 15px;
		color: #fff;
	}
	.copyright img{
		display: inline-flex;
		max-height: 20px;
		margin-right: .5rem;
	}
	.copyright p a{
		color: #fff;
		font-weight: 600;
	}
	.copyright p a:hover{
		color: #fff;
	}