@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200;0,400;0,700;1,200;1,400;1,700&display=swap');

/* GLOBAL */
	body {
		font: normal 20px/1.6 'Nunito', sans-serif;
		color: #606060;
	}
	a {
		color: #6088ab;
		text-decoration: none;
	}
	p {
		margin: 20px 0;
	}
	h1, h2, h3, h4, h5, h6 {
		font-weight: bold;
		line-height: 1.3;
	}
	h1 {
		font-size: 40px;
	}
	h2 {
		font-size: 36px;
	}
	h3 {
		font-size: 32px;
	}
	h4 {
		font-size: 28px;
	}
	h5 {
		font-size: 24px;
	}
	h6 {
		font-size: 20px;
	}
	.defs-svg {
		display: block;
		width: 0;
		height: 0;
	}
	.text-left {
		text-align: left;
	}
	.text-center {
		text-align: center;
	}
	.text-right {
		text-align: right;
	}
	.text-justify, .text-justify-left, .text-justify-center, .text-justify-right {
		text-align: justify;
	}
	.text-justify-left {
		text-align-last: left;
	}
	.text-justify-center {
		text-align-last: center;
	}
	.text-justify-right {
		text-align-last: right;
	}
	.text-header-large {
		font-size: 60px;
	}
	.hidden {
		display: none;
	}

	@media only screen and (max-width: 768px) {
		body {
			font-size: 18px;
		}

		.text-header-large {
			font-size: 50px;
		}

		.mobile-text-left {
			text-align: left;
		}
		.mobile-text-center {
			text-align: center;
		}
		.mobile-text-right {
			text-align: right;
		}
		.mobile-text-justify {
			text-align: justify;
		}
	}

