/*
Theme Name: dufa co prints
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}

body {
	line-height: 1
}

button {
	outline: 0
}

ol, ul {
	list-style: none
}

blockquote, q {
	quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none
}

q {
	display: inline;
	font-style: italic
}

q:before {
	content: '"';
	font-style: normal
}

q:after {
	content: '"';
	font-style: normal
}

textarea, input[type="text"], input[type="reset"], input[type="search"], input[type="password"] {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

th, td {
	padding: 2px
}

big {
	font-size: 120%
}

small, sup, sub {
	font-size: 80%
}

sup {
	vertical-align: super
}

sub {
	vertical-align: sub
}

dd {
	margin-left: 20px
}

kbd, tt {
	font-family: courier;
	font-size: 12px
}

ins {
	text-decoration: underline
}

del, strike, s {
	text-decoration: line-through
}

dt {
	font-weight: bold
}

address, cite, var {
	font-style: italic
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}

* {
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent
}

.sticky {}

.bypostauthor {}

.wp-caption {}

.wp-caption-text {}

.gallery-caption {}

.alignright {}

.alignleft {}

.aligncenter {}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important
}

@font-face {
	font-family: 'Monospace 821';
	src: url('library/fonts/Monospace821BT-Bold.woff2') format('woff2'),
		url('library/fonts/Monospace821BT-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	/*	font-display: swap;*/
}

.image-wrap {
	float: left;
	width: 16.66%;
	height: auto;
}

.image-wrap img {
	max-width: 100%;
	float: left;
}

html, body, object {
	width: 100%;
	max-width: 100%;
	font-family: 'Monospace 821';
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
	/* font-size: 20px; */
	line-height: 1.2;
}

body {
	min-height: 94vw;
}

.view-detail-large {
	font-size: 10vh;
	color: black;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: fixed;
	z-index: 9999;
	width: 100%;
	pointer-events: none;
	display: none;
	text-align: center;
	max-width: 100%;
	/*
	color: white;
	mix-blend-mode: difference;
	*/

}

#repetition-off.archive {
	display: none;

}

.repeat-button.archive #repetition-on {
	display: block;
}

.repeat-button {
	margin-top: 0px;
}

.repeat-button.home {
	position: fixed;
	/* bottom: 33px; */
	bottom: 40px;
	left: 3px;
	opacity: 0;
	z-index: 999;
}

#repetition-on.home {
	display: none;
}

#images {
	position: fixed;
	width: 100%;
}

#images img {
	width: 100%;
}

