
:root {
	--c_skyblue: 0, 179, 236;
	--c_energetic: 100, 29, 102;

	--default_btn: #222123;

	--gradient: linear-gradient(135deg, rgb(var(--c_energetic)), rgb(var(--c_skyblue)));


	--default_gutter: clamp(15px, 2vw, 25px);

	--fz_10: 13px;
	--fz_15: 15px;
	--fz_30: clamp(22px, 4vw, 28px);
	--fz_35: clamp(24px, 5vw, 36px);
    --fz_50: clamp(36px, 7vw, 60px);
	--fz_100: clamp(42px, 33vw, 200px);


	--spacing_10: clamp(10px, 1vw, 20px);
	--spacing_20: clamp(20px, 1vw, 40px);
	--spacing_30: clamp(40px, 1vw, 60px);
	--spacing_40: clamp(60px, 1vw, 100px);
	--spacing_50: clamp(100px, 1vw, 150px);
	--spacing_60: clamp(150px, 1vw, 200px);
	--spacing_70: clamp(200px, 1vw, 250px);
}

.mt_10 {margin-top: var(--spacing_10);}
.mt_20 {margin-top: var(--spacing_20);}
.mt_30 {margin-top: var(--spacing_30);}
.mt_40 {margin-top: var(--spacing_40);}
.mt_50 {margin-top: var(--spacing_50);}
.mt_60 {margin-top: var(--spacing_60);}
.mt_70 {margin-top: var(--spacing_70);}
.mb_10 {margin-bottom: var(--spacing_10);}
.mb_20 {margin-bottom: var(--spacing_20);}
.mb_30 {margin-bottom: var(--spacing_30);}
.mb_40 {margin-bottom: var(--spacing_40);}
.mb_50 {margin-bottom: var(--spacing_50);}
.mb_60 {margin-bottom: var(--spacing_60);}
.mb_70 {margin-bottom: var(--spacing_70);}

.pt_10 {padding-top: var(--spacing_10);}
.pt_20 {padding-top: var(--spacing_20);}
.pt_30 {padding-top: var(--spacing_30);}
.pt_40 {padding-top: var(--spacing_40);}
.pt_50 {padding-top: var(--spacing_50);}
.pt_60 {padding-top: var(--spacing_60);}
.pt_70 {padding-top: var(--spacing_70);}
.pb_10 {padding-bottom: var(--spacing_10);}
.pb_20 {padding-bottom: var(--spacing_20);}
.pb_30 {padding-bottom: var(--spacing_30);}
.pb_40 {padding-bottom: var(--spacing_40);}
.pb_50 {padding-bottom: var(--spacing_50);}
.pb_60 {padding-bottom: var(--spacing_60);}
.pb_70 {padding-bottom: var(--spacing_70);}

.fz_10 {
	font-size: var(--fz_10);
}
.fz_15 {
	font-size: var(--fz_15);
}
.fz_30 {
	font-size: var(--fz_30);
}
.fz_35 {
	font-size: var(--fz_35);
}
.fz_50 {
	font-size: var(--fz_50);
}
.fz_100 {
	font-size: var(--fz_100);
}

.fw_bold {
	font-weight: 700;
}
.fw_light {
	font-weight: 300;
}

p {
	line-height: 1.3em;
}

.fs_outline {
    color: transparent; /* Makes the text fill transparent */
    -webkit-text-stroke: 2px #fff; /* Outline color and thickness */
    text-stroke: 2px #fff; /* For future browser support */
}

.fs_faded {
	opacity: 0.2;
}

.fc_light {
	--color: #ffffff;
	color: #FFFFFF;
}
.fc_dark {
	--color: #000;
	color: #000;
}



body {
	font-family: var(--font_1);
	/*background: linear-gradient(116deg, #621D66 2.14%, #773C85 22.4%, #85529C 33.98%, #616BB1 53.27%, #07ADE7 94.76%, #00B3EC 98.62%), #FFF;*/
	background-color: #04343F;
	color: #fff;
}
h1 { color:#FF972D; }
#page_wrapper {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.footer {
	display: flex;
	justify-content: flex-end;
	position: relative;
}

.footer .logo_container {
	padding: 30px;
}
.footer .logo_bookmark {
	opacity: .07;
	position: absolute;
	right: 0;
	bottom: 0;
	pointer-events: none;
} 

#content_wrapper {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    gap: clamp(10px, 4vw, 60px);
	padding: 100px clamp(10px, 3vw, 30px) 0px clamp(10px, 3vw, 30px);
}

@media only screen and (max-width: 1100px) {
	#content_wrapper {
		flex-wrap: wrap;
	}
	#content_wrapper .nav_sidebar_wrapper {
		flex: 1 1 100%;
	}
	#content_wrapper .email_template {
		flex: 1 1 0%;
	}
}


