/*
	Variables
*/
:root {
	--sso-color-white: #ffffff;
	--sso-color-primary: #ef7c00;
	--sso-color-primary-dark: #ef6400;
	--sso-color-primary-darker: #ef5600;
	--sso-color-gray-light: #afafaf;
	--sso-space-2xs: 5px;
    --sso-space-xs: 10px;
    --sso-space-s: 15px;
    --sso-space-m: 20px;
    --sso-space-l: 30px;
    --sso-space-xl: 40px;
    --sso-space-2xl: 60px;
    --sso-space-3xl: 100px;
    --sso-font-size-default: 16px;
    --sso-line-height-default: 1.3;
	--sso-font-family-primary: "Grotesque", arial, helvetica, sans-serif;
	--sso-font-family-secondary: "Druk", arial, helvetica, sans-serif;
}


/*
	Color Classes
*/
.sso-color-white { color: var(--sso-color-white) !important; }
.sso-color-primary { color: var(--sso-color-primary) !important; }
.sso-color-primary-dark { color: var(--sso-color-primary-dark) !important; }
.sso-color-primary-darker { color: var(--sso-color-primary-darker) !important; }
.sso-color-gray-light { color: var(--sso-color-gray-light) !important; }


/*
	Other
*/
body.hmg-sso-disable-scroll {
	overflow: hidden;
}

@media( max-width: 768px ) {
	.sso-hide-on-mobile {
		display: none !important;
	}
}

@media( min-width: 767px ) {
	.sso-hide-on-desktop {
		display: none !important;
	}
}


/*
	Buttons
*/
.sso-button {
	padding: var(--sso-space-xs) var(--sso-space-s);
	border: 1px solid var(--sso-color-primary);
	background-color: var(--sso-color-primary);
	cursor: pointer;
	margin: var( --sso-space-xs);
	display: inline-flex;
}

.sso-button:hover {
	filter: brightness(.9);
}

.sso-button__label {
	color: var(--sso-color-white);
	font-weight: 600;
	line-height: var(--sso-line-height-default);
}

.sso-button.sso-button--primary {
	background-color: var(--sso-color-primary);
	border: 1px solid var(--sso-color-primary);
}

.sso-button.sso-button--white {
	background-color: var(--sso-color-white);
	border: 1px solid var(--sso-color-white);
}

.sso-button.sso-button--white-outline {
	background-color: transparent !important;
	border-color: var(--sso-color-white);
}

.sso-button.sso-button--white-outline .sso-button__label {
	color: var(--sso-color-white);
}

.sso-button.sso-button--primary .sso-button__label {
	color: var(--sso-color-white);
}

.sso-button.sso-button--white .sso-button__label {
	color: var(--sso-color-primary);
}

.sso-button.sso-button--tiny,
.sso-user-menu__button {
	background-color: var(--sso-color-primary);
	padding: var(--sso-space-2xs) var(--sso-space-xs);
}

.sso-button.sso-button--tiny .sso-button__label,
.sso-user-menu__button .sso-button__label {
	color: var(--sso-color-white);
}


/*
	User Menu
*/
.sso-user-menu {
	display: flex;
	align-items: center;
	z-index: 100;
}

.sso-user-menu .sso-user-menu__action {
	display: inline-flex;
	align-items: center;
}

.sso-user-menu .sso-user-menu__action.sso-user-menu__action--user-abo,
.sso-user-menu .sso-user-menu__action.sso-user-menu__action--user-login,
.sso-user-menu .sso-user-menu__action.sso-user-menu__action--user-logout {
	margin-left: 1rem;
}

.sso-user-menu .sso-button--user-registration {
	margin-left: 30px;
}

@media( max-width: 980px ) {
	.sso-user-menu .sso-user-menu__action--user-display .sso-user-menu__action-label {
		max-width: 190px;
		width: 100%;
	}
}

	@media( max-width: 600px ) {
		.sso-user-menu .sso-user-menu__action--user-display .sso-user-menu__action-label {
			display: none;
		}
	}