.box {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*# # # # # # TYPO # # # # # #*/
a {
	text-decoration: none;
	color: inherit;
}

p a {
	text-decoration: underline;
}

body {
	font-family: 'Monospace 821';
	width: 100%;
	text-align: left;
	float: left;
	position: relative;
	-webkit-overflow-scrolling: touch !important;
	overflow: auto !important;
	height: 100% !important;
}

/*# # # # # # HEADER # # # # # #*/
header {
	height: 50px;
	padding: 5px;
	position: fixed;
	width: 100%;
	z-index: 9999;
	background-color: white;
	top: 0;
}

.title {
	padding: 5px;
	padding-right: 10px;
	top: 0px;
	position: absolute;
	z-index: -5;
}

.title.visible {
	z-index: 5;
}

.title-holder {
	position: fixed;
	top: 0px !important;
	left: 0px;
	min-width: 16.6666666667%;
	z-index: 999;
	pointer-events: none;
	/*	filter: invert(1);*/
	/*  mix-blend-mode: exclusion;*/
	color: black;
	background-color: transparent;
	pointer-events: none;
	user-select: none;
	/* supported by Chrome and Opera */
}

.single-detail .title-holder {
	padding: 5px;
}

.title-holder-inside {
	padding: 5px;
	display: block;
	/*
	position: fixed;
	top: 5px!important;
	left: 5px!important;
	*/
}

.title-holder-inside:empty {
	padding: 0px;
	/*
	position: fixed;
	top: 5px!important;
	left: 5px!important;
	*/
}

.pricerequest-item {
	width: 100%;
	float: left;
	margin-bottom: 5px;
	vertical-align: top;
}

.pricerequest-titel {
	position: relative;
	float: left;
	vertical-align: top;
	width: calc(100% - 60px);
	margin-left: 10px;
}

.img-thumbnail {
	width: 50px;
	float: left;
}

.remove-item {
	position: absolute;
	right: 0px;
	cursor: pointer;
	opacity: 0.7;
}

.remove-item:hover {
	opacity: 1;
}

.menu {
	position: fixed;
	bottom: 0px;
	width: 100%;
	z-index: 9999;
}

/*
.error404 .menu {
display: none;
}
*/
.menu-item {
	width: 16.6666666667%;
	width: 12.5%;
	float: left;
	background-color: white;
	padding: 5px;
	padding-bottom: 15px;
	
}

.page-template-page-home-v3 .menu-item {
	padding-bottom: 20px;
}

.page-wrap,
.img-wrap {
	/*	background-color: red;*/
	display: block;
	float: left;
	width: 16%;
	/* width: 16.6666666667 EDIT 2025%;
	width: 16.6666666667%; EDIT 2025 */
	width: 25%;
	/* height: 20vw; EDIT 2025 */
	height: 31.25vw;
	position: relative;
	overflow: hidden;
}

.page-wrap {
	height: auto;
	/* min-height: 20vw; EDIT 2025 */
	min-height: 31.25vw;
}

.img-wrap img {
	position: relative;
	left: 0px;
	top: 0px;
	width: 100.5%;
	height: 100.5%;
	opacity: 0;
	-webkit-transition: opacity 150ms ease-out;
	-moz-transition: opacity 150ms ease-out;
	-o-transition: opacity 150ms ease-out;
	transition: opacity 150ms ease-out;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	object-fit: cover;
	pointer-events: none;
}

.tax-collection img,
.page-template-page-archive-2 img {
	opacity: 1;
}

.images-wrap {
	float: left;
	min-height: 100vh;
	width: 100%;
}

.img-wrap.visible {
	/*		outline: 1px solid red;*/
}

.img-wrap .checkbox {
	width: 20px;
	height: 20px;
	background-color: white;
	position: absolute;
	z-index: 20;
	right: 5px;
	top: 5px;
	border: solid 1px black;
	cursor: pointer;
}

.img-wrap.sold .checkbox {
	pointer-events: none;
	background-color: rgba(255, 255, 255, 0.5);
}

.img-wrap.checked .checkbox:after {
	content: '✓';
	font-size: 30px;
	position: absolute;
	font-family: 'arial', helvetica, sans-serif;
	top: -8px;
}

.img-wrap.sold .checkbox:after {
	content: '✕';
	font-size: 20.5px;
	position: absolute;
	font-family: 'arial', helvetica, sans-serif;
	top: -3.5px;
	left: 1.5px;
}

.page-background {
	position: absolute;
	width: 100%;
	z-index: -1;
}

.page-background.nobackground {
	z-index: 5;
}

.page-background.nobackground .title {
	z-index: 0;
}

.page-content.notouch {
	pointer-events: none;
}

.page-content {
	/* min-height: calc(100vh - 26px); EDIT 2025 */
	min-height: 94vw;
	float: left;
	width: 100%;
	font-size: 0px;
}

.page-col {
	/* width: 16.6666666667vw; EDIT 2025 */
	width: 25%;
	display: inline-block;
	padding: 5px;
	padding-right: 10px;
	line-height: 1.2;
	font-size: 14px;
	/* font-size: 20px; */
	vertical-align: top;
}

.login p,
.page-col p {
	margin-bottom: 19px;
}

#loginform p,
.page-col p:last-child {
	margin-bottom: 0px;
}

.page-col.content {
	background-color: white;
}

#footer {
	float: right;
	/* width: 16.6666666667vw EDIT 2025; */
	width: 25%;
	display: block;
	text-align: right;
	position: relative;
	z-index: 99999;
}

.pricerequest-template-default #footer,
.invoice-template-default #footer {
	width: 100%;
}

.pricerequest-template-default #footer #copyright,
.invoice-template-default #footer #copyright {
	float: right;
	width: 16.6666666667vw;

}

