
.contentblock {
	margin-top: 1em;
}

	.contentblock .contentblock:first-child {
		margin-top: 0;
	}

	.contentblock .width .width {
		padding-left: 0;
		padding-right: 0;
	}

.contentblock-raffle {
	margin: var(--spacing) 0 calc(2 * var(--spacing));
}

	.contentblock-raffle .np-raffle-form {
		margin: 1em 0;
		position: relative;
	}

		.contentblock-raffle .np-raffle-form.loading:after {
			content: "";
			display: block;
			width: 100%;
			height: 100%;
			background: rgba(255,255,255,0.8) url(../img/icons/loading.svg) no-repeat center center / 40px auto;
			position: absolute;
			left: 0;
			top: 0;
			z-index: 20;
		}

		.contentblock-raffle .np-raffle-form .np-raffle-form-fields {
			display: flex;
			justify-content: space-between;
			align-items: flex-end;
			flex-wrap: wrap;
			margin-bottom: 1em;
		}

			.contentblock-raffle .np-raffle-form .np-raffle-form-fields label {
				width: calc(50% - 10px);
			}

		.contentblock-raffle .np-raffle-form label {
			display: block;
			width: 100%;
			margin-top: 0.5em;
		}
		
			.contentblock-raffle .np-raffle-form button {
				margin-top: 1em;
			}
		
			.contentblock-raffle .np-raffle-form label input {
				width: 100%;
			}
			
				.contentblock-raffle .np-raffle-form label input[type="checkbox"] {
					width: auto;
				}

		.contentblock-raffle .np-raffle-form .np-raffle-form-message {
			background: #eee;
			padding: 10px;
			display: block;
		}
		
			.contentblock-raffle .np-raffle-form .np-raffle-form-message.np-raffle-form-success {
				color: var(--color-success);
			}

			.contentblock-raffle .np-raffle-form .np-raffle-form-message.np-raffle-form-error {
				color: var(--color-warning);
			}

	@media ( max-width: 640px ) {

		.contentblock-raffle .np-raffle-form .np-raffle-form-fields label {
			width: 100%;
		}

	}

.contentblock-image {
	margin: var(--spacing) 0;
	text-align: center;
}

	.contentblock-image a {
		text-decoration: none;
	}

		.contentblock-image a:hover {
			color: inherit;
		}

	.contentblock-image img {
		margin: 0 auto;
	}

	.contentblock-image .image-link {
		display: inline-block;
		text-align: left;
	}

	.contentblock-image .image-description {
		display: block;
		margin-top: 5px;
	}

	.contentblock-image .image-meta {
		display: block;
		font-size: 0.8em;
		margin-top: 5px;
	}

		.contentblock-image .image-description + .image-meta {
			margin-top: 0;
		}

	.contentblock-image.contentblock-fullwidth {
		margin: calc(2 * var(--spacing)) 0;
	}
		.contentblock-image.contentblock-fullwidth:first-child {
			margin-top: 0;
		}

		.contentblock-image.contentblock-fullwidth img {
			width: 100%;
		}

	.contentblock-image .button {
		text-transform: uppercase;
	}

.contentblock-image-image {
	text-align: center;
	margin: var(--spacing) 0;
}

	.contentblock-image-image .columns-2 {
		align-items: center;
	}

		.contentblock-image-image .columns-2 .column {
			width: calc(50% - calc(var(--spacing) / 2 ));
		}

		.contentblock-image-image .column-content {
			display: block;
			width: 100%;
			margin: 0 auto;
		}

		.contentblock-image-image.contentblock-layout-small-left .column-1 .column-content,
		.contentblock-image-image.contentblock-layout-small-right .column-2 .column-content {
			width: 90%;
		}

.contentblock-text-image {
	margin: var(--spacing) 0;
}

.contentblock-quote {
	margin: calc(2 * var(--spacing)) 0;
}

	.contentblock-quote footer {
		display: block;
		font-size: 0.7em;
	}