.sso-user-menu .sso-user-menu__action .sso-user-menu__action-label {
	font-size: 16px;
	font-weight: 600;
	font-family: var(--sso-font-family-primary);
	cursor: pointer;
	line-height: 1.3;
	margin-bottom: -3px;
	max-width: 250px;
    text-overflow: ellipsis;
    overflow: hidden;
	color: #000;
}

.sso-user-menu .sso-user-menu__action .sso-user-menu__action-icon {
	margin-right: 10px;
}



/*
	SSO Modal
*/
.sso-modal {
	position: fixed;
	width: 100%;
	height: 100vh;
	background-color: rgba( 0, 0, 0, .5 );
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
	display: none;
	z-index: 10000;
	transition: 300ms;
	line-height: var(--sso-line-height-default);
}

	@media( max-width: 768px ) {
		.sso-modal {
			align-items: flex-end;
			display: flex;
			pointer-events: none;
			opacity: 0;
		}
	}

.sso-modal.sso-modal--open {
	display: flex;
}

	@media( max-width: 768px ) {
		.sso-modal.sso-modal--open {
			transform: translateY( 0 );
			opacity: 1;
		}
	}

.sso-modal .sso-modal__window {
	background-color: var(--sso-color-white);
	max-width: 100%;
	min-width: 420px;
	width: auto;
	padding: 30px;
}

	@media( max-width: 768px ) {
		.sso-modal .sso-modal__window {
			max-width: 100%;
			width: 100%;
			transform: translateY( 100% );
			transition: 500ms;
			pointer-events: all;
			height: 50vh;
			min-height: 450px;
		}
				
		.sso-modal.sso-modal--open .sso-modal__window {
			transform: translateY( 0 );
		}
	}

.sso-modal .sso-modal__window .sso-modal__close {
	margin-right: 0;
	margin-left: auto;
	display: block;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='15' viewBox='0 0 16 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.946251 0.146447C1.14151 -0.0488155 1.4581 -0.0488155 1.65336 0.146447L8.2998 6.79289L14.9463 0.146447C15.1415 -0.0488155 15.4581 -0.0488155 15.6534 0.146447C15.8486 0.341709 15.8486 0.658291 15.6534 0.853553L9.00691 7.5L15.6534 14.1464C15.8486 14.3417 15.8486 14.6583 15.6534 14.8536C15.4581 15.0488 15.1415 15.0488 14.9463 14.8536L8.2998 8.20711L1.65336 14.8536C1.4581 15.0488 1.14151 15.0488 0.946251 14.8536C0.750989 14.6583 0.750989 14.3417 0.946251 14.1464L7.5927 7.5L0.946251 0.853553C0.750989 0.658291 0.750989 0.341709 0.946251 0.146447Z' fill='black'/%3E%3C/svg%3E");
	background-repeat: no-repeat no-repeat;
	background-position: center center;
	background-size: contain;
	width: 15px;
	height: 15px;
	cursor: pointer;
}

