/**************************************************************
 > General Settings
 **************************************************************/

* {
	box-sizing: border-box;
}

p {
	font-size:   14px;
	line-height: 22px;
}

.page-container .page-main {
	margin-top: 0;
}

@media only screen and (min-width: 1024px) {
	p {
		font-size:   18px;
		line-height: 28px;
	}
}

@media only screen and (max-width: 1024px) {
	.is-desktop {
		display: none !important;
	}
}

@media only screen and (min-width: 1024px) {
	.is-mobile {
		display: none !important;
	}
}

.o-layout.o-layout--small {
	margin-left: -60px;
}

.o-layout.o-layout--small > .o-layout__item {
	padding-left: 60px;
}

.extra-small {
	margin-bottom: 6px !important
}

.small {
	margin-bottom: 12px !important
}

.medium {
	margin-bottom: 24px !important
}

.large {
	margin-bottom: 48px !important
}

.extra-large {
	margin-bottom: 96px !important
}


/**************** Headlines ****************/
h1,
.u-h1,
h2,
.u-h2,
h3,
.u-h3 {
	color:          #646363 !important;
	font-family:    'NorthernSoulCaps', serif !important;
	font-size:      40px !important;
	letter-spacing: 0 !important;
	line-height:    45px !important;
	margin-top:     0;
	margin-bottom:  12px;
}

@media screen and (min-width: 1024px) {
	h1,
	.u-h1 {
		font-size:   70px !important;
		line-height: 80px !important;
	}

	h2,
	.u-h2 {
		font-size:   60px !important;
		line-height: 80px !important;
	}

	h3,
	s.u-h3 {
		font-size:   50px !important;
		line-height: 60px !important;
	}
}

/**************** Icons ****************/
@font-face {
	font-family:  'iconfont';
	src:          url('fonts/iconfont/icomoon.eot?k3x52t');
	src:          url('fonts/iconfont/icomoon.eot?k3x52t#iefix') format('embedded-opentype'),
				  url('fonts/iconfont/icomoon.ttf?k3x52t') format('truetype'),
				  url('fonts/iconfont/icomoon.woff?k3x52t') format('woff'),
				  url('fonts/iconfont/icomoon.svg?k3x52t#icomoon') format('svg');
	font-weight:  normal;
	font-style:   normal;
	font-display: block;
}

