/*============================================================================*/
/* Slick Dots */
.slick-dotted.slick-slider
{
	margin-bottom: 70px;
}

.slick-dots
{
	position: absolute;
	left: 0;
	bottom: -11px;

	display: block;

	width: 100%;
	padding: 0;
	margin: 0;

	list-style: none;

	text-align: center;
}
.slick-dots li
{
	position: relative;

	display: inline-block;

	margin: 0 5px;
	padding: 0;

	cursor: pointer;
}
.slick-dots li button
{
	font-size: 0;
	line-height: 0;

	display: block;

	width: 11px;
	height: 11px;
	padding: 0;

	cursor: pointer;

	color: transparent;
	border: 0;
	outline: none;
	background: #D9D9D9;
	border-radius: 100%;

	opacity: 0.4;

	transition: all 0.25s;
}
.slick-dots li button:hover,
.slick-dots li button:focus,
.slick-dots li.slick-active button
{
	outline: none;

	opacity: 0.8;
}

/*============================================================================*/
.InfoBlock {
	position: relative;
	z-index: 1;
}
.InfoBlockInner {
	position: relative;
	z-index: 5;

	max-width: 1370px;

	margin: 0 auto;
}
.InfoBlockColumns {
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
}
.InfoBlockColumn {
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}
.InfoBlockImageCutout .InfoBlockColumn {
	-ms-flex: 1 1 50%;
	flex: 1 1 50%;
}
.InfoBlockImageCutout .InfoBlockImage {
	width: 100%;
	display: block;
}

/**
 * HTML Callouts
 */