.contentblock-listicle {
	margin: calc(2 * var(--spacing)) 0;
}

	.contentblock-listicle .listicle-list {
		list-style-type: none;
		padding: 0;
		margin: 0;
		display: block;
		counter-reset: listicle;
	}

		.contentblock-listicle .listicle-list li {
			display: block;
			counter-increment: listicle;
		}
		
			.contentblock-listicle .listicle-list li + li {
				margin-top: calc(2 * var(--spacing));
			}
		
			.contentblock-listicle .listicle-list li:nth-child(2n-1) .columns-2 .column-1 {
				order: 2;
			}
			
			.contentblock-listicle .listicle-list li:nth-child(2n-1) .columns-2 .column-2 {
				order: 1;
			}

		.contentblock-listicle .listicle-list li .column-1:before {
			content: counter(listicle);
			line-height: 0.7;
			margin-bottom: 0.2em;
			font-size: 9em;
			font-weight: var(--font-default-weight-thin);
			display: block;
		}

		.contentblock-listicle .listicle-list li .headline {
			display: block;
		}
		
		.contentblock-listicle .listicle-list li .text {
			display: block;
			margin-top: 1em;
		}
		
		.contentblock-listicle .listicle-list li a {
			text-decoration: none;
		}

		.contentblock-listicle .listicle-list li .link-title {
			display: block;
			margin-top: 5px;
		}

		.contentblock-listicle .listicle-list li .link-meta {
			display: block;
			font-size: 0.8em;
			margin-top: 5px;
		}

			.contentblock-listicle .listicle-list li .link-title + .link-meta {
				margin-top: 0;
			}

	@media ( max-width: 640px ) {

		.contentblock-listicle .listicle-list li .columns-2 .column-1 {
			order: 2;
			margin-top: 1em;
		}
		
		.contentblock-listicle .listicle-list li .columns-2 .column-2 {
			order: 1;
			margin-top: 0;
		}

	}

.contentblock-shopping {
	position: relative;
	margin: var(--spacing) 0;
}

	.contentblock-shopping .column-1 {
		position: sticky;
		top: 20px;
	}

	.contentblock-shopping .link-list {
		list-style-type: none;
		padding: 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 20px 20px;
	}
	
		.contentblock-shopping .link-list li {
			width: calc(50% - 10px);
			order: 9;
		}
		
			.contentblock-shopping .link-list li:nth-child(1) {order: 1;}
			.contentblock-shopping .link-list li:nth-child(2) {order: 2;}
			.contentblock-shopping .link-list li:nth-child(3) {order: 3;}
			.contentblock-shopping .link-list li:nth-child(4) {order: 4;}
			.contentblock-shopping .link-list li:nth-child(5) {order: 5;}
			.contentblock-shopping .link-list li:nth-child(6) {order: 6;}
			.contentblock-shopping .link-list li:nth-child(7) {order: 7;}
			.contentblock-shopping .link-list li:nth-child(8) {order: 8;}
			.contentblock-shopping .link-list li:nth-child(9) {order: 9;}
			.contentblock-shopping .link-list li:nth-child(10) {order: 10;}
			.contentblock-shopping .link-list li:nth-child(11) {order: 11;}
			.contentblock-shopping .link-list li:nth-child(12) {order: 12;}
			.contentblock-shopping .link-list li:nth-child(13) {order: 13;}
			.contentblock-shopping .link-list li:nth-child(14) {order: 14;}
			.contentblock-shopping .link-list li:nth-child(15) {order: 15;}
			.contentblock-shopping .link-list li:nth-child(16) {order: 16;}
			.contentblock-shopping .link-list li:nth-child(17) {order: 17;}
			.contentblock-shopping .link-list li:nth-child(18) {order: 18;}
			.contentblock-shopping .link-list li:nth-child(19) {order: 19;}
			.contentblock-shopping .link-list li:nth-child(20) {order: 20;}

			.contentblock-shopping .link-list li.contentblock-quote {
				width: 100%;
				order: 2;
			}

				.contentblock-shopping .link-list:has(li:nth-child(6)) li.contentblock-quote {
					order: 4;
				}

				.contentblock-shopping .link-list:has(li:nth-child(8)) li.contentblock-quote {
					order: 6;
				}
		
		.contentblock-shopping .link-list a {
			text-decoration: none;
		}
		
			.contentblock-shopping .link-list a:hover {
				color: inherit;
			}

		.contentblock-shopping .link-list .link-title {
			display: block;
		}

		.contentblock-shopping .link-list .link-meta {
			display: block;
			font-size: 0.8em;
		}

		.contentblock-shopping .contentblock-quote {
			margin: 30px 0 0;
		}

	.contentblock-shopping.contentblock-layout-thumbnails {
	}
	
		.contentblock-shopping.contentblock-layout-thumbnails .link-list li {
			width: calc(25% - 20px);
		}
		
			.contentblock-shopping.contentblock-layout-thumbnails .link-list li .link-content {
				display: flex;
				flex-direction: column;
			}
			
			.contentblock-shopping.contentblock-layout-thumbnails .link-list li .link-content img {
				order: 0;
			}
			
			.contentblock-shopping.contentblock-layout-thumbnails .link-list li .link-content .link-meta {
				order: 1;
				margin: 10px 0 0;
			}

			.contentblock-shopping.contentblock-layout-thumbnails .link-list li .link-content .link-title {
				order: 2;
				margin: 0;
			}

	@media ( max-width: 640px ) {

		.contentblock-shopping .column-1 {
			position: static;
		}

	}