.c-icon {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family:             'iconfont' !important;
	speak:                   never;
	font-style:              normal;
	font-weight:             normal;
	font-variant:            normal;
	text-transform:          none;
	line-height:             1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing:  antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.c-icon--check:before {
	content: "\e900" !important;
}

.c-icon--quote:before {
	content: "\e901" !important;
}

.c-icon--arrow-left:before {
	content: "\e909" !important;
}

.c-icon--arrow-right:before {
	content: "\e908" !important;
}


/**************************************************************
 > Image Bullet List
 **************************************************************/

.c-img-bullet-list {
	background:     linear-gradient(160.12deg, #EFEAE7 0%, #A59888 100%);
	display:        flex;
	flex-direction: column;
	width:          calc(100% + 40px);
	margin-left:    -20px;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list {
		background:     linear-gradient(107.01deg, #EFEAE7 0%, #A59888 100%);
		flex-direction: row;
	}
}

.c-img-bullet-list__info {
	padding: 20px;
	width:   100%;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list .c-img-bullet-list__info {
		padding: 60px;
		width:   40%;
	}
}

.c-img-bullet-list__media {
	display:         flex;
	flex-direction:  column;
	justify-content: flex-end;
}

.c-img-bullet-list__media img {
	width:        100%;
	height:       auto;
	z-index:      0;
	padding-left: 20px;
	padding-top:  40px;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list__media img {
		padding-left: 0;
		padding-top:  0;
	}
}

.c-img-bullet-list__title {
	font-size:     40px;
	line-height:   45px;
	margin-bottom: 24px;
	font-family:   'NorthernSoulCaps', serif;
	margin-top:    0;
	font-weight:   normal;
	color:         #646363;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list__title {
		font-size:     70px;
		line-height:   80px;
		margin-bottom: 38px;
	}
}

.c-img-bullet-list p,
.c-img-bullet-list li {
	font-size:   14px;
	margin:      0;
	font-family: Arial, sans-serif;
	color:       #646363;
	display:     flex;
	align-items: center;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list p,
	.c-img-bullet-list li {
		font-size: 18px;
	}
}

.c-img-bullet-list p {
	margin-bottom: 18px;
	line-height:   22px;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list p {
		margin-bottom: 38px;
		line-height:   28px;
	}
}

.c-img-bullet-list i {
	margin-right: 16px;
	color:        #D85164;
	font-size:    20px;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list i {
		margin-right: 12px;
		font-size:    24px;
	}
}

.c-img-bullet-list i:before {
	margin-right: 0;
}

.c-img-bullet-list li {
	line-height: 30px;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list li {
		line-height:   32px;
		margin-bottom: 4px;
	}
}

.c-img-bullet-list ul {
	list-style-type: none;
	padding:         0;
	margin-top:      0;
	margin-bottom:   30px;
	margin-left:     0;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list ul {
		margin-bottom: 40px;
	}
}

.c-img-bullet-list button {
	height:           40px;
	width:            100%;
	font-size:        14px;
	border:           2px solid #646363;
	border-radius:    6px;
	color:            #646363;
	font-family:      Arial, sans-serif;
	font-weight:      bold;
	text-align:       center;
	background-color: transparent;
	cursor:           pointer;
}

@media screen and (min-width: 1024px) {
	.c-img-bullet-list button {
		height:    48px;
		font-size: 18px;
		width:     fit-content;
		padding:   0 20px;
	}
}

/**************************************************************
 > Quote Slider
 **************************************************************/

.c-quote-slider {
	width:         calc(100% + 40px);
	margin-left:   -20px;
	position:      relative;
	margin-bottom: 60px;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider {
		margin-bottom: 100px;
	}
}

.c-quote-slider .glider {
	scrollbar-width: none;
}

.c-quote-slider .glider::-webkit-scrollbar {
	display: none;
}

.c-quote-slider .glider-track > div {
	margin-right: 0;
}

.c-quote-slider .c-quote-slider__item {
	height:           auto !important;
	background-color: #F8F7F2;
	border-radius:    8px;
	display:          flex;
	flex-direction:   column;
	margin-left:      20px;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__item {
		flex-direction: row;
		margin-left:    0;
	}
}

.c-quote-slider .c-quote-slider__record {
	height:   350px;
	width:    100%;
	position: relative;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__record {
		width:  294px;
		height: auto;
	}
}

.c-quote-slider .c-quote-slider__record img,
.c-quote-slider .c-quote-slider__record picture > img {
	width:         100%;
	height:        100%;
	position:      absolute;
	object-fit:    cover;
	z-index:       0;
	border-radius: 8px 8px 0 0;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__record img,
	.c-quote-slider .c-quote-slider__record picture > img {
		border-radius: 8px 0 0 8px;
	}
}

.c-quote-slider .c-quote-slider__quote {
	font-family:    Arial, sans-serif;
	flex:           1;
	display:        flex;
	flex-direction: column;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__quote {
		flex-direction: row;
	}
}

.c-quote-slider .c-quote-slider__quote i {
	font-size: 40px;
	color:     #646363;
	margin:    20px 20px 15px 20px;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__quote i {
		margin:    48px 40px 40px 48px;
		font-size: 64px;
	}
}

.c-quote-slider__body {
	padding: 0 20px 20px 20px;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider__body {
		padding: 69px 103px 61px 0;
	}
}

.c-quote-slider .c-quote-slider__quote p {
	font-size:     14px;
	line-height:   22px;
	color:         #616161;
	margin-bottom: 12px;
	margin-top:    0;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__quote p {
		font-size:     18px;
		line-height:   28px;
		margin-bottom: 40px;
	}
}

.c-quote-slider .c-quote-slider__quote .c-quote-slider__name {
	font-size:     18px;
	font-weight:   bold;
	line-height:   28px;
	color:         #616161;
	margin-bottom: 2px;
	margin-top:    0;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__quote .c-quote-slider__name {
		font-size:     24px;
		margin-bottom: 6px;
	}
}

.c-quote-slider .c-quote-slider__quote .c-quote-slider__job {
	font-size:     14px;
	line-height:   22px;
	color:         #616161;
	margin-bottom: 0;
	font-weight:   normal;
	margin-top:    0;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__quote .c-quote-slider__job {
		font-size:   18px;
		line-height: 28px;
	}
}

.c-quote-slider .c-quote-slider__arrows {
	background-color: #ffffff;
	color:            #646363;
	border:           none;
	position:         absolute;
	top:              calc(100% / 2);
	transform:        translateY(-50%);
	cursor:           pointer;
	width:            40px;
	height:           100px;
	display:          none;
	justify-content:  center;
	align-items:      center;
	font-size:        22px;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__arrows {
		display: flex;
	}
}


.c-quote-slider .c-quote-slider__arrows.c-quote-slider__arrows--prev {
	border-radius: 0 4px 4px 0;
}

.c-quote-slider .c-quote-slider__arrows.c-quote-slider__arrows--next {
	right:         0;
	border-radius: 4px 0 0 4px;
}

.c-quote-slider .c-quote-slider__arrows.disabled {
	display: none;
}

.c-quote-slider .c-quote-slider__arrows .c-icon:before {
	margin: 0;
}

.c-quote-slider .c-quote-slider__bullets {
	display: none;
}

@media screen and (min-width: 1024px) {
	.c-quote-slider .c-quote-slider__bullets {
		margin-top: 40px;
		display:    flex;
	}
}

.c-quote-slider .c-quote-slider__bullets button {
	width:            100px;
	height:           4px;
	border-radius:    0;
	margin:           4px;
	background-color: #AA967825;
}

.c-quote-slider .c-quote-slider__bullets button.active {
	background-color: #E2001A;
	box-shadow:       none;
	border:           none;
}

/**************************************************************
 > Hero Slider
 **************************************************************/

.c-media-slider {
	margin-bottom: 40px !important;
	box-shadow:    none !important;
	border-radius: 0 !important;
}

@media screen and (min-width: 1024px) {
	.c-media-slider {
		margin-bottom: 100px !important;
	}
}

.c-media-slider.c-media-slider--hero {
	width:       calc(100% + 40px) !important;
	margin-left: -20px !important;
	border:      none !important;
	margin-top:  0 !important;
	height:      auto !important;
}

.slick-list {
	border-radius: 0 !important;
	box-shadow:    none !important;
	border:        none !important;
}

/**************************************************************
 > Bullet List
 **************************************************************/

.c-bullet-list__more {
	color:       #E2001A;
	font-family: Arial, sans-serif;
	font-weight: bold;
	font-size:   14px;
	line-height: 22px;
	cursor:      pointer;
	margin-top:  6px;
}

.c-bullet-list__list {
	margin-bottom:  24px;
	display:        flex;
	flex-direction: row;
}

.c-bullet-list__list-item {
	display:        flex;
	flex-direction: column;
}

.c-bullet-list__header-title {
	color:       #646363;
	font-family: Arial, sans-serif;
	font-size:   16px;
	font-weight: bold;
	line-height: 24px;
	word-break:  break-word;
}

@media screen and (min-width: 1024px) {
	.c-bullet-list__header-title {
		font-size:   18px;
		line-height: 32px;
	}
}

.c-bullet-list__img {
	width: 100%;
}

.c-bullet-list__img i {
	width:      100%;
	height:     100%;
	object-fit: cover;
}

.c-icon__bullet-list {
	color:        #5BA754;
	margin-right: 12px;
}

@media screen and (min-width: 1024px) {
	.c-icon__bullet-list {
		margin-right: 20px;
	}
}

.c-icon.c-icon__bullet-list:before {
	margin-right: 0;
	font-size:    24px;
}

@media screen and (min-width: 1024px) {
	.c-icon.c-icon__bullet-list:before {
		margin-right: 0;
		font-size:    30px;
	}
}

.c-bullet-list__header-overlay {
	color:          #646363;
	font-family:    'NorthernSoulCaps', serif;
	font-size:      40px;
	letter-spacing: 0;
	line-height:    45px;
	word-break:     break-word;
	margin-bottom:  24px;
}

@media screen and (min-width: 1024px) {
	.c-bullet-list__header-overlay {
		font-size:   50px;
		line-height: 60px;
	}
}

.c-bullet-list__sub-header {
	color:          #646363;
	font-family:    Arial, sans-serif;
	font-size:      16px;
	font-weight:    bold;
	letter-spacing: 0;
	line-height:    24px;
	word-break:     break-word;
	margin-bottom:  16px;
}

@media screen and (min-width: 1024px) {
	.c-bullet-list__sub-header {
		font-size:   24px;
		line-height: 32px;
		display:     block;
	}
}

.c-bullet-list__text {
	color:          #616161;
	font-family:    Arial, sans-serif;
	font-size:      18px;
	letter-spacing: 0;
	line-height:    28px;
	word-break:     break-word;
	margin-top:     16px;
}

.c-bullet-list__modal {
	visibility: hidden;
	height:     100vh;
	position:   fixed;
	top:        0;
	left:       0;
	z-index:    1000;
	background: #8b8b8b66;
	width:      100%;
}

.c-bullet-list__close {
	height:     16px;
	width:      25.75px;
	margin-top: 10px;
	font-size:  22px;
	cursor:     pointer;
}

.c-bullet-list__header-container {
	display:         flex;
	gap:             20px;
	justify-content: space-between;
}

.c-bullet-list__icon-right {
	margin-top:  5px;
	margin-left: 5px;
	position:    absolute;
}

.c-bullet-list__img-mobile {
	display: block;
}

@media screen and (min-width: 1024px) {
	.c-bullet-list__img-mobile {
		display: none;
	}
}

.c-bullet-list__img-desktop {
	display: none;
}

@media screen and (min-width: 1024px) {
	.c-bullet-list__img-desktop {
		display: block;
	}
}

.c-bullet-list__img .c-bullet-list__img-mobile i {
	width:      100%;
	height:     100%;
	object-fit: cover;
}

.c-bullet-list__img .c-bullet-list__img-desktop i {
	width:      100%;
	height:     100%;
	object-fit: cover;
}

.c-bullet-list__image {
	width:      100%;
	height:     100%;
	object-fit: cover;
}

.c-bullet-list__right-container {
	width:      100%;
	position:   fixed;
	right:      -100%;
	height:     100%;
	background: white;
	transition: all 0.5s;
	padding:    24px;
	overflow-y: auto;
}

@media screen and (min-width: 1024px) {
	.c-bullet-list__right-container {
		width:   50%;
		padding: 60px;
	}
}

/**************************************************************
 > Image
 **************************************************************/

.ce-image .image-embed-item {
	border-radius: 8px;
}