@media only screen and (max-width: 800px) {
	#content_wrapper .send_mail_container {
		max-width: 100%;
	}
	#content_wrapper .send_mail_container,
	#content_wrapper .email_template {
		flex: 1 1 100%;
	}
}

.form_container {
	width: 100%;
    text-align: left;
}

.text-center {
	text-align: center;
}

form#send_mail {
	max-width: 100%;
	width: 1170px;
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
form#send_mail label {
	width: 100%;
}
form#send_mail > div {
	flex: 1 1 100%;
}

.confirmation {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
}
.confirmation .header img {
	max-width: 200px;
	margin: 0 auto;
	display: block;
}
.confirmation .header {
	margin-bottom: -30px;
}

.confirmation.hidden {
	display: none;
}

.error_msg {
	margin-top: 10px;
}

.send_mail_container {
	width: 100%;
	max-width: 40%;
	margin: 0 auto;
}

.login_form_container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.btn_container {
	display: flex;
	align-items: flex-start;
}


.form_btn .ff-btn,
.btn {
	border-width: 2px;
	border-style: solid;
	border-radius: 200px;
	display: inline-block;
	text-align: center;
    padding: 13px 20px 11px;
	line-height: 0.9em;
	font-weight: 700;
	cursor: pointer;
}

.btn.fz_20 {
	min-width: 200px;
}
.form_btn .ff-btn {
    background: transparent;
    border-color: var(--default_btn);
    color: var(--default_btn);
}
.btn.fill {
	border: 0px;
	background: var(--gradient);
	color: #FFFFFF;
}
.btn.fill.bgc_white {
	background: #FFFFFF;
	color: var(--default_btn);
}

.btn .text {
	font-weight: 700;
	font-size: 16px;
}

.navigation {
    width: 100%;
    top: 0;
    left: 0;
    z-index: 99;
    background: rgba(255,255,255,0.1);    	
}
.navigation nav {
	display: flex;
    justify-content: space-between;
    max-width: 1200px;
    padding: 0 15px;
    margin: 0 auto;
    height: 99px;
    align-items: center;
}

.navigation .logo {
    max-width: 170px;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 99;
}
.navigation .logo .tagline {
	position: absolute;
}
.navigation ul {
	display: flex;
}
.navigation li {
	list-style-type: none;
}
.navigation a {
	color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 5px;
    margin: 0 5px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.navigation a:hover {
    color: #8d8d8d;
}

.navigation li.current a {
	color: rgb(var(--c_skyblue));
}

.burger_menu {
	position: relative;
	width: 30px;
	height: 30px;
	z-index: 99;
	display: none;
}

.burger_menu span {
	position: absolute;
	height: 3px;
	width: 100%;
	left: 0;
	background: #202020;
}

.burger_menu.animin span {
	transition: 0.2s top ease, 0s width linear 0.2s, transform 0.3s ease 0.2s;
}

.burger_menu.animout span {
	transition: 0.2s transform ease, 0s width linear 0.2s, top 0.3s ease 0.2s;
}

.burger_menu span:nth-child(1) {
	top: 0px;
	
}
.burger_menu span:nth-child(2) {
	top: 10px;
}
.burger_menu span:nth-child(3) {
	top: 20px;
}

.burger_menu_open .burger_menu span:nth-child(1) {
	top: 10px;
	transform: rotate(45deg);
}
.burger_menu_open .burger_menu span:nth-child(2) {
	width: 0%;
}
.burger_menu_open .burger_menu span:nth-child(3) {
	top: 10px;
	transform: rotate(-45deg);
}



form input, form select {
    height: 52px;
    padding: 8px 25px;
    background-color: #fff;
    border: 0px solid transparent;
    border-radius: 5px;
    font-size: var(--fz_15);
    color: black;
    font-weight: 400;
    box-shadow: none;
    -moz-appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_1);
    display: block;
   outline: 0; 
   width: 100%;
   margin-bottom: 20px;
   text-align: left;
}