.contentblock-cta {
	background: var(--color-text);
	color: var(--color-text-inverted);
	padding: var(--spacing) 0;
	position: relative;
}

	.contentblock-cta > .width {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}

	.contentblock-cta .cta-content {
		max-width: calc(100% - 300px);
	}

		.contentblock-cta .cta-arrow {
			pointer-events: none;
			width: 300px;
			background: url(../img/icons/cta_arrow.svg) no-repeat right center / contain;
			-webkit-transition: all 200ms ease-in-out;
			-o-transition: all 200ms ease-in-out;
			transition: all 200ms ease-in-out;
		}

			.contentblock-cta:hover .cta-arrow {
				-moz-transform: translate(20px, 0px);
				-webkit-transform: translate(20px, 0px);
				-o-transform: translate(20px, 0px);
				-ms-transform: translate(20px, 0px);
				transform: translate(20px, 0px);
			}

	.contentblock-cta a {
		color: inherit;
	}

	.contentblock-cta p {
		margin: 0;
		text-wrap: balance;
	}

	.contentblock-cta .button-wrapper {
		display: block;
		margin-top: var(--spacing);
	}
	
		.contentblock-cta .button-wrapper:after {
			content: '';
			display: block;
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
		}

	@media ( max-width: 940px ) {

		.contentblock-cta .cta-content {
			max-width: 100%;
		}

		.contentblock-cta .cta-arrow {
			display: none;
		}

	}

.contentblock-spacing {
	height: var(--spacing);
}

	.contentblock-spacing.contentblock-layout-1-2 {
		height: calc(var(--spacing) / 2);
	}
	
	.contentblock-spacing.contentblock-layout-2 {
		height: calc(var(--spacing) * 2);
	}

	.contentblock-spacing.contentblock-layout-3 {
		height: calc(var(--spacing) * 3);
	}

	.contentblock-spacing.contentblock-layout-4 {
		height: calc(var(--spacing) * 4);
	}

.contentblock-gallery {

}

	.contentblock-gallery .gallerylist {

	}
	
		.contentblock-gallery .gallerylist .caption {
			display: block;
			margin-top: 0.5em;
		}

			.contentblock-gallery .gallerylist .caption > *:first-child {
				margin-top: 0;
			}
	
		.contentblock-gallery .gallerylist li + li {
			margin-top: var(--spacing);
		}
