@media only screen and (max-width: 1200px) {

	:root {
		--site-wrapper-padding: calc(80 / 12 * 1vw);
	}

}

@media only screen and (max-width: 1150px) {

	#tail-columns:before {
		display: none;
	}

}

@media only screen and (max-width: 960px) {

	:root {
		--site-wrapper-padding: 24px;
	}

}


@media only screen and (max-width: 896px) {

	body .ce-block.ce-multi-columns[style$="--grid-columns: 6;"] .ce-grid-wrapper {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

}


@media only screen and (max-width: 812px) {

	body .ce-block.ce-multi-columns[style$="--grid-columns: 5;"] .ce-grid-wrapper {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--site-column-margin);
	}

	body .ce-block.ce-multi-columns[style$="--grid-columns: 6;"] .ce-grid-wrapper {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--site-column-margin);
	}
	
	
	.ce-block.ce-services .ce-grid-wrapper {
		grid-template-columns: repeat(calc(var(--grid-columns, 4) - 1), minmax(0, 1fr));
		padding: 0;
		column-gap: var(--site-wrapper-padding);
	}
	
	.ce-block.ce-two-columns[style*="--columnbgsplit"] .ce-flex-wrapper {
		column-gap: var(--site-column-margin);
	}
	
	
	#head {
		position: sticky;
		top: 0;
		background: #fff;
		z-index: 20;
	}
	
	#mobile-nav-trigger {
		display: block;
	}
		
	#nav-main-wrap {
		display: flex;
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		right: 0;
		background: #fff;
		padding-bottom: 80px;
		z-index: 20;
		flex-flow: column;
		justify-content: center;
		align-items: center;
		gap: 80px;
	}
	
	#head.mobile-nav-open #nav-main-wrap {
		display: flex;
	}
	
	#nav-main-wrap:before {
		content: "";
		display: block;
		width: 150px;
		height: 150px;
		background: #fff url(../_img/logo-oulu.svg) 50%/contain no-repeat;
	}
	
	#nav-main {
		display: flex;
		font-size: 4rem;
		flex-flow: column;
		justify-content: center;
		align-items: center;
		gap: 5rem;
	}
	
	#nav-main a {
		transition-delay: 120s !important;
	}
	
	
	#tail-columns {
		flex-flow: column;
		gap: var(--site-paragraph-padding);
	}
	
	#tail-columns .tail-column {
		display: flex;
		text-align: center;
		flex-flow: column;
		align-items: center;
	}

	#tail-copyright {
		text-align: center;
	}

}


@media only screen and (max-width: 736px) {
}


@media only screen and (min-width: 667px) {
}


