/* == Styling for homepage == */

.owl-carousel .item h5 {
	color: #FFF;
}

.cycle-overlay {
	position:absolute;
	width: 100%;
	right: 0;
	top: 0;
	background:transparent;
	z-index:1;
}

.cycle-overlay h2 {
	width: 72%;
	color: #fff;
	font-size: 2.76em;
	margin-top: 1em;
	text-shadow: 1px 1px 5px #000;
	margin: 1.3em 0 0.7em 0;
	font-family: proxima-nova, Helvetica, Helvetica Neue, Arial, sans-serif;
	font-weight: 500;
	line-height: 1.3;
}

.cycle-overlay h3 {
	width: 72%;
	text-shadow: 1px 1px 5px #000;
	color: #fff;
	margin: 1.3em 0 0.7em 0;
	font-family: proxima-nova, Helvetica, Helvetica Neue, Arial, sans-serif;
	font-weight: 500;
	line-height: 1.3;
	font-size: 24px;
}

.cycle-overlay a {
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1;
	position: relative;
	background: #b43a8d;
	color: #FFF;
	text-decoration: none;
	display:inline-block
}

.cycle-overlay a:hover {
	background:#b43a8d
}

.cycle-overlay h4 {
	padding:1em;
	margin:0;
	color:#fff;
}

.hp-upper-cta ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
}

.hp-upper-cta li {
	max-width: 31%;
	float:left;
	margin: 0 0 2em;
	overflow:hidden;
	border:1px solid #ccc;
}

/* one item */
.hp-upper-cta li:first-child:nth-last-child(1) {
	max-width: 100%;
	width: 100%;
	margin: 0;
}

/* two items */
.hp-upper-cta li:first-child:nth-last-child(2),
.hp-upper-cta li:first-child:nth-last-child(2) ~ li {
	max-width: 48%;
	width: 48%;
	margin: 0;
}

/* three items */
.hp-upper-cta li:first-child:nth-last-child(3),
.hp-upper-cta li:first-child:nth-last-child(3) ~ li {
	max-width: 48%;
	width: calc(30% - 2px);
	margin: 0;
}

.hp-upper-cta li img {
	width:100%;
	height:auto
}

.hp-upper-cta h3 {
	text-align: center;
	color: #fff;
	margin: 0px;
	padding: 4% 0px;
	font-size: 2em;
	background:#b43a8d
}

.hp-upper-cta p, .hp-lower-cta p {
	padding: 0 5% 2%;
	color: #444;
	text-align:justify
}

.hp-upper-cta a {
	text-decoration:none;
	display:block;
	float:left;
	width:100%;
}

.cta-img {
	height:100%;
	max-height: 163px;
	overflow: hidden
}

.hp-upper-cta a:hover, .hp-blog:hover {
	background:#efefef;
	-webkit-transition: background 0.3s ease;
	-moz-transition: background 0.3s ease;
	-o-transition: background 0.3s ease;
	transition: background 0.3s ease
}

.forthcoming, .hp-upper-cta, .our-products {
	margin-top:30px
}

.hp-ft-listing {
	padding:2em 1em;
	border-bottom:1px solid #ccc
}

.hp-ft-listing p {
	color:#ccc
}

.hp-ft-date {
	border-right: 3px solid #ccc;
	width: 15%;
	text-align: center;
	float:left
}

.hp-ft-date h4 {
	font-size: 3.8em !important;
	margin: 0;
	font-weight: 700;
	background:transparent !important;
	color:#000 !important;
	padding:0 !important
}

.hp-ft-date h5 {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 2em;
	padding: 0 !important;
	line-height: 1em;
	color:#000
}

.hp-ft-name {
	width:80%;
	float:right;
	text-align:left;
	height:85px
}

.hp-ft-name h4 a, .hp-ft-name h4 {
	background:transparent !important;
	color:#000 !important;
	text-align:left;
	padding:0 !important
}

.hp-ft-name h4 a:hover {
	color:#b43a8d !important
}

.no-events h4 {
	background:transparent !important;
	color:#000 !important;
}

.our-products h3 {
	background:#f4f4f4;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	text-align:center;
	margin:0;
	line-height:1em;
	padding: 1em 0;
	text-transform: initial;
	font-size: 2em;
	color: #5b5b5b
}

.our-products {
	border-bottom: 1px solid #ccc;
}

.our-products li {
	width:21%;float:left;
	height: 100px;
	overflow: hidden;
	padding:2%
}

.our-products img {
	width:90%;
	margin:5%
}

.hp-lower-cta {
	padding-top: 30px;
}

.hp-lower-cta .light-grey {
	width:calc(32% - 2px);
	margin-right:2%;
	overflow: hidden
}

.hp-lower-cta .left img {
	width:100%;
	height:auto
}

li.hp-blog {
	list-style:none;
	border-bottom: 1px solid #ccc;
	overflow: hidden;
	padding: 0.5em 0;
}

li.hp-blog:last-child {
	border:0
}

.hp-blog a {
	padding:0 5%;
	text-decoration:none;
	display:block
}

.hp-blog a:hover, .hp-blog a:hover p {
	color:#b43a8d;
}

.hp-blog p {
	padding:0;
	margin-top:0
}

.hp-lower-cta .right h5 {
	line-height: 1.3em
}

.grey-cta {
	background:#5b5b5b;
	color:#fff;
	text-decoration:none;
	text-align:center;
	padding: 8px 17px !important;
	font-size: 1.1em;
	font-weight: 700;
	position: absolute;
	right: 20px;
	bottom: 20px;
}

.grey-cta:hover {
	background:#191919
}

.our-products {
	background:#fefefe;
}

#sync1 .item{
    height: 400px;
    overflow:hidden
}

#sync2 {
	background:#000;
	position: absolute;
	bottom: 0
}

#sync2 .item{
    color: #FFF;
    text-align: center;
    cursor: pointer
}

#sync2 .synced .item{
  background: #888
}

#sync2 .owl-wrapper {
	max-width:1170px;
	margin:auto
}

#sync2 .owl-item {
	width:20% !important
}

#sync2 h5 {
	margin:1em 0
}

#sync3 {
	display:none ;
}

/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 959px) {
.hp-upper-cta li:first-child:nth-last-child(3), .hp-upper-cta li:first-child:nth-last-child(3) ~ li {
    width: calc(32% - 2px);
    margin-right: 2%;
}

.hp-upper-cta h3 {
	font-size:1.5em;
}
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
.hp-upper-cta li, .hp-upper-cta li:first-child:nth-last-child(3), .hp-upper-cta li:first-child:nth-last-child(3) ~ li {
	width:calc(100% - 2px);
	margin-bottom:1em;
	margin-right:0;
}
.forthcoming, .hp-upper-cta, .our-products {
	margin-top:1em;
}
.grey-cta {
	position: relative;
	bottom: unset;
	right: unset;
	float: left;
	width: 100%;
	margin-bottom: 1em;
}
.container {
	width:90%;
}
.container img {
	margin:1em auto;
}
}

@media only screen and (max-width: 959px) {
	.cycle-overlay h2,
	.cycle-overlay h3 {
		width: 100%;
	}
}

@media only screen and (min-width: 2000px) {
	#sync1 .item {
		background-size: cover !important;
	}
}