/* 
 * Punchmark
 */

@font-face {
    font-family: 'Abramo';
    src: url('../fonts/AbramoScript.otf') format('opentype'),
         url('../fonts/AbramoScript.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.btn-close-light {
	filter: invert(1) grayscale(100%) brightness(200%);
}

html, body {
	background: white;
	margin: 0;
	padding: 0;
	line-height: 1.5;
	color: #111111;
	font-family: "mundial", serif;
	font-weight: 300;
	font-size: 18px;
}

.script {
    font-family: 'Abramo', serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #111111;
	font-family: "scotch-display", serif;
	text-transform: uppercase;
}

h3,
h4,
h5,
h6 {
	line-height: 2.25rem !important;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
	font-family: 'Abramo', serif;
	display: block;
	margin-bottom: 1rem;
	text-transform: none;
}

h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
h6 em {
	font-family: 'Abramo', serif;
	display: inline;
	font-size: 275%;
	text-transform: capitalize;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: inherit;
}

h1 span {
	margin-bottom: -1rem;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: inherit;
	z-index: 10;
	position: relative;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
	font-family: "mundial", serif;
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	font-size: 14px;
	display: block;
	margin-bottom: 0.75rem;
}

p {
	color: #111111;
	font-family: "mundial", serif;
	font-weight: 300;
	font-size: 1rem;
}

.display-1 {
	font-size: 16vw;
}

@media(min-width:768px){
	.display-1 {
		font-size: 8rem;
	}
}

.btn {
	border-radius: 3px;
	font-family: "mundial", serif;
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	font-size: 18px;
	padding: 0.875rem 2rem 1rem 2rem !important
}

.btn-shopping-for {
	font-size: 16px;
	letter-spacing: 0.05rem;
	padding: 0.437rem 1rem 0.5rem 1rem !important
}

div.img {
	background-size: cover !important;
	border-radius: var(--bs-border-radius) !important;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

img.placeholder {
	visibility: hidden;
}

section img {
	max-width: 100%;
}

section img.circle {
	border-radius: 50%;
}

section {
	padding: 0px 10px;
	display: block;
	position: relative;
}

section.default {
	background: #ffffff;
}	

section.inset {
	background: #eeeeee;
}	

section.alt {
	background: #282828;
}

section.alt h1,
section.alt h2,
section.alt h3,
section.alt h4,
section.alt h5,
section.alt h6,
section.alt p {
	color: #ffffff;
}

section.alt.border-bottom {
	border-color: #000000;
}

section .background-image {
	display: block;
	margin: 0 -10px;
	padding: 0;
	min-width: calc(100% + 20px);
	height: auto;
}

section .background-image + .container {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 100%;
}

section .background-image + .container > .row,
section .background-image + .container > .row > * {
	height: 100%;
}
section .background-image + .container > .row > * {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
}

section.timer-section {
	background: #ffffff;
	padding-top: 10px;
}

.modal hr {
	border-color: #dee2e6;;
	opacity: 1;
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
}

.modal .modal-fullscreen .modal-content,
.modal .modal-fullscreen-lg-down .modal-content {
	border-radius: 0rem;
}

.modal .modal-fullscreen .modal-body > .row,
.modal .modal-fullscreen-lg-down .modal-body > .row {
	margin: 0 !important;
}

.modal .modal-dialog:not(.modal-fullscreen-lg-down) .modal-content {
	border-radius: 0.5rem;
}

.modal .modal-body {
	min-height: 100px;
	padding: 0;
}

.modal .modal-body .row.g-2 > div[class*="col"].form-floating label {	
	transform: scale(0.85) translateY(-0.5rem) translateX(0.5rem);	
}

.modal .modal-body img,
.modal .modal-body .modal-image {
	max-width: 100%;
	border-radius: 0 0.35rem 0.35rem 0;
}

.modal .modal-body .modal-image {
	height: 100%;
}

.modal .modal-body .btn-close {
	position: absolute;
	top: 10px;
	right: 10px;
}

.modal .modal-body form {
	width: 100%;
}

.modal .modal-body form .form-text {
	font-size: 0.75em;
}

@media(max-width:991px){
	.modal .modal-body img,
	.modal .modal-body .modal-image {
		border-radius: 0.35rem 0.35rem 0 0;
	}
	.modal-dialog.modal-lg:not(.modal-fullscreen-lg-down) {
		width: auto;
		max-width: unset;
		margin: 0.5rem;
	}
}

@media(min-width:992px){
	.modal-dialog.modal-lg {
		max-width: 900px;
	}
	.modal .modal-dialog.modal-fullscreen-lg-down .modal-content {
		border-radius: 0.5rem;
	}
	.modal .modal-body > .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.modal .modal-body > .row > .col-12,
	.modal .modal-body > .row > .col-lg-6 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media(min-width:1200px){
	.modal-dialog.modal-lg {
		max-width: 1100px;
	}
}

@media(min-width:1400px){
	.modal-dialog.modal-lg {
		max-width: 1200px;
	}
}

.modal .form-check-label {
	font-size: 14px;
	transform: translateY(-1px);
	color: rgba(33, 37, 41, 0.75);
}

.modal .btn-text {
	font-size: 14px;
}

.modal .btn-rounded {
	border-radius: 50px;
	border-width: 2px;
	border-color: #e0e0e0;
	padding-left: 1rem;
	padding-right: 1rem;
}

.modal .btn-go-back {
	border: 0;
	background: transparent;
	padding-left: 0;
	padding-right: 0;
	color: rgba(33, 37, 41, 0.75);
	display: flex;
	align-items: center;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: bold;
	position: absolute;
	top: 5px;
	left: 7.5px;
}

.modal .btn-go-back:hover,
.modal .btn-go-back:focus {
	color: #212529;
}

.modal .btn-go-back svg {
	width: 24px;
	height: 24px;
}

.modal .btn-go-back svg path {
	fill: rgba(33, 37, 41, 0.75);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: rgba(33, 37, 41, 0.75);
}

.modal .btn-go-back:hover svg path,
.modal .btn-go-back:focus svg path {
	fill: #212529;
}

.modal .multi-select label {
	position: absolute;
	top: 0.45rem;
	left: 0.35rem;
	font-size: 12px;
	font-weight: 600;
	color: rgba(33, 37, 41, 0.65);
	transform: scale(0.85);
	margin-bottom: 0;
}

.modal .multi-select .multi-select-btns {
	padding-bottom: 0.25rem;
	border: 1px solid #dee2e6;;
	border-radius: 0.25rem;
	min-height: calc(3.5rem + calc(1px * 2));
	padding: 2rem 0.75rem 0.75rem 0.75rem;
	position: relative;
}

.modal .multi-select .multi-select-btns .btn {
	margin-top: 0.125rem;
	margin-bottom: 0.125rem;	
}

.modal .multi-select .multi-select-btns .btn:hover,
.modal .multi-select .multi-select-btns .btn.active {
	background: #212529 !important;
	border-color: #212529 !important;
	color: #ffffff !important;
}

.modal .form-floating label,
.modal .form-range-floating label {
	font-size: 12px;
	font-weight: 600;
}

.modal .form-range-floating label {
	color: rgba(33, 37, 41, 0.65);
	transform: scale(0.85) translateX(-0.15rem) translateY(-1.15rem);
	margin-bottom: 0;
}

.modal .form-range-floating {
	border: 1px solid #dee2e6;;
	border-radius: 0.25rem;
	height: calc(3.5rem + calc(1px * 2));
	padding: 1rem 0.75rem;
	position: relative;
}

.modal .form-range-floating .form-range {
	position: absolute;
	bottom: calc(50% - 13px);
	left: 112px;
	width: calc(100% - 128px);
}

.modal .form-range-floating output {
	top: 1.5rem;
	left: 0.85rem;
	position: absolute;
	font-size: 1rem;
	width: 80px;
	text-align: left;
}

.modal .form-range-floating::after {
	content: "";
	height: 100%;
	width: 1px;
	background: #dee2e6;;
	position: absolute;
	top: 0;
	left: calc(82px + 0.85rem);
}

.modal .btn.antwerp-signup {
	padding-left: 30px;
	padding-right: 30px;
}


/*countdown*/
#countdownTimer h6 {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1rem;
	text-transform: uppercase;
	font-family: "mundial", serif;
	margin-bottom: 0;
	margin-top: 0.5em;
}
.time-card {
	display: inline-flex;
	flex-direction: column;
	box-shadow: 0 2px 5px 0 rgba(0,0,0,0.9), 0 0 0 1px rgba(0,0,0,0.9);
	font-size: 8vw;
	font-weight: bold;
	border-radius: .1em;
	position: relative;
	margin: 0 0.25rem;
	line-height: 1;
}
.time-card .top,
.time-card .top-flip {
	height: .75em;
	line-height: .8em;
	padding: .25em;
	overflow: hidden;
	width: 8vw;
	display: flex;
	justify-content: center;	
}
.time-card .bottom,
.time-card .bottom-flip {
	height: .75em;
	line-height: 1.2em;
	padding: .25em;
	overflow: hidden;
	width: 8vw;
	display: flex;
	justify-content: center;
}
@media(min-width:768px){
	.time-card {
		font-size: 6vw;
	}
	.time-card .top,
	.time-card .bottom,
	.time-card .top-flip,
	.time-card .bottom-flip {
		width: 6vw;
	}
	#countdownTimer h6 {
		font-size: 14px;
		letter-spacing: 0.1rem;
	}
}
.time-card .top,
.time-card .top-flip {	
	background: #282828;
	color: #cccccc;
	border-top-left-radius: .1em;
	border-top-right-radius: .1em;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.time-card .bottom,
.time-card .bottom-flip {
	background: #181818;
	color: #ffffff;	
	display: flex;
	align-items: flex-end;
	border-bottom-left-radius: .1em;
	border-bottom-right-radius: .1em;
}
.time-card .top-flip {
	position: absolute;
	width: 100%;
	animation: flip-down 350ms ease-in;
	transform-origin: bottom;
}
@keyframes flip-down {
	100% {
		transform: rotateX(90deg);
	}
}
.time-card .bottom-flip {
	position: absolute;
	bottom: 0;
	width: 100%;
	animation: flip-bottom 350ms ease-out 350ms;
	transform-origin: top;
	transform: rotateX(90deg);
}
@keyframes flip-bottom {
	100% {
		transform: rotateX(0deg);
	}
}
section.default .time-card {
	box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1), 0 0 0 1px rgba(0,0,0,0.1);
}
section.default .time-card .top,
section.default .time-card .top-flip {
	background: #f7f7f7;
	color: #373737;
}
section.default .time-card .bottom,
section.default .time-card .bottom-flip {
	background: #ffffff;
	color: #111111;
}
	
@media(min-width:200px){
	.max-width-200 {
		margin-left: auto;
		margin-right: auto;
		max-width: 200px;
	}	
}

/**/
.px-0 {
	padding-left: 0px;
	padding-right: 0px;
}
.py-0 {
	padding-top: 0px;
	padding-bottom: 0px;
}
.px-10 {
	padding-left: 10px;
	padding-right: 10px;
}
.py-10 {
	padding-top: 10px;
	padding-bottom: 10px;
}
.px-20 {
	padding-left: 20px;
	padding-right: 20px;
}
.py-20 {
	padding-top: 20px;
	padding-bottom: 20px;
}
.px-30 {
	padding-left: 30px;
	padding-right: 30px;
}
.py-30 {
	padding-top: 30px;
	padding-bottom: 30px;
}
.px-40 {
	padding-left: 40px;
	padding-right: 40px;
}
.py-40 {
	padding-top: 40px;
	padding-bottom: 40px;
}
.px-50 {
	padding-left: 50px;
	padding-right: 50px;
}
.py-50 {
	padding-top: 50px;
	padding-bottom: 50px;
}
.container {
	max-width: 100% !important;
}
@media(min-width:575px){
	.px-sm-10 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.py-sm-10 {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.px-sm-20 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.py-sm-20 {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.px-sm-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.py-sm-30 {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.px-sm-40 {
		padding-left: 40px;
		padding-right: 40px;
	}
	.py-sm-40 {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.px-sm-50 {
		padding-left: 50px;
		padding-right: 50px;
	}
	.py-sm-50 {
		padding-top: 50px;
		padding-bottom: 50px;
	}	
}
@media(min-width:768px){
	.px-md-10 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.py-md-10 {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.px-md-20 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.py-md-20 {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.px-md-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.py-md-30 {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.px-md-40 {
		padding-left: 40px;
		padding-right: 40px;
	}
	.py-md-40 {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.px-md-50 {
		padding-left: 50px;
		padding-right: 50px;
	}
	.py-md-50 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.text-md-left {
		text-align: left !important;
	}
}
@media(min-width:992px){
	.px-lg-10 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.py-lg-10 {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.px-lg-20 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.py-lg-20 {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.px-lg-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.py-lg-30 {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.px-lg-40 {
		padding-left: 40px;
		padding-right: 40px;
	}
	.py-lg-40 {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.px-lg-50 {
		padding-left: 50px;
		padding-right: 50px;
	}
	.py-lg-50 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}
@media(min-width:1200px){
	.px-xl-10 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.py-xl-10 {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.px-xl-20 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.py-xl-20 {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.px-xl-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.py-xl-30 {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.px-xl-40 {
		padding-left: 40px;
		padding-right: 40px;
	}
	.py-xl-40 {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.px-xl-50 {
		padding-left: 50px;
		padding-right: 50px;
	}
	.py-xl-50 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.container {
		max-width: 1140px !important;
	}
}
@media(min-width:1400px){
	.px-xxl-20 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.py-xxl-20 {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.px-xxl-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.py-xxl-30 {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.px-xxl-40 {
		padding-left: 40px;
		padding-right: 40px;
	}
	.py-xxl-40 {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.px-xxl-50 {
		padding-left: 50px;
		padding-right: 50px;
	}
	.py-xxl-50 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.container {
		max-width: 1340px !important;
	}
}

.max-width-300,
.max-width-400,
.max-width-500,
.max-width-600,
.max-width-700,
.max-width-800 {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
@media(min-width:300px){
	.max-width-300 {
		max-width: 300px;
	}
}
@media(min-width:400px){
	.max-width-400 {
		max-width: 400px;
	}
}
@media(min-width:500px){
	.max-width-500 {
		max-width: 500px;
	}
}
@media(min-width:600px){
	.max-width-600 {
		max-width: 600px;
	}
}
@media(min-width:700px){
	.max-width-700 {
		max-width: 700px;
	}
}
@media(min-width:800px){
	.max-width-800 {
		max-width: 800px;
	}
}




/* 
 * Temp shit...
 */

header, footer {
	display: block;
	padding: 10px 0;
}
header {
	background: #ffffff;
	border-bottom: 1px solid #d0d0d0;
}
footer {
	background: #ffffff;
	border-top: 1px solid #d0d0d0;
}