/* Helpers */
.wrap {
	width: 100%;
	max-width: 1240px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}

.row {
	display: flex;
	flex-wrap: wrap;
	--gap: 0px;
	gap: var(--gap) 0;
	width: calc(100% + var(--gap));
}

.row.m-gap {
	--gap: 20px;
}

.col {
	width: calc(100% - var(--gap));
	margin-right: var(--gap);
}

@media (min-width: 600px) {
	.w-1of2-tb {
		width: calc(50% - var(--gap));
	}

	.w-1of3-tb {
		width: calc(33.33% - var(--gap));
	}

	.w-2of3-tb {
		width: calc(66.66% - var(--gap));
	}

	.w-1of4-tb {
		width: calc(25% - var(--gap));
	}

	.w-3of4-tb {
		width: calc(75% - var(--gap));
	}
}

@media (min-width: 900px) {
	.w-1of2-dt {
		width: calc(50% - var(--gap));
	}

	.w-1of3-dt {
		width: calc(33.33% - var(--gap));
	}

	.w-2of3-dt {
		width: calc(66.66% - var(--gap));
	}

	.w-1of4-dt {
		width: calc(25% - var(--gap));
	}

	.w-3of4-dt {
		width: calc(75% - var(--gap));
	}
}

@media (min-width: 1200px) {
	.w-1of2-xx {
		width: calc(50% - var(--gap));
	}

	.w-1of3-xx {
		width: calc(33.33% - var(--gap));
	}

	.w-2of3-xx {
		width: calc(66.66% - var(--gap));
	}

	.w-2of5-xx {
		width: calc(40% - var(--gap));
	}

	.w-3of5-xx {
		width: calc(60% - var(--gap));
	}
	
}

/* Reset */
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	box-sizing: border-box;
}

html,
body {
	overflow-x: hidden;
	scroll-behavior: smooth;
}

body {
	background-color: #fff;
	font-family: var(--text-font);
}

body,
input,
label,
select,
textarea {
	color: #000;
	font-size: 16px;
}

a,
button,
label,
summary,
input[type="submit"] {
	cursor: pointer;
	text-decoration: none;
	transition: all .3s ease-out;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

::placeholder {
	opacity: .5;
}