#copyright {
	text-align: left;
	float: left;
	display: block;
	padding: 5px;
}
#copyright:empty {
	padding: 0px;
}

/*ARCHIVE*/
.img-wrap.login {
	padding: 5px;
	/*	padding-top: 25px;*/
}

.img-wrap.login .title {
	padding-left: 0px;
}

#loginform {
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.pricerequest-template-page-pricerequest .acf-field {
	width: 100% !important;
}

.pricerequest-template-page-pricerequest .af-field-instructions {
	display: none;
}

.pricerequest-template .hidden-form,
.page-template-page-pricerequest .hidden-form,
.page-template-page-pricerequest .form-data {
	display: none;
}

.pricerequest-template-default .af-success {
	float: left;
	width: 100%;
	padding: 5px;
	padding-top: 20px;
}

.edit-form-wrap {
	clear: left;
}

.form-data,
.edit-form-wrap,
.invoice-form-wrap {
	float: left;
	width: 50%;
	padding: 10px;
	display: none;
}

.form-wrap {
	padding: 5px;
}

#loginform label {
	width: 100%;
}

.gform_body textarea {
	height: 70px;
}

.acf-label {
	margin-bottom: 0px !important;
}

.acf-required {
	color: black !important;
}

.gform_validation_container {
	display: none;
}

.acf-fields>.acf-field {
	margin: 0 !important;
	padding: 0px !important;
	border-top: 0px !important;
	margin-bottom: 5px !important;
}

.af-submit {
	padding: 0px !important;
}

.af-submit-button,
.button-primary {
	width: 100% !important;
	text-align: left !important;
}

.gform_body textarea,
.acf-input input[type="text"],
.acf-input input[type="email"],
.gform_body input[type="text"],
#loginform .input {
	border: solid 1px black;
	width: 100%;
	padding: 5px;
	margin-bottom: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.gform_button,
#loginform #wp-submit {
	-webkit-appearance: button;
	margin: 0px;
	width: 100%;
	text-align: left;
	margin-top: 5px;
}

.af-form .af-field {
	width: 100% !important;
}

.af-field-instructions {
	display: none;
}

.validation_message {
	color: red;
	margin-bottom: 5px;
}

.filters-wrap {
	position: fixed;
	bottom: 40px;
	width: 67%;
	z-index: 999;
	font-size: 0px;
}

.filter-btn {
	width: 100%;
	vertical-align: bottom;
	text-align: left;
	margin-bottom: 5px;
	float: left;
	margin-top: 0px;
	min-width: 100px;
}

.filter-btn.half {
	width: 45%;
	width: calc(50% - 2.5px);
}

.filter-btn.half:first-of-type {
	margin-right: 5px;
}

.alm-filters-container {
	width: 83.3%;
	float: left;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	top: -3px;
}

.alm-filters-container .alm-filter,
.filter-wrap {
	width: 16.6666666667%;
	padding: 5px;
	/* display: inline-block; */
	vertical-align: bottom;
	font-size: 14px;
	padding-bottom: 0px;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.alm-filters-container .alm-filter {
	width: 20%;
}

.alm-filters-container .alm-filter {
	/*	padding-bottom: 3px;*/
}

select.alm-filter--item,
.filter-wrap select.filter {
	width: 100%;
	margin: 0px;
	margin-bottom: 5px;
}

.alm-filter--submit,
.alm-filters-edit,
#alm-filter-1,
#alm-filter-5 {
	display: none;
}

.alm-load-more-btn.done {
	display: none;
}

.clear-selection {
	display: none;
}

/*DETAIL PAGES*/
.title-hidden {
	opacity: 0;
}

.detail-title {
	padding: 5px;
	color: black;
	position: absolute;
	z-index: 999;
}

.detail-img {
	float: left;
	overflow: hidden;
	position: relative;
}

.detail-img.full {
	width: 100%;
	height: 117.6vw;
}

.detail-img.half {
	width: 50%;
	height: 58.8vw;
}

.detail-img.third {
	width: 33.33%;
	height: 39.2vw;
}

.detail-img.fourth {
	width: 25%;
	height: 29.4vw;
}

.detail-img.sixt {
	width: 16.6666666667%;
	height: 19.6vw;
}