.sso-modal .sso-modal__window .sso-modal__user-menu-userdata {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.sso-modal .sso-modal__window .sso-modal__user-menu-header {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

	@media( max-width: 768px ) {
		.sso-modal .sso-modal__window .sso-modal__user-menu-header,
		.sso-modal .sso-modal__window .sso-modal__user-menu-header .sso-modal__user-menu-header-inner {
			width: 100%;
		}
	}

.sso-modal .sso-modal__window .sso-modal__user-menu-avatar {
	min-width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--sso-color-primary);
	color: var(--sso-color-white);
	margin-right: 10px;
	border-radius: 50%;
	font-family: var(--sso-font-family-secondary) !important;
	font-size: 26px !important;
}

.sso-modal .sso-modal__window .sso-modal__user-menu-initials {
	text-transform: uppercase;
}

.sso-modal .sso-modal__window .sso-modal__user-menu-userinfo {
	display: flex;
	flex-direction: column;
	padding-left: 54px;
}

.sso-modal .sso-modal__window .sso-modal__user-menu-name {
	font-weight: 600;
	font-size: 24px;
	line-height: 1.33;
	font-family: var(--sso-font-family-primary);
	max-width: 350px;
	text-overflow: ellipsis;
	overflow: hidden;
	margin: 0 !important;
}

	@media( max-width: 768px ) {
		.sso-modal .sso-modal__window .sso-modal__user-menu-name {
			max-width: calc( 100% - 54px );
		}
	}
	
.sso-modal .sso-modal__window .sso-modal__user-menu-email {
	margin: 0 !important;
}

.sso-modal .sso-modal__window .sso-modal__user-menu-settings {
	padding-top: 40px;
	margin-top: 40px;
	border-top: 1px solid rgba( 0, 0, 0, .1 );
}

.sso-modal .sso-modal__window .sso-modal__user-menu-settings a {
	color: #000;
}

@media( max-width: 400px ) {
	.sso-modal .sso-modal__window .sso-modal__user-menu-email {
		display: none;
	}
}



/*******************************
page-header
*******************************/
.page-header__image {
	position: relative;
}

.page-header__image .wrapper {
	max-width: 1220px;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
	position: absolute;
	left: 50%;
	top: 150px;
	transform: translateX( -50% );
	z-index: 3;
	color: #fff !important;
}

.page-header .pw-premium {
	border: 1px solid #fff;
    display: inline-block;
    margin-right: 5px;
    padding: 3px 5px;
    font-size: 12px;
    line-height: 12px;
    position: relative;
    top: -4px;
    text-transform: uppercase;
}

.page-header__image .wrapper h1 {
	color: #fff !important;
}

.page-header__image img {
	object-fit: cover;
	height: 480px;
	max-height: 480px !important;
	z-index: 1;
	display: block;
}

.page-header__image::after {
	content: "";
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.25);
	z-index: 2;
	position: absolute;
}

.page-header .cs-post-sub-line h2 {
	font-size: 48px;
    line-height: 52px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
	.page-header .cs-post-sub-line .h1 {
	    font-size: 32px !important;
		line-height: 36px !important;
	}
	
	.page-header__image .wrapper {
		top: 30px;
	}
	
	.page-header__image .wrapper .h1 {
	    font-size: 30px;
	}
	
	.page-header__image img {
		height: 320px;
	}
}

/*******************************
paywall
*******************************/

.paywall-content {
	max-width: 375px;
	margin: 0 auto;
}

:not(.modal-content-wrapper) > .paywall-content {
    padding: 40px;
    border: 1px solid var(--color-shade);
    max-width: 500px;
}

.paywall-content .paywall-content__headline {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: .6rem;
}

.paywall-content .paywall-content__headline.paywall-content__headline--button {
	font-size: 1rem;
}

.paywall-content .paywall-content__block:not(:last-child), .paywall-content .paywall-content__text--explain:not(:last-child) {
	margin-bottom: 2rem;
}

.paywall-content .paywall-content__text p {
	margin-bottom: 1rem;
}

.paywall-content .paywall-content__text a {
	color: var(--color-primary);
}

.paywall-content .paywall-content__button.primary {
	background-color: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}

.paywall-content .paywall-content__button.outline {
	background-color: #fff;
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.paywall-content .paywall-content__button.outline:hover {
	background-color: #fff;
	border-color: var(--color-primary-dark);
	color: var(--color-primary-dark);
}

.paywall-content .paywall-content__info-text {
	font-size: 14px;
	color: #666666;
	margin-top: 0.5rem;
}

.paywall-content .paywall-content-separator {
	margin-top: 2rem;
	margin-bottom: 2rem;
	border-top: 1px solid rgba( 0, 0, 0, .1 );
	position: relative;
}

.paywall-content .paywall-content-separator__text {
	position: absolute;
	padding: 0 5px;
	background-color: #fff;
	top: 0;
	left: 50%;
	transform: translate( -50%, -50% );
	z-index: 1;
	display: inline-block;
	color: #AFAFAF;
}