@page {
	margin: 1cm 1cm 2cm 2cm;
	width: 21cm;
	height: 29.7cm;
}

@media print {

	* {-webkit-print-color-adjust: exact;}

	body {
		font-family: sans-serif;
		display: grid;
		grid-template-columns: 50% 50% !important;
		page-break-inside : avoid;
		width: 21cm;
		padding-top: 0;
	}

	h1 {
		font-size: 24pt;
		text-align: center;
	}

	h2 {
		font-size: 18pt;
		margin-top: 0;
	}

	p {
		font-size: 10pt;	
	}

	.after_li {
		display: none;
	}

	.progress-circle {
	    position: absolute;
	    font-size: 40px;
	    right: 40px;
	    top: 140px;
	    background-color: #eeeeee !important;
	}

	.progress-circle:after {
	    top: 0.5em;
	    left: 0.5em;
	    height: 4em;
	    width: 4em;
	    background-color: #ffffff;
	}

	#question_progress_label {
		color: #222222;
	}

	div.headline_wrapper {
		//height: 100px;
		position: initial;
		color: black;
		background: white !important;
	}

	div.headline_wrapper img {
		width: 200px;
    	padding: 10px 30px;
	}

	div.headline_wrapper .questions_headline {
		width: initial;
		margin: 0;
	}

	section.questions {
		width: 695px;
		padding: 0;
	}

	div.question_wrapper {
		width: 600px;
    	padding: 20px 45px 30px 45px;
    	border-right: 1px solid #eeeeee;
    	font-size: 18px;
	}

	div.question_wrapper button, 
	div.question_wrapper input, 
	div.question_wrapper select, 
	div.question_wrapper textarea {
		width: 100%;
		padding: 1%;
		border: 2px solid #000000;	
	}

	div.question_wrapper input {
		width: 97.2%;
	}

	div.question_wrapper .checkbox_wrapper input[type='checkbox'],
	div.question_wrapper input[type='radio'] ~ label {
		border: 2px solid #43a935;
		height: 40px;
		width: 40px;
		font-size: 20px;
	}

	div.question_wrapper input[type='radio'] ~ label:after, 
	div.question_wrapper .checkbox_wrapper input[type='checkbox']:after {
		border: 2px solid #ffffff;
	    position: absolute;
	    top: 2px;
	    bottom: 2px;
	    left: 2px;
	    right: 2px;
	}

	div.question_wrapper .checkbox_wrapper label {
		left: 70px;
	}

	button,
	div.question_wrapper.active:nth-child(3n) {
		border-radius: 2px;
	}

	div.question_wrapper p.questions_fieldset_label,
	div.question_wrapper fieldset.radio_set {
		width: 100%;
	}

	div.question_wrapper p.questions_fieldset_label span {
		width: 33.333333333333333333333333%;
		padding: 0;
		font-size: 12px;
	}

	div.question_wrapper p.questions_fieldset_label span:nth-child(1) {
		transform: translateX(2px);
	}

	div.question_wrapper p.questions_fieldset_label span:nth-child(3) {
		transform: translateX(-9px);
	}

	div.question_wrapper span {
		margin-right: 89.9999px;;
		font-size: 20px;
		width: 44px;
		display: inline-block;
	}

	section.button_wrapper {
		padding: 10px;
    	display: inline-block;
    	width: 265px;
    	position: absolute;
    	bottom: 15px;
    	right: 0;
	}

	body.result {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	div.headline_wrapper .result_headline {
		margin: 0 140px 15px 0 !important;
		font-size: 30px !important;
		text-align: left !important;
		/*width: 100%;*/
	}

	div.headline_wrapper {
		padding: 0 !important;
		height: initial;
	}

	body.result h2 {
		font-size: 24px;
		margin-top: 0;
	}

	section.payment_information p,
	section.jobsForYou #jobList,
	body.result p {
		font-size: 18px;	
	}

	section.result_tiles {
		grid-column-start: 1;
		grid-column-end: 3;
		padding: 0 45px;
	}

	section#result_tile_domain.result_tiles {
		padding-top: 45px;
	}

	h2.resultTileTitle {
		font-size: 12px !important;
	}

	section#result_tile_domain {
		grid-column-start: 1;
		grid-column-end: 2;
		grid-row-start: 2; 
		grid-row-end: 3;
	}

	section.description,
	section.jobsForYou {
		grid-column-start: 2;
		grid-column-end: 3;
		margin: 45px;		
	}

	section#footer {
		grid-column-start: 1;
		grid-column-end: 3;
		text-align: center;
		font-size: 8pt;
	}

	section.describeActivityHeadline,
	#jobsShowAll {
		grid-column-start: 1;
		grid-column-end: 3;
		padding: 0 45px;
	}

	section.describeActivity {
		padding: 0 45px;
	}

	#jobsShowAll .describeActivity {
		border-top: 1px solid #eee;
    	padding: 15px 0;
	}

	#jobsShowAll h2 {
		font-size: 24px !important;
	}

	#jobsShowAll h3 {
		font-size: 18px !important;
		margin-bottom: 10px;
	}

	#jobsShowAll p {
		font-size: 14px !important;
		margin-top: 5px;
	}

	div.result_tile {
		width: 60px;
		height: 60px;
		border-width: 2px;
	}

	div.result_tile span.result_tile_value {
		margin-left: -10px;
	}

	div.result_tile, div.result_tile * {
		font-size: 16px;
	}

	div.result_tile_wrapper {
		text-align: center;
		display: inline-block;
		width: 90px;
		margin: 0;
	}

	div.result_tile_wrapper h2 {
		font-size: 12px;
	}

	div.result_tile span.result_tile_value {
		transform: translate(-15%,-50%);
	}

	section.jobsForYou #jobList span.after_li {
		height: 15px;
    	width: 15px;
    	padding: 5px 5px;
    	line-height: 15px;
    	margin-left: 10px;
	}

	span.after_li:hover {
		cursor: pointer;
	}

	section.jobsForYou #jobList {
		padding: 10px 0px !important;
	}

	section#jobsForYou_1.jobsForYou {
		grid-column-start: 1;
    	grid-column-end: 2;
	}

	section.jobsForYou #jobList li{
		padding: 0 0 10px 0 !important;
	}

	section.jobsForYou h2 {
		margin: 5px 0px 20px 0px;
		padding-right: 20%;
	}

	#modal_tile_details {
		padding: 1% 20%;
	}

	#modal_tile_details h2 {
		font-size: 24px !important;
	}

	#modal_tile_details h3 {
		font-size: 18px !important;
		margin-bottom: 10px;
	}

	#modal_tile_details p {
		font-size: 14px !important;
		margin-top: 5px;
	}

	#modal_tile_details div.modal_inner {
		padding: 45px;
	}

	#modal_tile_details div.modal_inner button#modal_close {
		right: 15px;
	    top: 15px;
	    width: 30px;
	    height: 30px;
	    font-size: 15px;
	    margin: 0;
	    padding: 10px;
	    border-radius: 5px;
	    line-height: 12px;
	}

	#modal_tile_details div.modal_inner button#modal_back_to_prev_job {
		left: 15px;
	    top: 15px;
	    width: 250px;
	    height: 30px;
	    font-size: 15px;
	    margin: 0;
	    padding: 10px;
	    border-radius: 5px;
	    line-height: 12px;
	    position: absolute;
	    display: none;
	}


	#modal_tile_details div.modal_inner h2 {
		font-size: 24px;
		margin: 20px 0 45px 0;
	}

	#modal_tile_details div.modal_inner #modalText h2.modalAlternativesHeader {
		margin: 20px 0 15px 0;
	}

	#modal_tile_details div.modal_inner p {
		font-size: 18px;
	}

	.alternatives li {
		text-decoration: underline;
	}

	.alternatives li:hover {
		color: #525552;
		cursor: pointer;
	}

	button {
		font-size: 20px;
		padding: 10px 15px;
		border-radius: 5px;
		margin: 10px 5px;
	}

	#prevSet, #nextSet {
		width: 100px;
	}

	#showResult {
		width: 215px
	}

	section.payment_information h2 {
		font-size: 52px;
	}

	section.payment_information p.error {
		padding: 45px;
	}

	section.payment_information p.success {
		font-size: 52px;
	}

	span.after_li,
	section#modal_tile_details {
		display: none !important;
	}
}