.detail-img img {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100.5%;
}

.detail-img.regular img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
}

.caption {
	padding: 5px;
	float: left;
	display: block;
	position: relative;
	font-size: 14px;
}

.caption.full {
	width: 100%;
}

.caption.half {
	width: 50%;
}

.caption.third {
	width: 33.33%;
}

.caption.fourth {
	width: 25%;
}

.caption.sixt {
	width: 16.6666666667%;
}

.detail-img.zoom {
	cursor: -webkit-zoom-out;
	cursor: zoom-out;
}

/*
.detail-img.zoom img {
width: 300%;
}
*/
.detail-img.zoomed-out {
	cursor: -webkit-zoom-in;
	cursor: zoom-in;
}

.detail-img.zoomed-out img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;

}

/*# # # # # # PRICEREQUEST # # # # # #*/
body.pricerequest-template-default {
	background-color: darkgray;
}

.additional-info {
	display: none;
	float: left;
	clear: both;
	padding: 5px;
	width: 150mm;
}

.additional-info textarea,
.additional-info input[type="text"] {
	border: solid 1px black;
	width: 100%;
	padding: 5px;
	margin-bottom: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-color: transparent;
}

.additional-info textarea {
	height: 75px;
}

.request-btn {
	width: 50mm;
	border: solid 1px black;
	float: left;
	margin: 5px;
	margin-top: 10px;
	padding: 10px;
	cursor: pointer;
}

.request-btn.approve2 {
	margin-top: 0px;
	margin-left: 0px;
}

.request-btn.hidden {
	display: none;
}

.request-btn.edit.active,
.request-btn.edit:hover {
	background-color: blue;
	border-color: blue;
	color: white;
}

.request-btn.approve1.active,
.request-btn.approve1:hover,
.request-btn.approve2.active,
.request-btn.approve2:hover,
.request-btn.save.active,
.request-btn.save:hover {
	background-color: green;
	border-color: green;
	color: white;
}

.remove-row {
	position: absolute;
	color: blue;
	right: 10px;
	top: 12px;
	display: none;
	font-size: 20px;
	cursor: pointer;
}

.edit-request .remove-row {
	display: block;
}

.price-request-wrap {
	width: 210mm;
	min-height: 297mm;
	background-color: whitesmoke;
	margin: 5px;
	float: left;
	font-size: 8pt;
	margin-bottom: 40px;
	clear: both;
}

.price-request-wrap .grid-item {
	width: 35mm;
	height: 49.5mm;
	margin: 0px;
	float: left;
	padding: 5px;
}

.price-request-wrap .grid-item.double {
	width: 70mm;
}

.price-request-wrap .request-row {
	width: 100%;
	height: 12.375mm;
	float: left;
	position: relative;
}

.price-request-wrap .request-row .line-under {
	width: 100%;
	position: absolute;
	height: 1px;
	background-color: black;
	left: 5px;
	position: absolute;
	bottom: 0px;
	width: calc(100% - 10px);
}

.price-request-wrap .request-row.empty {
	border-bottom: 0px;
}

.price-request-wrap .request-row .row-item {
	width: 35mm;
	padding: 5px;
	float: left;
}

.price-request-wrap .request-row .row-item.img {
	overflow: hidden;
	height: 11mm;
}

.price-request-wrap .request-row .row-item.img img {
	width: 100%;
}

.price-request-wrap .request-row .row-item.triple {
	width: 105mm;
}

.price-request-wrap .request-row .row-item.fifth {
	width: 175mm;
}


/*# # # # # # NEWS # # # # # #*/

.news-item {
	width: 50%;
	/* height: 20vw; EDIT 2025 */
	height: 31.25vw;
	position: relative;
	float: left;
}

.news-item.count-2,
.news-item.count-1 {
	width: 50%;
}

.page-template-page-collection .news-item,
.news-item.count-3 {
	width: 33.3%;
}

.news-item.sans-serif h2 {
	font-family: 'Helvetica', Arial, sans-serif;
}

.news-item.serif h2 {
	font-family: 'Times New Roman', Times, serif;
	font-weight: 600;
}