.CalloutBlock {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.CalloutBlock {
	background-color: #EFEFEF;
}
.CalloutBlockInner {
	position: relative;
	margin: 0 auto;
	text-align: center;
	max-width: 1400px;
	padding: 80px 50px;
}
.CalloutBlockItems {
	justify-content: center;
	align-items: stretch;
	flex-direction: row;
	flex-wrap: wrap;
	display: flex;
}
.CalloutBlockItem {
	flex: 1 1 auto;
}
.CalloutBlock2Columns .CalloutBlockItem {
	max-width: 50%;
	flex: 1 1 50%;
}

.CalloutBlockItemInner {
	height: 100%;
}

.CalloutBlockItemInner {
	margin: 0 25px;
	flex-direction: column;
	display: flex;
}

.CalloutBlockItemImage {
	flex: 0 0 auto;
}

.CalloutBlockItemImage {
	background-size: cover;
	background-position: center center;
	width: 100%;
	padding-bottom: 56.25%;
}

.CalloutBlockItemContent {
	padding: 40px 20px;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	-ms-flex-direction: column;
	flex-direction: column;
	display: -ms-flexbox;
	display: flex;
}
.CalloutBlockItemTitle {
	margin: 0 0 44px 0;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 36px;
	color: #FFF;
	display: block;
}
.CalloutBlockItemDescription {
	margin: 0 0 46px 0;
	font-family: inherit;
	color: #FFF;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	display: block;
}
.CalloutBlockItemLink {
	color: #FFF;
}

.CalloutBlock.CalloutBlockFullWidth {
	background-color:	#555555;
}
.CalloutBlockFullWidth .CalloutBlockItemDescription .HTMLContent {
	color: inherit;
}

.CalloutBlockFullWidth .CalloutBlockInner {
	max-width: none;

	padding: 0;
}
.CalloutBlockFullWidth .CalloutBlockItemInner {
	margin: 0;

	padding: 0;

	position: relative;
}
.CalloutBlockFullWidth .CalloutBlockItemImage {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;

	width: 100%;
	height: 100%;

	padding: 0;
}
.CalloutBlockFullWidth .CalloutBlockItemContent {
	position: relative;
	z-index: 2;

	padding: 64px 65px 92px;
}
.CalloutBlockFullWidth .CalloutBlockItemTitle {
	margin-bottom: 19px;

	font-size: 36px;
	line-height: 1.444;
}
.CalloutBlockFullWidth .CalloutBlockItemDescription {
	display: -ms-flex;
	display: flex;

	-ms-flex-pack: center;
	justify-content: center;

	-ms-flex-align: center;
	align-items: center;

	margin-bottom: 50px;
}
.CalloutBlockFullWidth .CalloutBlockItemDescription .HTMLContent p {
	max-width: 520px;

	margin: 0 auto;

	font-size: 18px;

	line-height: 1.667;
}
.CalloutBlockFullWidth .CalloutBlockItemDescription .HTMLContent p strong {
	letter-spacing: 1px;
}

/*============================================================================*/
.HomeBannersWrapper {
	position: 				relative;

	background-color:		#F1F1F1;

	overflow: visible;
}

.HomeBanners {
	background-color: 		#ffffff;

	height:					533px;
	max-height:				533px;

	overflow: 				hidden;

	margin:					0 auto;

	position: 				relative;
}

.HomeBanner {
	display: block;

	width:					100%;
	height:					100%;
}

.HomeBannerBg {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;

	width: 100%;
	height: 100%;
}
.HomeBannerBg > * {
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 1;

	width: auto;
	max-width: none;
	height: 100%;

	transform: translateX(-50%);
}

.HomeBannerContentWrapper {
	display: flex;
	justify-content: flex-end;
	align-items: center;

	position: relative;
	z-index: 2;

	width: 90%;
	max-width: 1392px;

	height: 100%;

	margin: 0 auto;

	padding-bottom: 77px;
}

.HomeBannerContent {
	width: 100%;
	max-width: 691px;

	padding: 45px 72px 57px 78px;

	color: #494949;

	font-size: 17px;

	line-height: 1.25;

	background: rgba(239,239,239,0.93);
}
@supports (backdrop-filter: blur()) or (-webkit-backdrop-filter: blur()) {
	.HomeBannerContent {
		background: rgba(239,239,239,0.50);

		-webkit-backdrop-filter: blur(3px);
		backdrop-filter: blur(3px);
	}
}
.HomeBannerContent h2 {
	margin: 0 0 40px;

	font-size: 40px;
	font-weight: 700;

	line-height: 1.2;

	color: inherit;
}

.HomeBannerButton {
	margin-right: 56px;
}
.HomeBannerButton:last-child {
	margin-right: 0;
}

/**
Categories (What do you need?)
 */
.HomeCategories {
	order: 3;

	padding: 54px 0 64px;

	text-align: center;

	background: #636363 url("/framework/Images/HomePageCategoriesBackground.svg") scroll no-repeat center center;
	background-size: 2006px 1032px;
}
.HomeCategories .InfoBlockTitle {
	margin: 0 0 73px;

	font-size: 32px;
	font-weight: bold;

	color: #ffffff;
}

.HomeCategories .CalloutBlockItems {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	max-width: 1180px;

	margin: 0 auto;
}
.HomeCategories .CalloutBlockItem {
	display: block;

	flex: 0 0 190px;

	margin: 0 23px 35px;

	color: #ffffff;
}
.HomeCategories .CalloutBlockItem:hover,
.HomeCategories .CalloutBlockItem:focus {
	color: #EBA42F;
}
.HomeCategoryImageWrapper {
	position: relative;

	width: 100%;

	margin-bottom: 13px;

	border-radius: 100%;

	overflow: hidden;

	background: #ffffff;

	border: 3px solid transparent;

	transition: all 0.25s;
}
.HomeCategories .CalloutBlockItem:hover .HomeCategoryImageWrapper,
.HomeCategories .CalloutBlockItem:focus .HomeCategoryImageWrapper {
	border-color: #EBA42F;
}
.HomeCategoryImageWrapper::before {
	content: "";

	display: block;

	padding-bottom: 100%;
}
.HomeCategoryImage {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;

	max-width: 100%;
	max-height: 100%;

	transform: translateX(-50%) translateY(-50%);

	transition: all 0.25s;
}
.HomeCategories .CalloutBlockItem:hover .HomeCategoryImage,
.HomeCategories .CalloutBlockItem:focus .HomeCategoryImage {
	transform: translateX(-50%) translateY(-57.518796%);
}
.HomeCategoryTitle {
	margin: 0;

	font-size: 17px;
	font-weight: bold;

	color: inherit;
}

/*============================================================================*/
.HomeWhyChooseApolloItems {
	padding: 72px 0 47px;

	background: #EFEFEF;
}

.HomeWhyChooseApolloItemsTitle {
	font-size:				36px;
	font-weight:			700;

	color:					#17587A;

	text-align: 			center;

	margin:					0 auto 25px;
}
.HomeWhyChooseApolloItemsListWrapper {
	max-width:				1107px;

	margin: 				0 auto;

	position: 				relative;
}

/* minor styling until Slick loads */
.HomeWhyChooseApolloItemsList {
	display: flex;
	justify-content: space-between;
}

.HomeWhyChooseApolloItemWrapper {
	width:					33.333333%;

	padding:				6px 1.626017%;

	outline: none;
}

.HomeWhyChooseApolloItem {
	padding:				16px 20px 32px;

	text-align: 			center;

	color: #4E4E4E;

	font-size: 16px;

	line-height: 1.2;
}
.slick-dotted .HomeWhyChooseApolloItem {
	padding-bottom: 25px;
}

.HomeWhyChooseApolloItemWrapperPosition {
	float:					none;

	position: 				absolute;

	left:					0;
	top:					0;

	margin-left:			0;
}

.HomeWhyChooseApolloItemWrapperNoTransition {
	transition: 			left 0s;
}

.HomeWhyChooseApolloItemImageWrapper {
	position: relative;

	max-width: 86px;

	margin:					0 auto 18px;
}
.HomeWhyChooseApolloItemImageWrapper::before {
	content: "";

	display: block;

	width: 100%;
	padding-bottom: 100%;
}

.HomeWhyChooseApolloItemImage {
	position: absolute;
	left: 50%;
	top: 50%;

	max-width:				100%;
	max-height: 			100%;

	transform: translateX(-50%) translateY(-50%);
}

.HomeWhyChooseApolloItem h3 {
	font-size:				20px;
	font-weight: 			700;

	margin:					0 0 20px;

	color:					#494949;
}

.HomeWhyChooseApolloItemDescription {
	line-height: 1.3125;
}

.HomeWhyChooseApolloItemAsLowAs {
	max-width:				165px;

	margin: 				0 auto;

	text-align: 			center;

	font-weight: 300;
}

.HomeWhyChooseApolloItemPrice {
	color:					#636363;

	font-weight: 			400;
}

.HomeWhyChooseApolloItemsArrow {
	width:					35px;
	height:					35px;

	color:					#17587A;

	cursor:					pointer;

	position: 				absolute;
	bottom:					-70px;

	border: 1px solid;
	border-radius: 100%;

	font-size: 15px;

	text-align: center;

	transition: all 0.25s;
}
.HomeWhyChooseApolloItemsArrow:hover,
.HomeWhyChooseApolloItemsArrow:focus {
	border-color: #118dc3;
}
.HomeWhyChooseApolloItemsArrow.slick-disabled {
	opacity: 0;

	cursor: default;
}

.HomeWhyChooseApolloItemsArrowsLeft .Icon,
.HomeWhyChooseApolloItemsArrowsRight .Icon {
	position: relative;
	top: 50%;
	transform: translateY(-56%);
}

.HomeWhyChooseApolloItemsArrowsLeft {
	left:					50%;

	margin-left: -44px;
}
.HomeWhyChooseApolloItemsArrowsLeft .Icon {
	left: -0.1em;
}

.HomeWhyChooseApolloItemsArrowsRight {
	left:					50%;

	margin-left: 9px;
}
.HomeWhyChooseApolloItemsArrowsRight .Icon {
	right: -1px;
}


.HomeWhyChooseApolloItems .slick-dots li button {
	background: #9A9A9A;
}

/******************************************************************************
Responsive
******************************************************************************/

/**
Media 1921+
 */
@media (min-width: 1921px) {
	.HomeBannerBg > * {
		position: absolute;
		left: 50%;
		top: 50%;
		z-index: 1;

		width: 100%;
		max-width: none;
		height: auto;

		transform: translateX(-50%) translateY(-50%);
	}
}

/*============================================================================*/
@media screen and (max-width: 1280px){
	.HomeBanners {
		height: 39.467153vw;
	}
	.HomeBannerContentWrapper {
		padding-bottom: 6.015625vw;
	}
}

/**
Media 1024
 */
@media (max-width: 1024px) {
	.HomeBannerContentWrapper {
		justify-content: center;

		width: 83.714063%;

		padding-bottom: 3.015625vw;
	}
	.HomeBannerContent {
		max-width: 634px;

		text-align: center;

		padding: 29px 4.03125vw 40px;
	}
	.HomeBannerContent h2 {
		margin-bottom: 3.90625vw;
		font-size: 3.90625vw;
	}
}

/**
Media 960
 */
@media screen and (max-width: 960px){
	.HomeCategories {
		background-image: url("/framework/Images/HomePageCategoriesBackgroundMobile.svg");
		background-size: 2006px 360px;
	}
	.HomePageC .HomeCategories,
	.HomePageD .HomeCategories {
		margin-bottom: 30px;
	}
	.HomePageE .HomeCategories {
		margin-bottom: 56px;
	}
	.HomePageF .HomeCategories {
		margin-bottom: 49px;
	}
	.HomeCategories .InfoBlockTitle {
		font-size: 28px;

		margin-bottom: 35px;
	}
	.HomeCategories .CalloutBlockItems {
		justify-content: space-between;

		max-width: 595px;

		padding: 0 5.866667% 0;
	}
	.HomeCategories .CalloutBlockItem {
		display: flex;
		align-items: center;

		flex: 0 0 48.192771%;

		margin: 0 0 12px;

		padding: 8px 3px;

		text-align: left;

		color: #494949;

		background: #ffffff;

		border: 2px solid transparent;
		border-radius: 4px;

		transition: all 0.25s;
	}
	.HomeCategories .CalloutBlockItem:hover,
	.HomeCategories .CalloutBlockItem:focus {
		border-color: #EBA42F;
	}
	.HomeCategoryImageWrapper {
		max-width: 45px;
		min-width: 45px;

		margin-right: 6px;
		margin-bottom: 0;

		border: none;
		border-radius: 4px;
	}
	.HomeCategoryTitle {
		flex: 1 1 auto;

		font-size: 15px;

		line-height: 1.266667;
	}

	.HomeCategoryImageWrapper,
	.HomeCategories .CalloutBlockItem:hover .HomeCategoryImageWrapper,
	.HomeCategories .CalloutBlockItem:focus .HomeCategoryImageWrapper {
		background: transparent;

		border-color: transparent;
	}

	.HomeCategoryImage {
		max-width: 140%;
		max-height: 140%;
	}
	.HomeCategories .CalloutBlockItem:hover .HomeCategoryImage,
	.HomeCategories .CalloutBlockItem:focus .HomeCategoryImage {
		transform: translateX(-50%) translateY(-50%);
	}

	.CalloutBlockStatic.CalloutBlockFullWidth .CalloutBlockItem {
		flex: 1 1 100%;
		max-width: none;
		margin-bottom: 0;
	}
}

/**
Media 640
 */
@media screen and (max-width: 640px){
	.HomeBanners {
		height: 94.933333vw;
		max-height: none;

		margin:	0;
	}

	.HomeBannerContentWrapper {
		width: 77.8666666667%;

		padding-bottom: 8.266667vw;
	}

	.HomeBannerContent {
		padding-top: 22px;
		padding-bottom: 12px;
	}
	.HomeBannerContent h2 {
		font-size: 6.4vw;
		margin-bottom: 17px;
	}
	.HomeBannerButton {
		display: flex;

		margin: 0 auto 10px;
	}
	.HomeBannerButton:last-child {
		margin-right: auto;
	}

	.CalloutBlockFullWidth .CalloutBlockItemTitle {
		font-size: 29px;
	}

	.HomeWhyChooseApolloItems {
		padding: 56px 0 43px;
	}
	.HomeWhyChooseApolloItemsTitle {
		font-size: 29px;
	}
}

/**
Media 480
 */
@media (max-width: 480px) {
	.ForceBreak480 {
		display: block;
	}
}

/**
Media 375
 */
@media screen and (max-width: 375px){
	.HomeBanners {
		height: 356px;
	}
	.HomeBannerBg {
		overflow: hidden;
	}
	.HomeBannerBg > * {
		width:					375px;
	}

	.HomeCategoryImageWrapper {
		max-width: 12vw;
		min-width: 12vw;
	}
	.HomeCategoryTitle {
		font-size: 4.533333vw;
	}
}