/*
-------------------

	Basekit

	Framework · Layout
	Fev . 2022

	© Exactuflow
	http://basekit.exactusensu.pt

	Table of Contents

	· Body
	· Overlay
	· Resets
	· Pages
	· Containers
	· Positioning
	· Utils

-------------------
*/

/* Body */

	body {
		margin: 0px;
		padding: 0px;
	}

/* Overlay */
	
	.overlay {
		position: fixed;
		top: 0px;
		left: 0px;
		height: 100%;
		width: 100%;
		background-color: #ffffff;
		opacity: 1;
		z-index: 9999999999;
		transition: 0.4s opacity ease-in-out;
	}

	.overlay.inactive {
		opacity: 0;
	}


/* Shade */

	.shade {
		position: fixed;
		top: 0px;
		left: 0px;
		height: 100%;
		width: 100%;
		opacity: 0;
		z-index: 888888;
		transition: 0.2s all ease-in-out;
		background-color: rgba(0, 0, 0, 0);
	}

	.shade.active {
		opacity: 1;
		backdrop-filter: blur(3px) !important;
	}

	.shade .background {
		display: block;
		position: fixed;
		top: 0px;
		left: 0px;
		height: 100%;
		width: 100%;
		background-color: #000000;
		opacity: 0.3;
	}


/* Resets */

	group, page, container, row, column {
		display: block;
	}


/* Pages */

	/* Pages . Default */

		page {
			box-sizing: border-box;
			min-height: 100vh;
		}

		page.ignore_header {
			padding-top: 0px !important;
		}

	/* Pages . Extra small screens */

		@media (min-width: 100px) {

			page { padding-top: 146px !important; }

			/* Screen size specific overides */
			page.xs-ignore_header { padding-top: 0px !important; }

		}

	/* Pages . Small screens */

		@media (min-width: 768px) {

			page.xs-ignore_header,
			page { padding-top: 96px !important; }

			/* Screen size specific overides */
			page.sm-ignore_header { padding-top: 0px !important; }

		}

	/* Pages . Medium screens */

		@media (min-width: 990px) {

			page.xs-ignore_header,
			page.sm-ignore_header,
			page { padding-top: 96px !important; }

			/* Screen size specific overides */
			page.md-ignore_header { padding-top: 0px !important; }

		}

	/* Pages . Large screens */

		@media (min-width: 1200px) {

			page.xs-ignore_header,
			page.sm-ignore_header,
			page.md-ignore_header,
			page { padding-top: 96px !important; }

			/* Screen size specific overides */
			page.lg-ignore_header { padding-top: 0px !important; }

		}


/* Containers */

	/* Containers . Default */

		container {
			padding-right: 0px;
			padding-left: 0px;
			background-repeat: no-repeat;
		}

	/* Containers . Fluid */

		container.fluid {
			padding-right: 0px;
			padding-left: 0px;
			margin-right: auto;
			margin-left: auto;
		}


/* Positioning */

	/* Positioning . Horizontal Left */

		.h_left {
			float: left;
		}

	/* Positioning . Horizontal Center */

		.h_center {
			display: block !important;
			margin-left: auto;
			margin-right: auto;
		}

	/* Positioning . Horizontal Right */

		.h_right {
			float: right;
		}

	/* Positioning . Vertical Center */

		.v_center,
		.v_bottom {
			display: block;
		}


		@media (min-width: 100px) {

			.xs-h_center {
				display: block !important;
				margin-left: auto !important;
				margin-right: auto !important;
			} 

		}

		@media (min-width: 768px) {

			.xs-h_center {
				display: inherit; !important;
				margin-left: 0px !important;
				margin-right: 0px !important;
			} 

			.sm-h_center {
				display: block !important;
				margin-left: auto !important;
				margin-right: auto !important;
			} 

		}

		@media (min-width: 990px) {

			.xs-h_center,
			.sm-h_center {
				display: inherit !important;
				margin-left: 0px !important;
				margin-right: 0px !important;
			} 

			.md-h_center {
				display: block !important;
				margin-left: auto !important;
				margin-right: auto !important;
			} 

		}

		@media (min-width: 1200px) {

			.xs-h_center,
			.sm-h_center,
			.md-h_center {
				display: inherit !important;
				margin-left: 0px !important;
				margin-right: 0px !important;
			} 

			.lg-h_center {
				display: block !important;
				margin-left: auto !important;
				margin-right: auto !important;
			} 

		}


/* Utils */

	.clear { clear: both; }
	.hide_overflow { overflow: hidden; }
	.hide_whitespace { font-size: 0px; }