/* HEADER */
	.header-wrapper {
		position: fixed;
		z-index: 1000;
		top: -200px;
		left: 0;
		right: 0;
		height: 100px;
		background-color: white;
		box-shadow: 0 1px 10px rgba(0,0,0,0.5);
		transition: top 0.2s ease;
	}
	.header-wrapper.visible {
		top: 0;
	}
	.header {
		position: absolute;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header .logo {
		display: block;
		width: 90px;
		padding: 0 20px;
	}
	.header .search-icon,
	.mobile-navmenu .mobile-menu-toggle {
		display: block;
		width: 60px;
		height: 60px;
		margin: 20px;
		background-image: url('/icon/search.header.svg');
		background-size: 80%;
		background-position: center;
		background-repeat: no-repeat;
		border-radius: 100%;
		transition: background-color 0.3s ease;
		cursor: pointer;
	}
	.mobile-navmenu .mobile-menu-toggle {
		background-image: url('/icon/menu.mobile.svg');
	}
	.header .search-icon:hover,
	.mobile-navmenu .mobile-menu-toggle:hover {
		background-color: rgba(0,0,0,0.1);
	}
	.navmenu {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
	}
	.navmenu .menu-item a {
		display: block;
		padding: 10px 20px;
		margin: 0 5px;
		border-radius: 50px;
		font: bold 20px 'Nunito';
		text-transform: uppercase;
		transition: background-color 0.3s ease;
	}
	.navmenu .menu-item a:hover {
		background-color: rgba(0,0,0,0.1);
	}
	.header .navmenu a {
		color: #404040;
	}
	.section-header .navmenu a {
		color: white;
	}
	.section-header .logo img {
		width: 600px;
		max-width: 100%;
		display: block;
		padding: 40px 0;
		margin: auto;
	}
	.section-header .navmenu {
		justify-content: center;
		padding-bottom: 40px;
	}
	.mobile-navmenu {
		display: none;
	}
	.mobile-menu-wrapper {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: white;
		overflow: auto;
		margin-left: 110vw;
		margin-right: -110vw;
		box-shadow: 0 0 8vw rgba(0,0,0,0.5);
		transition: margin 0.5s ease;
	}
	.mobile-menu-scrollcontent {
		padding: 120px 10% 10%;
	}
	.mobile-menu-wrapper .navmenu {
		display: block;
	}
	.mobile-menu-wrapper .navmenu .menu-item {
		margin: 10px 0;
		text-align: center;
	}
	.mobile-menu-wrapper .navmenu .menu-item a {
		padding: 16px 20px;
		font-size: 30px;
	}
	.mobile-search .search-icon {
		margin: 20px auto 0;
		width: 140px;
		height: 140px;
		background-size: 60%;
	}
	.mobile-menu-wrapper .mobile-menu-close {
		position: absolute;
		width: 90px;
		height: 90px;
		top: 5px;
		left: 5px;
		background-image: url('/icon/menu.close.svg');
		background-position: center;
		background-size: 70%;
		background-repeat: no-repeat;
		border-radius: 100%;
		cursor: pointer;
		transition: background-color 0.3s ease;
	}
	.mobile-menu-wrapper .mobile-menu-close:hover {
		background-color: #f0f0f0;
	}

	@media only screen and (max-width: 1130px) {
		/* shrink menu slightly on small screens */
		.header > .navmenu .menu-item a {
			padding: 8px 10px;
			font-size: 16px;
		}
	}

	@media only screen and (max-width: 980px) {
		/* fixed nav menu */
		.header > .navmenu, .header > .search {
			display: none;
		}
		.mobile-navmenu {
			display: block;
		}
		body.mobile-menu-open {
			overflow: hidden;
		}
		body.mobile-menu-open .mobile-menu-wrapper {
			margin: 0;
		}
		/* replace header section menu with always shown fixed nav */
		.section-header {
			margin-top: 100px;
		}
		.section-header .navmenu {
			display: none;
		}
		.header-wrapper {
			top: 0;
		}
	}

/* FOOTER */
	.footer-wrapper {
		background-color: #202020;
		background-image: url('/icon/artmark.watermark.svg');
		background-size: 500px;
		background-position: 5% 50%;
		background-repeat: no-repeat;
	}
	.footer, .footer a {
		color: white;
	}
	.search-container {
		width: 300px;
		max-width: 100%;
		position: relative;
	}
	.search-input {
		width: 100%;
		box-sizing: border-box;
		border-radius: 6px;
		height: 50px;
		padding: 10px 50px 10px 15px;
		font: normal 20px 'Nunito';
		background-color: rgba(255,255,255,0.08);
		transition: all 0.3s ease;
		color: #a0a0a0;
	}
	.search-input:focus {
		background-color: rgba(255,255,255,0.8);
		color: #202020;
		border-bottom-right-radius: 0;
	}
	.search-button {
		background-image: url('/icon/search.footer.svg');
		background-position: center;
		background-size: 80%;
		background-repeat: no-repeat;
		width: 50px;
		height: 50px;
		position: absolute;
		right: 0;
		top: 0;
		cursor: pointer;
	}
	.footer-contact {
		font-size: 1.2em;
	}
	.footer-copyright {
		font-size: 18px;
		opacity: 0.2;
		margin: 0;
	}
	.footer-social {
		line-height: 0.8;
	}
	.footer-social .social-icon {
		color: white;
		opacity: 0.2;
		transition: opacity 0.3s ease;
	}
	.footer-social .social-icon:hover {
		opacity: 0.5;
	}

	@media only screen and (max-width: 480px) {
		.footer-contact {
			font-size: 0.9em;
		}
	}

/* SEARCH RESULTS */
	.search-results-wrapper {
		position: absolute;
		right: 0;
		width: 60vw;
		z-index: 1;
		max-height: 200px;
		overflow-x: hidden;
		overflow-y: auto;
		color: #404040;
		background-color: #e0e0e0;
		border-radius: 4px 0 4px 4px;
	}
	.search-results:empty {
		display: none;
	}
	.search-results {
		padding: 10px;
		cursor: pointer;
	}
	.search-results .result {
		display: flex;
		align-items: center;
		padding: 2px 10px;
		border-radius: 4px;
	}
	.search-results .result.search-highlight {
		background-color: white;
	}
	.search-results .result .result-page {
		font-weight: bold;
		font-size: 20px;
		margin-right: 20px;
		min-width: 30%;
	}
	.search-results .result .result-context {
		font-size: 16px;
		color: #a0a0a0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		width: 0;
		flex-grow: 1;
	}
	.search-results .result .result-context .match {
		font-weight: bold;
		color: #404040;
	}

	@media only screen and (max-width:768px) {
		.search-results-wrapper {
			width: auto;
			left: calc(150px - 40vw);
			right: calc(150px - 40vw);
			border-radius: 4px;
		}
	}

/* SECTIONING */
	.section {
		position: relative;
		background-size: cover;
		background-position: center;
	}
	.container {
		max-width: 1080px;
		margin: auto;
		padding: 0 40px;
		position: relative;
	}
	.container.fullwidth {
		max-width: none;
	}
	.row {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.row-left {
		justify-content: flex-start;
	}
	.row-center {
		justify-content: center;
	}
	.row-right {
		justify-content: flex-end;
	}
	.row-vertical-center {
		align-items: center;
	}
	.row .column {
		box-sizing: border-box;
		padding: 0 10px;
	}
	.row .column-1-1 {
		width: 100%;
	}
	.row .column-1-2 {
		width: 50%;
	}
	.row .column-1-3 {
		width: 33.333%;
	}
	.row .column-2-3 {
		width: 66.666%;
	}
	.row .column-1-4 {
		width: 25%;
	}
	.row .column-3-4 {
		width: 75%;
	}
	.row .column-1-5 {
		width: 20%;
	}
	.row .column-2-5 {
		width: 40%;
	}
	.row .column-3-5 {
		width: 60%;
	}
	.row .column-4-5 {
		width: 80%;
	}
	.row .column-1-6 {
		width: 16.667%;
	}
	.row .column-5-6 {
		width: 83.333%;
	}
	.row .column-1-8 {
		width: 12.5%;
	}
	.row .column-3-8 {
		width: 37.5%;
	}
	.row .column-5-8 {
		width: 62.5%;
	}
	.row .column-7-8 {
		width: 87.5%;
	}
	.row.row-reverse, .section-group.alternate-row-reverse .section:nth-child(2n) .row {
		flex-direction: row-reverse;
	}

	.background-grey, .section-group.alternate-background-grey .section:nth-child(2n) {
		background-color: #f8f8f8;
	}
	.section-overlay:before {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
	}
	.section-overlay-yellow:before {
		opacity: 0.6;
		background-color: #24231d;
	}
	.section:target {
		background-color: #ffffdc;
	}

	@media only screen and (max-width: 768px) {
		.row .column {
			width: 100%;
		}
		.mobile-row-left {
			justify-content: flex-start;
		}
		.mobile-row-center {
			justify-content: center;
		}
		.mobile-row-right {
			justify-content: flex-end;
		}
	}

/* ELEMENTS */

/* BUTTON */
	.button {
		display: inline-block;
		min-width: 200px;
		padding: 15px;
		border-radius: 10px;
		margin: 20px 0;
		background-color: #202020;
		text-align: center;
		text-transform: uppercase;
		color: white;
		font-weight: bold;
		transition: 0.3s ease;
	}
	.button:hover {
		background-color: #303030;
	}

/* SOCIAL ICONS */
	.social-icon {
		display: inline-block;
		width: 50px;
		margin: 5px 10px;
		vertical-align: middle;
	}

/* PICTURE */
	.picture {
		padding-bottom: 100%;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		margin: 20px 0;
	}
	.clip-pawleft {
		clip-path: url('#mask-paw-left');
	}
	.clip-pawright {
		clip-path: url('#mask-paw-right');
	}
	.clip-circle {
		border-radius: 100%;
		overflow: hidden;
	}

/* QUOTES */
	.quotes {
		position: relative;
		z-index: 1;
	}
	.quotes:before, .quotes:after {
		font-size: 300px;
		line-height: 1;
		position: absolute;
		z-index: 0;
		color: black;
		opacity: 0.03;
		pointer-events: none;
	}
	.quotes:before {
		content: '\201c';
		left: -40px;
		top: -0.25em;
	}
	.quotes:after {
		content: '\201d';
		right: -40px;
		bottom: -0.7em;
	}

/* SLIDER */
	.slider {
		padding: 10px 30px;
		position: relative;
	}
	.slider .slides-container {
		position: relative;
		min-height: 200px;
	}
	.slider .slide {
		margin: 0 80px;
		display: none;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		opacity: 0;
		transition: opacity 0.5s ease;
	}
	.slider .slide.visible {
		display: block;
	}
	.slider .slide.current {
		display: block;
		opacity: 1;
	}
	.slider .arrows .arrow {
		position: absolute;
		font-size: 60px;
		top: 50%;
		margin-top: -1em;
		width: 1em;
		height: 1em;
		padding: 0.5em;
		opacity: 0.6;
		transition: opacity 0.3s ease;
		cursor: pointer;
	}
	.slider .arrows .arrow:hover {
		opacity: 1;
	}
	.slider .arrows .arrow-left {
		margin-left: -0.5em;
		left: 2px;
	}
	.slider .arrows .arrow-right {
		margin-right: -0.5em;
		right: 2px;
	}
	.slider .dots .slide-dot {
		display: inline-block;
		width: 22px;
		height: 22px;
		border-radius: 100%;
		vertical-align: middle;
		cursor: pointer;
		opacity: 0.5;
		transition: opacity 0.3s ease;
	}
	.slider .dots .slide-dot:before {
		content: '';
		display: block;
		width: 12px;
		height: 12px;
		margin: 5px;
		border-radius: 100%;
		background-color: #a0a0a0;
	}
	.slider .dots .slide-dot.current {
		opacity: 1;
	}

	@media only screen and (max-width: 768px) {
		.slider .slide {
			margin: 0;
		}
		.slider .arrows .arrow {
			padding: 0.5em 0;
		}
	}

/* LOAD SPINNER */
	@keyframes spin {
		0% {transform: rotate(0deg)}
		100% {transform: rotate(360deg)}
	}

	.load-spinner:after {
		content: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PHBhdGggZmlsbD0iIzgwODA4MCIgZD0iTTQ0LjI1LDguMjk4bC0yLjA3MSw3LjcyOEM1MC43MDEsMTguNjY3LDU2LjkwOCwyNi42MjIsNTYuOTA4LDM2YzAsMTEuNTI5LTkuMzc5LDIwLjkwOC0yMC45MDgsMjAuOTA4Yy0xMS41MjksMC0yMC45MDgtOS4zNzktMjAuOTA4LTIwLjkwOGMwLTkuMzc4LDYuMjA4LTE3LjMzMywxNC43MjktMTkuOTc1TDI3Ljc1LDguMjk4QzE1LjgxOCwxMS44NTgsNy4wOTIsMjIuOTI3LDcuMDkyLDM2QzcuMDkyLDUxLjk0LDIwLjA2LDY0LjkwOCwzNiw2NC45MDhjMTUuOTQsMCwyOC45MDgtMTIuOTY4LDI4LjkwOC0yOC45MDhDNjQuOTA4LDIyLjkyNiw1Ni4xODMsMTEuODU4LDQ0LjI1LDguMjk4eiIvPjwvc3ZnPg==');
		display: block;
		margin: 20px auto;
		width: 50px;
		height: 50px;
		animation-duration: 1s;
		animation-timing-function: linear;
		animation-iteration-count: infinite;
		animation-play-state: running;
		animation-name: spin;
	}

/* MISC */
	.new {
		display: inline-block;
		vertical-align: top;
		padding: 8px 20px 6px;
		margin-right: 10px;
		border-radius: 100px;
		background-color: #889933;
		color: white;
		font-size: 70%;
		text-transform: uppercase;
	}