form input[type="checkbox"],
form input[type="radio"] {
	height: 20px;
	width: 20px;
	flex: 0 0 auto;
	padding: 0;
	margin-right: 10px;
	border-radius: 50%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

input[type="radio"]::before {
	content: "";
	display: block;
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em #000;
  }
  
  input[type="radio"]:checked::before {
	transform: scale(1);
  }

.radio_container {
	display: flex;
	align-items: center;
}
.radio_container label {
	margin: 0 0 0 10px;
}

.nav_sidebar_wrapper {
	flex: 1 0 auto;
}

.nav_sidebar_wrapper ul {
	padding: 0;
	margin: 0;
}
.nav_sidebar_menu_item {
	list-style-type: none;
	padding: 15px 20px;
	border-radius: 5px;
}
.nav_sidebar_menu_item.active {
	background: rgba(255,255,255,0.1);
}
.nav_sidebar_menu_item a {
	color: #fff;
	font-weight: 700;
}

.email_template {
	position: relative;
	color: #000;
	border-radius: 5px;
	width: 100%;
	font-size: var(--fz_10);
	overflow: hidden;
}

.email_template .email_content {
	background: #fff;
}
.email_template.hidden .email_content {
	opacity: 0;
	visibility: hidden;
}

.email_template .input_container {
	padding: 12px 20px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}

.email_template .input_container.email_body {
	border-bottom: 0;
}

.email_body p {
	color: #000;
}

.email_template .input_container p > span {
	min-width: 60px;
}

form input.error, form select.error {
	border: 1px solid red;
}

form input[type="submit"] {
	width: auto;
	background: transparent;
	color: #ffffff;
	border-radius: 50px;
	cursor: pointer;
	border: 2px solid #fff;
}

form label {
	display: inline-block;
    max-width: 100%;
    margin-bottom: 10px;
    font-weight: 700;
}

.sign_out {
    position: absolute;
    bottom: 100%;
    right: 0;
    color: #202020;
    font-weight: 700;
    font-size: 16px;
    padding: 10px;
}

.title_container {
	display: flex;
	align-items: center;
}
.title_container .bg_title {
	position: absolute;
}

.dashboard_container {
	max-width: calc(100% - 30px);
	width: 1170px;
}	

.link_container {
  display: flex;
  grid-gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
}
.link_container .cta_link {
	--column_count: 4;
	--column_gap: 30px;
	max-width: calc((100% / var(--column_count)) - (var(--column_gap) * (var(--column_count) - 1) / (var(--column_count))));
	display: flex;
	justify-content: center;
	align-items: center;	
	min-height: 100px;
	padding: 25px;
	text-align: center;
	color: #202020;
	background: #eee;
	width: 100%;
	font-weight: 700;
    border-radius: 20px;
    transition: all 0.3s ease;	
}

.link_container .cta_link:hover {
	transform: scale(0.95);
}

.spinner_overlay {
	position: absolute;
	background: rgba(255,255,255,0.8);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s ease;
}

.spinner_overlay.show {
	opacity: 1;
	visibility: visible;
}
.spinner {
    position: absolute;
    left: calc(50% - 30px);
    top: calc(50% - 30px);
    height: 60px;
    width: 60px;
    margin: 0px auto;
    -webkit-animation: rotation .8s infinite linear;
    -moz-animation: rotation .8s infinite linear;
    -o-animation: rotation .8s infinite linear;
    animation: rotation .8s infinite linear;
    border-left: 6px solid rgb(0 0 0 / 0%);
    border-right: 6px solid rgb(0 0 0 / 0%);
    border-bottom: 6px solid #00B3EC;
    border-top: 6px solid #00B3EC;
    border-radius: 100%;
}

@-webkit-keyframes rotation {
   from {-webkit-transform: rotate(0deg);}
   to {-webkit-transform: rotate(359deg);}
}
@-moz-keyframes rotation {
   from {-moz-transform: rotate(0deg);}
   to {-moz-transform: rotate(359deg);}
}
@-o-keyframes rotation {
   from {-o-transform: rotate(0deg);}
   to {-o-transform: rotate(359deg);}
}
@keyframes rotation {
   from {transform: rotate(0deg);}
   to {transform: rotate(359deg);}
}
@media only screen and (max-width: 1050px) {
.link_container .cta_link {
	--column_count: 2;
}
}
@media only screen and (max-width: 767px) {
	.btn_container {
		flex-direction: column;
	}
	form#send_mail > div {
	    flex: 1 1 100%;
	}	
	.btn.reset_form {
		margin-left: 0;
	}

	.navigation ul {
		position: absolute;
		left: 0;
		top: -100vh;
		width: 100%;
		height: 100vh;
		background: rgb(255 255 255 / 1);
		z-index: 75;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		overflow-y: scroll;
		transition: top 0.6s ease;	
	}

	.burger_menu_open .navigation ul {
		top: 0vh;
	}

	.navigation a {
	    margin: 10px 5px;
	    font-size: 18px;
	    display: block;
	}
	.burger_menu {
		display: block;
	}		
}
@media only screen and (max-width: 420px) {
	.link_container .cta_link {
		--column_count: 1;
	}
}
.produkt-selection {
	margin-bottom: 20px;
}
.personal-information {
	margin-bottom: 40px;
}
.salesperson {

}
.field {
	display: flex;
	gap: 20px;
	align-items: center;
}
form#send_mail .field label
{
	max-width: 150px;
}
form input[type="submit"].send_mail_btn {
	background-color: #FF972D;
	color: #fff;
	border:0 none;
}
.success .formConfirmationTitle span { font-size:24px; color:#FF972D; }
.failure .formConfirmationTitle span { font-size:24px; color:#fff; }
.success .btn { background-color:#FF972D; border:0 none; }