@media only screen and (max-width: 667px) {
/*
	:root {
		--site-wrapper-padding: 24px;
		--site-elements-padding: 40px;
	}
*/

	#main .gallery.gallery-columns-2, 
	#main .gallery.gallery-columns-3, 
	#main .gallery.gallery-columns-4, 
	#main .gallery.gallery-columns-5, 
	#main .gallery.gallery-columns-6, 
	#main .gallery.gallery-columns-7, 
	#main .gallery.gallery-columns-8, 
	#main .gallery.gallery-columns-9 {
		column-count: 1;
	}


	body .ce-block {
		margin-top: max(calc(var(--element-margin-top, 0px) / 2), var(--site-elements-padding));
		margin-bottom: calc(var(--element-margin-bottom, 0px) / 2);
		padding-top: calc(var(--element-padding-top, 0px) / 2);
		padding-bottom: calc(var(--element-padding-bottom, 0px) / 2);
	}
	

	body .ce-block.ce-bgimage.ce-imagesized {
		height: auto !important;
	}

	body .ce-block.ce-bgimage.ce-imagesized > div {
		display: block;
		height: auto;
		overflow: visible;
	}
	
	
	body .ce-block.ce-width-wrapper {
		max-width: none;
		border-radius: 0;
		padding-left: var(--site-wrapper-padding);
		padding-right: var(--site-wrapper-padding);
	}


	body .ce-block .ce-flex-wrapper .ce-column {
		flex: 0 0 100% !important;
	}

	body .ce-block .ce-flex-wrapper .ce-column:empty {
		display: none;
	}


	body .ce-block.ce-single-column .ce-column {
		display: block !important;
	}
	
	body .ce-block.ce-single-column .ce-content-wrap {
		max-width: 100% !important;
	}
	
	
	body .ce-block.ce-two-columns[style*="--columnbgsplit"] {
		background-image: var(--background-image, none);
	}

	body .ce-block.ce-two-columns[style*="--columnbgsplit"] .ce-flex-wrapper {
		gap: calc(var(--site-elements-padding));
	}
	
	body .ce-block.ce-two-columns[style*="--columnbgsplit"] .ce-column {
		position: relative;
	}

	body .ce-block.ce-two-columns[style*="--columnbgsplit"] .ce-column > * {
		position: relative;
		z-index: 2;
	}
	
	body .ce-block.ce-two-columns[style*="--columnbgsplit"] .ce-column:nth-child(1):before {
		content: "";
		position: absolute;
		left: calc(var(--site-wrapper-padding) * -1);
		top: calc(var(--element-padding-top, var(--site-elements-padding)) * -1);
		bottom: calc(var(--site-elements-padding) * -0.5);
		right: calc(var(--site-wrapper-padding) * -1);
		background-color: var(--leftcolumnbg, none);
		z-index: 1;
	}
	
	body .ce-block.ce-two-columns[style*="--columnbgsplit"] .ce-column:nth-child(2):before {
		content: "";
		position: absolute;
		left: calc(var(--site-wrapper-padding) * -1);
		top: calc(var(--site-elements-padding) * -0.5);
		bottom: calc(var(--element-padding-bottom, var(--site-elements-padding)) * -1);
		right: calc(var(--site-wrapper-padding) * -1);
		background-color: var(--rightcolumnbg, none);
		z-index: 1;
	}


	body .ce-block.ce-text-image {
		padding-top: 0;
	}
		
	body .ce-block.ce-text-image .ce-flex-wrapper {
		gap: var(--textmargin, calc(var(--site-column-margin) / 2));
	}

	body .ce-block.ce-text-image .ce-imagecolumn {
		order: 1;
	}

	body .ce-block.ce-text-image .ce-textcolumn {
		margin: 0 !important;
		order: 2;
	}


	body .ce-block.ce-text-image.ce-fill-imagecolumn .ce-imagecolumn > img {
		width: 100%;
	}


	body .ce-block.ce-text-image.ce-fullwidth-image:not(.ce-bgcolor) {
		padding-bottom: 0;
	}

	body .ce-block.ce-text-image.ce-fullwidth-image .ce-fullwidth-image-wrap {
		position: static;
		width: calc(100% + var(--site-wrapper-padding) * 2) !important;
		margin-left: calc(var(--site-wrapper-padding) * -1);
	}

	body .ce-block.ce-text-image.ce-fullwidth-image .ce-fullwidth-image-wrap img {
		height: auto;
	}


	body .ce-block.ce-text-image.ce-fancy-image {
		margin-top: var(--element-margin-top, var(--site-elements-padding));
		margin-bottom: var(--element-margin-bottom, 0);
	}

	body .ce-block.ce-bgcolor + .ce-block.ce-text-image.ce-fancy-image.ce-bgcolor {
		margin-top: 0;
	}

	body .ce-block.ce-text-image.ce-fancy-image .ce-fullwidth-image-wrap img {
		width: 100% !important;
		margin: 0 !important;
		border-radius: 0 !important;
	}
	
	body .ce-block.ce-text-image.ce-fancy-image .ce-textcolumn {
		padding: 0 !important;
	}


	body .ce-block.ce-multi-columns[style] .ce-grid-wrapper {
		grid-template-columns: 100%;
		gap: var(--site-column-margin);
	}

	body .ce-block.ce-multi-columns[style$="--grid-columns: 6;"] .ce-grid-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	
	body .ce-block.ce-bgcolor + .ce-block.ce-map {
		margin-top: 0;
	}
	
	
	#large-modal-content-wrap {
		width: 100% !important;
		max-width: calc(100vw - 40px) !important;
		max-height: calc(100vh - 40px) !important;
	}
	
	.type-text #large-modal-content {
		padding: 30px;
	}
	
	.type-text #large-modal-content > :last-child {
		margin-bottom: 30px;
	}

}


@media only screen and (max-width: 540px) {



}


@media only screen and (max-width: 414px) {

	#large-modal-content-wrap {
		width: 100% !important;
		max-width: calc(100vw - 20px) !important;
		max-height: calc(100vh - 20px) !important;
	}
	
	.type-text #large-modal-content {
		padding: 20px;
	}
	
	#head {
		height: calc(5em - 20px);
		padding: 10px 0;
	}
	
	#billboard .billboard-slide-text-content {
		max-width: none;
	}
	
	main a[class*="button-link"] {
		margin: 5px;
	}

}