.news-item h2 {
	font-size: 2.5vw;
	width: 100%;
	text-transform: uppercase;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.news-item .description {
	padding: 5px;
	width: 100%;
	float: left;
}

.news-item .label-wrap {
	position: absolute;
	top: 0px;
	text-transform: uppercase;
	width: 100%;
}

.news-item .label {
	padding: 5px;
	width: 50%;
	float: left;
}

.news-item.count-2 .label,
.news-item.count-1 .label {
	width: 33.3%;
}

.page-template-page-collection .description-wrap,
.news-item:hover .description-wrap {
	display: block;
}

.description-wrap {
	position: absolute;
	bottom: 0px;
	width: 100%;
	display: none;
}

/*# # # # # # RESPONSIVE # # # # # #*/
/*
@media screen and (max-width: 1000px) {
.page-wrap, .img-wrap {
width: 20vw;
height: 24vw;
}
.page-col {
min-height: 24vw;
}
.page-col,
.menu-item {
width: 20vw;
}
}
*/
@media screen and (max-width: 940px) {
	.page-wrap, .img-wrap, #footer {
		width: 25%;
		width: 25%;
		height: 30vw;
	}

	.news-item.count-2 .label, .news-item.count-1 .label,
	.news-item .label {
		width: 50%;
	}

	.news-item .label.third {
		display: none;
	}

	.page-template-page-collection .news-item, .page-template-page-collection .news-item.count-3,
	.news-item.count-3 {
		width: 50%;
	}

	.news-item {
		width: 50%;
		height: 30vw;
		position: relative;
		float: left;
	}

	.page-wrap {
		min-height: 30vw;
		height: auto;

	}

	.page-col {
		min-height: 30vw;
	}

	#copyright,
	.page-col,
	.menu-item,
	.alm-filters-container .alm-filter, .filter-wrap {
		width: 25vw;
	}
}

.filters-wrap {
	width: 100%;
}

@media screen and (max-width: 700px) {
	.repeat-button.home {
		bottom: 80px;
	}

	.title {
		pointer-events: none;
	}

	.news-item .label {
		width: 50%;
		d
	}

	.news-item .label.third {
		display: none;
	}

	.news-item.count-3 {
		width: 100%;
	}

	.news-item {
		width: 100% !important;
		height: 60vw;
		position: relative;
		float: left;
	}

	.news-item h2 {
		font-size: 6.5vw;
	}

	.news-item .description {
		display: block;
	}

	.page-wrap, .img-wrap, #footer {
		width: 50%;
		width: 50%;
		height: 60vw;
	}

	.page-wrap {
		min-height: 60vw;
		height: auto;
	}

	.page-wrap,
	.img-wrap,
	.title,
	.title-holder,
	.detail-img,
	.detail-img img,
	.menu,
	body {
		-webkit-user-select: none;
		/* Safari */
		-khtml-user-select: none;
		/* Konqueror HTML */
		-moz-user-select: none;
		/* Firefox */
		-ms-user-select: none;
		/* Internet Explorer/Edge */
		-webkit-touch-callout: none;
	}

	#footer {
		margin-bottom: 50px;
	}

	.page-col {
		min-height: 60vw;
	}

	#copyright,
	.page-col,
	.menu-item,
	.alm-filters-container .alm-filter, .filter-wrap {
		width: 50%;
	}

	.noscroll {
		/*		opacity: 0.5;*/
		touch-action: none;
		-webkit-touch-callout: none;

	}

	/*
	.noscroll .detail-img.zoom {
	touch-action: none;
	-webkit-touch-callout: none;

}
	*/

	.detail-img:nth-child(2),
	.detail-img:nth-child(1) {
		width: 50% !important;
		height: 60vw !important;
	}

	.detail-img.full {
		width: 100% !important;
		height: 117.6vw !important;
	}

	.detail-img.half {
		width: 100%;
		height: 117.6vw;
	}

	.detail-img.third {
		width: 100%;
		height: 117.6vw;
	}

	.detail-img.fourth {
		width: 100%;
		height: 117.6vw;
	}

	.detail-img.sixt {
		width: 100%;
		height: 117.6vw;
	}

	.view-detail-large {
		font-size: 8vh;
	}

}