/****** 
@file
Subtheme specific CSS.

******/
/****

Basics

****/
.ui-widget-overlay.ui-front
{
	display: none;
}
.ui-dialog
{
	background: #FFF !important;
	padding: 15px !important;
	box-shadow: 0 0 5px 1px !important;
	z-index: 99 !important;
	width: 100% !important;
	max-width: 640px !important;
	overflow-x: no-display;
}
.ui-dialog-content.ui-widget-content
{
	overflow: hidden !important;
}
.ui-widget.ui-widget-content .ui-dialog-titlebar.ui-widget-header
{
	color: #000;
	background: #FFF;
	border: none;
}
.ui-widget.ui-widget-content .ui-dialog-titlebar.ui-widget-header .ui-dialog-title
{
	color: #000;
	background: #FFF;
	border: none;
}
.ui-dialog .ui-dialog-titlebar-close
{
	position: absolute !important;
	z-index: 100 !important;
	top: 10px !important;
	right: 12px !important;
	opacity: 1 !important;
	font-size: 24px !important;
	box-sizing: content-box !important;
	width: 1em !important;
	height: 1em !important;
	padding: 0.25em 0.25em !important;
	color: #000 !important;
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center / 1em auto no-repeat !important;
	border: 0 !important;
	border-radius: 0.375rem !important;
	opacity: 1 !important;
}
BUTTON.webform-button--submit.button--primary.btn.btn-primary
{
	border: 1px solid #04ACD4;
	border-radius: 0;
	padding: 15px;
	background: #04ACD4;
	color: #FFF !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: all 500ms ease-in-out;
}
BUTTON.webform-button--submit.button--primary.btn.btn-primary:hover
{
	border: 1px solid #04ACD4;
	border-radius: 0;
	padding: 15px;
	color: #04ACD4 !important;
	background: #FFF !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: all 500ms ease-in-out;
}
BUTTON.webform-button--submit.button--primary.btn.btn-primary:focus
{
	border: 1px solid #04ACD4;
	border-radius: 0;
	padding: 15px;
	color: #04ACD4 !important;
	background: #FFF !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: all 500ms ease-in-out;
}
@media screen and (max-width: 768px)
{
	.ui-dialog
	{
		background: #FFF !important;
		padding: 15px !important;
		box-shadow: 0 0 5px 1px !important;
		z-index: 9999 !important;
		width: 90% !important;
		max-width: 360px !important;
		overflow-x: no-display;
	}
	.ui-dialog-content.ui-widget-content
	{
		overflow: hidden !important;
	}
}
BODY, HTML
{
	margin: 0;
	padding: 0;
}
BODY
{
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
	font-size: 18px;
	line-height: 26px;
	color: #000;
	background-color: #FFF;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-size-adjust: 100% !important;
	text-rendering: optimizelegibility;
	-webkit-font-smoothing: subpixel-antialiased;
	overflow-x: hidden;
	width: 100%;
	position: relative;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
HTML
{
	margin: 0 auto;
	padding: 0;
	overflow-x: hidden;
	position: relative;
}
H1, H2, H3, H4, H5, H6
{
	color: #000;
}
H1
{
	font-size: 32px;
	line-height: 45px;
	margin: 40px 0 32px;
	font-weight: 700;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
.h1
{
	font-size: 32px;
	line-height: 45px;
	margin: 40px 0 32px;
	font-weight: 700;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
H2
{
	font-size: 28px;
	line-height: 32px;
	margin: 27px 0 18px;
	font-weight: 400;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
.h2
{
	font-size: 28px;
	line-height: 32px;
	margin: 27px 0 18px;
	font-weight: 400;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
H3
{
	font-size: 24px;
	letter-spacing: normal;
	line-height: 33px;
	margin: 26px 0 16px;
	font-weight: 400;
}
.h3
{
	font-size: 24px;
	letter-spacing: normal;
	line-height: 33px;
	margin: 26px 0 16px;
	font-weight: 400;
}
H4
{
	font-size: 18px;
	letter-spacing: normal;
	margin: 21px 0 19px;
	font-weight: 400;
}
.h4
{
	font-size: 18px;
	letter-spacing: normal;
	margin: 21px 0 19px;
	font-weight: 400;
}
H5
{
	font-size: 14px;
	font-weight: 400;
}
H6
{
	font-size: 12px;
	line-height: 18px;
	font-weight: 400;
}
A
{
	color: #000;
	text-decoration: underline;
}
P
{
	color: #000;
	transition: all 500ms ease-in-out;
}
/**** 

Navbar

****/
.header
{
	background: transparent;
	position: relative;
	z-index: 30;
	max-height: 0;
}
.header .logo A IMG
{
	padding: 20px 20px 0 20px;
	max-height: 75px;
}
.header .menu
{
	float: right;
	padding: 20px 30px 0 0;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
.header .menu .offcanvas
{
	min-width: 660px;
}
.header .menu .offcanvas-header
{
	background: #04ACD4;
	height: 100px;
}
.header .menu .offcanvas .offcanvas-header BUTTON.btn-close
{
	opacity: 1;
	font-size: 2em;
	filter: invert(100%);
}
.header .menu .offcanvas-body
{
	background: #04ACD4;
	color: #FFF;
	text-align: right;
	padding-right: 50px;
}
.header .menu .offcanvas-body A
{
	color: #FFF;
	display: inline-block;
	position: relative;
	text-decoration: none;
	padding: 0px 0 5px;
	font-size: 24px;
	line-height: 42px;
	text-transform: uppercase;
	margin: 0px 0 0;
}
.header .menu .offcanvas-body A:after
{
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: #FFF;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.header .menu .offcanvas-body A:hover:after
{
	transform: scaleX(1);
	transform-origin: bottom left;
}
.header .menu .offcanvas .accordionfloat
{
	float: right;
}
.header .menu .offcanvas .accordionunfloat
{
	clear: both;
}
.header .menu .offcanvas .offcanvas-body .accordion
{
	width: 250px;
}
.header .menu .offcanvas .offcanvas-body .accordion .accordion-item
{
	background: transparent;
	border: none;
}
.header .menu .offcanvas-body .accordion .accordion-item BUTTON.accordion-button
{
	background: transparent;
	border: none;
	padding: 0;
	color: #FFF;
	position: relative;
	display: block;
	align-items: baseline;
	width: 100%;
	text-align: right;
}
.header .menu .offcanvas-body .accordion .accordion-item BUTTON.accordion-button P
{
	color: #FFF;
	color: #FFF;
	display: inline-block;
	position: relative;
	text-decoration: none;
	padding: 0;
	font-size: 24px;
	line-height: 33px;
	text-transform: uppercase;
}
.header .menu .offcanvas-body .accordion-body
{
	padding: 0 0 30px 0;
}
.header .menu .offcanvas-body .accordion .accordion-body A
{
	color: #FFF;
	display: inline-block;
	position: relative;
	text-decoration: none;
	padding: 0 0 5px 0;
	text-transform: none;
	font-size: 20px;
	line-height: 33px;
}
.accordion-button:not(.collapsed)::after
{
	background-image: var(--bs-accordion-btn-active-icon);
	transform: var(--bs-accordion-btn-icon-transform);
	display: none !important;
	border: none !important;
}
.accordion-button::after
{
	display: none;
	border: none !important;
}
.accordion-button:not(.collapsed)
{
	color: var(--bs-accordion-active-color);
	background-color: var(--bs-accordion-active-bg);
	box-shadow: none;
}
@media screen and (max-width: 768px)
{
	.header .menu .offcanvas
	{
		min-width: 100%;
	}
}
/*// Burger Icon*/
.bar1, .bar2, .bar3, .bar4
{
	width: 50px;
	height: 3px;
	background-color: #FFF;
	margin: 6px 0;
	transition: 0.4s;
}
/**** 

Slider / Headerimage

****/
.slider
{
	margin-top: 0;
	overflow: hidden;
}
.slider .view-headerimage.view-id-headerimage .parallax
{
	position: fixed;
}
DIV[class^='headerimage_']
{
	height: calc(100vh + 45px) !important;
	width: 100vw;
	background: center center / cover no-repeat fixed;
	z-index: 20;
	overflow: hidden;
	position: relative;
	transform: scale(1.0);
	transition: all 750ms ease-in-out;
}
DIV[class^='headerimage_']:hover
{
	height: calc(100vh + 45px) !important;
	width: 100vw;
	background: center center / cover no-repeat fixed;
	z-index: 20;
	overflow: hidden;
	position: relative;
	transition: all 750ms ease-in-out;
	transform: scale(1.025);
}
.view-headerimage.view-id-headerimage
{
	height: calc(100vh + 45px);
	width: 100vw;
	position: relative;
}
.view-headerimage.view-id-headerimage:after
{
	position: absolute;
	bottom: 0;
	left: 50%;
	right: 0;
	transform: translate(-50%, 0%);
	content: " ";
	width: 100vw;
	border-style: solid;
	border-width: 0 1300px 100px 1300px;
	border-color: transparent transparent #FFF transparent;
	z-index: 21;
}
#slider .view-headerimage.view-id-headerimage .views-field-field-headerimage
{
}
.view-headerimage.view-id-headerimage IMG
{
	width: 100%;
	height: auto;
}
.view-headerimage.view-id-headerimage .headerimage-title
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0.25);
	z-index: 21;
	pointer-events: none;
}
.node--type-article .view-headerimage.view-id-headerimage .headerimage-title
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	background: none;
	z-index: 21;
	pointer-events: none;
}
.view-headerimage.view-id-headerimage .headerimage-title H1 P
{
	color: #FFF;
	position: absolute;
	top: 50%;
	left: 20%;
	transform: translate(-20%, -50%);
	font-size: 2em;
	line-height: 1em;
}
.view-headerimage.view-id-headerimage .views-field-field-videoheader VIDEO
{
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: calc(100vh + 45px) !important;
	overflow: hidden !important;
	object-fit: cover !important;
	z-index: 21 !important;
}
.view-headerimage.view-id-headerimage .views-field-field-videoheader IFRAME
{
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 1920px;
	height: 1080px;
	overflow: hidden !important;
	object-fit: cover !important;
	z-index: 21 !important;
	margin: auto;
}
.view-headerimage.view-id-headerimage.view-display-id-block_1 .views-field-nothing .headerimage .scrolltocontent
{
	position: absolute;
	bottom: 20%;
	left: 50%;
	transform: translate(-50%, -50%) !important;
	z-index: 20;
	width: 75px;
	animation: bounce 500ms ease-in-out infinite alternate running !important;
}
@keyframes bounce
{
	0%
	{
		transform: translateY(0);
	}
	100%
	{
		transform: translateY(-5px);
	}
}
@media screen and (max-width: 991px)
{
	DIV[class^='headerimage_']
	{
		height: calc(100vh + 45px) !important;
		width: 100vw;
		background: center center / cover no-repeat scroll;
		z-index: 20;
		overflow: hidden;
	}
}
@media screen and (max-width: 991px)
{
	.view-headerimage.view-id-headerimage .headerimage-title H1 P
	{
		color: #FFF;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 1.7em;
	}
}
@media screen and (max-width: 515px)
{
	.view-headerimage.view-id-headerimage .headerimage-title H1 P
	{
		color: #FFF;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 1.5em;
	}
}
/**** 

Content Fullwidth

****/
.content-fullwidth
{
	position: relative;
	background: #FFF;
}
.content-fullwidth .block-views-blocktopics-block-1 H2
{
	padding: 0 15px;
	margin-bottom: 0;
	text-transform: uppercase;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
.view-topics.view-id-topics
{
	border: none;
	padding: 15px;
	margin: 0;
	background: #FFF;
	position: relative;
}
.view-topics.view-id-topics LI.grid.list-group-item
{
	border: none;
	padding: 15px;
	margin: 0;
}
/**** 

Content Bottom

****/
.content-bottom
{
	position: relative;
	background: #FFF;
}
/**** 

News

****/
.news
{
	padding: 100px 0;
	background: #FFF;
}
.view-news.view-id-news .owl-carousel .owl-item
{
	padding: 15px 15px 15px 0;
}
.view-news.view-id-news .owl-carousel .owl-nav
{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0%, -50%);
}
.view-news.view-id-news .owl-carousel .owl-nav BUTTON.owl-prev
{
	display: none;
}
.view-news.view-id-news .owl-carousel .owl-nav BUTTON.owl-next
{
	font-size: 4em;
	color: #04ACD4;
	opacity: 0.75;
}
.view-news.view-id-news .owl-carousel .owl-nav BUTTON.owl-next:hover
{
	background: transparent;
	opacity: 1;
}
.view-news.view-id-news .newsgrid
{
	padding: 0 30px 0 0;
}
.view-news.view-id-news .newsgrid .newsgrid-info
{
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
}
.view-news.view-id-news .newsgrid .newsgrid-headline H3
{
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
	hyphens: auto;
	min-height: 75px;
}
.view-news.view-id-news .newsgrid .newsgrid-published
{
	color: rgba(0, 0, 0, 0.75);
	font-size: 16px;
}
.view-news.view-id-news .newsgrid .newsgrid-teasertext
{
	margin-top: -10px;
}
.view-news.view-id-news .newsgrid .newsgrid-link
{
	text-align: right;
	padding-top: 20px;
	padding-right: 30px;
}
.view-news.view-id-news .newsgrid .newsgrid-link A
{
	color: #000;
	display: inline-block;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 16px;
}
.view-news.view-id-news .newsgrid .newsgrid-link A:after
{
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: #000;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.view-news.view-id-news .newsgrid .newsgrid-link A:before
{
	content: '';
	position: absolute;
	right: -30px;
	margin-top: -5px;
	height: 20px;
	width: 20px;
	background: url(/themes/custom/cyfex/img/arrow_black.png);
	background-size: contain;
	background-repeat: no-repeat;
}
.view-news.view-id-news .newsgrid .newsgrid-link A:hover:after
{
	transform: scaleX(1);
	transform-origin: bottom left;
}
/*// News Grid */
.view-news.view-id-news.view-display-id-block_2
{
	max-width: 1330px;
	margin: auto;
}
.view-news.view-id-news.view-display-id-block_2 LI.grid.list-group-item
{
	margin: 0 0 30px 0;
	padding: 30px;
	border: none;
}
#block-cyfex-newsback
{
	max-width: 1293px;
	margin: auto;
	padding-bottom: 100px;
}
#block-cyfex-newsback P A
{
	color: #000;
	display: inline-block;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 20px;
}
#block-cyfex-newsback P A:after
{
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: #000;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
#block-cyfex-newsback P A:before
{
	content: '';
	position: absolute;
	right: -30px;
	margin-top: -5px;
	height: 20px;
	width: 20px;
	background: url(/themes/custom/cyfex/img/arrow_black.png);
	background-size: contain;
	background-repeat: no-repeat;
}
#block-cyfex-newsback P A:hover:after
{
	transform: scaleX(1);
	transform-origin: bottom left;
}
/**** 

Topic Teaser

****/
DIV[class^='topicteaser_']
{
	height: 90vh;
	width: 100vw;
	background: center center / cover no-repeat scroll;
	overflow: hidden;
	position: relative;
	transition: all 750ms ease-in-out;
	transform: scale(1.0);
}
DIV[class^='topicteaser_']:hover
{
	height: 90vh;
	width: 100vw;
	background: center center / cover no-repeat scroll;
	overflow: hidden;
	position: relative;
	transition: all 750ms ease-in-out;
	transform: scale(1.025);
}
.topicreference
{
	position: relative;
	overflow: hidden;
}
.topicreference .view-topic-teaser.view-id-topic_teaser .teaser
{
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translate(0%, -50%);
}
.topicreference .view-topic-teaser.view-id-topic_teaser .teaser .teaser-headline P
{
	color: #FFF;
	font-size: 4em;
	line-height: 1.1em;
	text-transform: uppercase;
}
.topicreference .view-topic-teaser.view-id-topic_teaser .teaser .teaser-link
{
	text-align: right;
	padding-top: 30px;
	padding-right: 30px;
}
.topicreference .view-topic-teaser.view-id-topic_teaser .teaser .teaser-link A
{
	color: #FFF;
	display: inline-block;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 18px;
}
.topicreference .view-topic-teaser.view-id-topic_teaser .teaser .teaser-link A:before
{
	content: '';
	position: absolute;
	right: -30px;
	margin-top: -5px;
	height: 20px;
	width: 20px;
	background: url(/themes/custom/cyfex/img/arrow_white.png);
	background-size: contain;
	background-repeat: no-repeat;
}
.topicreference .view-topic-teaser.view-id-topic_teaser .teaser .teaser-link A:after
{
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: #FFF;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.topicreference .view-topic-teaser.view-id-topic_teaser .teaser .teaser-link A:hover:after
{
	transform: scaleX(1);
	transform-origin: bottom left;
}
@media screen and (max-width: 991px)
{
	.ctademo .row .col-md-12
	{
		position: relative;
		width: auto;
	}
	DIV[class^='ctademo_']
	{
		height: 90vh;
		width: 100vw;
		background: center right / cover no-repeat scroll;
		overflow: hidden;
		position: relative;
	}
}
@media screen and (max-width: 515px)
{
	.ctademo .ctademo-inner .democontent
	{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: #04ACD4;
		color: #FFF;
		padding: 15% 5%;
		width: calc(100vw - 30%);
	}
	.ctademo .ctademo-inner .democontent P
	{
		color: #FFF;
		font-size: 3em;
		line-height: 1.2em;
		text-transform: uppercase;
		font-family: 'MuseoSans300';
		font-weight: 300;
		font-style: normal;
		src: url('font.woff') format('woff');
		font-display: swap;
	}
	DIV[class^='ctademo_']
	{
		height: 70vh;
		width: 100vw;
		background: center right / cover no-repeat scroll;
		overflow: hidden;
		position: relative;
	}
}
/**** 

References

****/
.client
{
	position: relative;
	background: #FFF;
}
.client H2
{
	text-align: left;
	text-transform: uppercase;
	position: relative;
	font-size: 18px;
	padding-top: 100px;
}
.news .block-views-blockreferences-block-1 H2
{
	text-align: left;
	text-transform: uppercase;
	position: relative;
	font-size: 18px;
	padding-top: 100px;
}
.view-references.view-id-references
{
	padding: 0 0 100px 0;
	margin: 0;
}
.view-references.view-id-references .owl-carousel .owl-item
{
	padding: 15px 15px 15px 0;
}
.view-references.view-id-references .owl-item .views-field-field-reference-headline P
{
	color: #04ACD4;
	font-size: 22px;
	hyphens: auto;
}
.view-references.view-id-references .views-field-field-reference-author P
{
	width: 85%;
	hyphens: auto;
}
.view-references.view-id-references .owl-carousel .owl-nav
{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0%, -50%);
}
.view-references.view-id-references .owl-carousel .owl-nav BUTTON.owl-prev
{
	display: none;
}
.view-references.view-id-references .owl-carousel .owl-nav BUTTON.owl-next
{
	font-size: 4em;
	color: #04ACD4;
	opacity: 0.75;
}
.view-references.view-id-references .owl-carousel .owl-nav BUTTON.owl-next:hover
{
	background: transparent;
	opacity: 1;
}
.view-references.view-id-references IMG
{
	width: 100%;
	height: auto;
	max-width: 150px;
}
/**** 

CTA Demo

****/
DIV[class^='ctademo_']
{
	height: 90vh;
	width: 100vw;
	background: center center / cover no-repeat scroll;
	overflow: hidden;
	position: relative;
	transition: all 750ms ease-in-out;
	transform: scale(1.0);
}
DIV[class^='ctademo_']:hover
{
	height: 90vh;
	width: 100vw;
	background: center center / cover no-repeat scroll;
	overflow: hidden;
	position: relative;
	transition: all 750ms ease-in-out;
	transform: scale(1.025);
}
.ctademo
{
	position: relative !important;
	border-top: 30px solid #04ACD4 !important;
	overflow: hidden !important;
	height: 90vh !important;
	background: #FFF !important;
}
.ctademo .row .col-md-12
{
	width: 50%;
	position: relative;
	background: #FFF !important;
}
.ctademo .ctademo-inner .democontent
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #04ACD4 !important;
	color: #FFF;
	padding: 100px 50px;
}
.ctademo .ctademo-inner .democontent P
{
	color: #FFF;
	font-size: 4em;
	line-height: 1.2em;
	text-transform: uppercase;
	font-family: 'MuseoSans300';
	font-weight: 300;
	font-style: normal;
	src: url('font.woff') format('woff');
	font-display: swap;
}
.ctademo .ctademo-inner .democontent .field--type-text
{
	color: #FFF;
	text-align: right;
	padding-top: 50px;
	padding-right: 30px;
}
.ctademo .ctademo-inner .democontent .field--type-text A
{
	color: #FFF;
	display: inline-block;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
}
.ctademo .ctademo-inner .democontent .field--type-text A:before
{
	content: '';
	position: absolute;
	right: -30px;
	margin-top: -5px;
	height: 20px;
	width: 20px;
	background: url(/themes/custom/cyfex/img/arrow_white.png);
	background-size: contain;
	background-repeat: no-repeat;
}
.ctademo .ctademo-inner .democontent .field--type-text A:after
{
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: #FFF;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.ctademo .ctademo-inner .democontent .field--type-text A:hover:after
{
	transform: scaleX(1);
	transform-origin: bottom left;
}
@media screen and (max-width: 991px)
{
	.ctademo .row .col-md-12
	{
		position: relative;
		width: auto;
	}
	DIV[class^='ctademo_']
	{
		height: 90vh;
		width: 100vw;
		background: center right / cover no-repeat scroll;
		overflow: hidden;
		position: relative;
	}
}
@media screen and (max-width: 515px)
{
	.ctademo .ctademo-inner .democontent
	{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: #04ACD4;
		color: #FFF;
		padding: 15% 5%;
		width: calc(100vw - 30%);
	}
	.ctademo .ctademo-inner .democontent P
	{
		color: #FFF;
		font-size: 2.6em;
		line-height: 1.2em;
		text-transform: uppercase;
		font-family: 'MuseoSans300';
		font-weight: 300;
		font-style: normal;
		src: url('font.woff') format('woff');
		font-display: swap;
	}
	DIV[class^='ctademo_']
	{
		height: 70vh;
		width: 100vw;
		background: center right / cover no-repeat scroll;
		overflow: hidden;
		position: relative;
	}
}
/**** 

Footer-Top

****/
.footer-top
{
	padding-top: 100px;
	padding-bottom: 200px;
	position: relative;
	background: #FFF;
}
.footer-top H2
{
	padding-bottom: 100px;
	text-align: center;
	text-transform: uppercase;
	position: relative;
}
.footer-top H2:after
{
	position: absolute;
	content: " ";
	top: 30%;
	left: 50%;
	width: 360px;
	transform: translate(-50%, 0%);
	border-bottom: 1px solid #000;
}
.view-customer-benefits.view-id-customer_benefits
{
	position: relative;
}
.view-customer-benefits.view-id-customer_benefits IMG
{
	padding-bottom: 15px;
	width: 75px;
}
.view-customer-benefits.view-id-customer_benefits LI.grid.list-group-item
{
	border: none;
	padding: 0 15px 0 0;
	margin: 0;
}
.view-customer-benefits.view-id-customer_benefits LI.grid.list-group-item .views-field-field-benefit-icon
{
	border-bottom: 1px solid #000;
	width: 80%;
}
.view-customer-benefits.view-id-customer_benefits LI.grid.list-group-item H3
{
	padding-top: 15px;
}
@media screen and (max-width: 577px)
{
	.view-customer-benefits.view-id-customer_benefits LI.grid.list-group-item
	{
		border: none;
		padding: 15px;
		margin: 0;
	}
}
/**** 

Footer

****/
.footer
{
	background: #04ACD4;
	color: #FFF;
	font-size: 18px;
	line-height: 18px;
	padding-top: 50px;
	position: relative;
}
.footer P
{
	color: #FFF;
}
.footer A
{
	color: #FFF;
	display: inline-block;
	position: relative;
	text-decoration: none;
	padding: 0 0 5px 0;
}
.footer A:after
{
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: #FFF;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.footer A:hover:after
{
	transform: scaleX(1);
	transform-origin: bottom left;
}
.footer:before
{
	position: absolute;
	top: -94px;
	left: 50%;
	right: 0;
	transform: translate(-50%, 0%);
	content: " ";
	width: 100vw;
	height: 0;
	border-style: solid;
	border-width: 0 1300px 100px 1300px;
	border-color: transparent transparent #04ACD4 transparent;
}
.footer .region-footer-first
{
	margin-bottom: 0;
}
.footer .region-footer-second
{
	margin-bottom: 0;
}
.footer .region-footer-third
{
	margin-bottom: 0;
}
.footer-bottom
{
	background: #04ACD4;
	color: #FFF;
	padding: 0 0 30px 0;
	position: relative;
}
.footer-bottom .container
{
	border-top: 1px solid #FFF;
	padding-top: 20px;
}
.footer-bottom .footer-bottom-left
{
	display: flex;
	margin-top: 10px;
}
.footer-bottom .footer-bottom-left A
{
	color: #FFF;
}
.footer-bottom .footer-bottom-left .copyright
{
	display: inline;
	padding-left: 30px;
}
.footer-bottom .footer-bottom-right IMG
{
	max-height: 60px;
	width: auto;
	margin: 0;
}
@media screen and (max-width: 991px)
{
	.footer .region-footer-first
	{
		margin-bottom: 30px;
	}
	.footer .region-footer-second
	{
		margin-bottom: 30px;
	}
	.footer .region-footer-third
	{
		margin-bottom: 0;
	}
	.footer-bottom .region-footer-bottom-left
	{
		display: flex;
		margin-bottom: 30px;
	}
	.footer-bottom .footer-bottom-right IMG
	{
		max-height: 60px;
		width: auto;
		margin-top: 30px;
		float: left;
	}
}
