/****************************************/
/* COMMON
/****************************************/

/* Containers */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl,
.container-fluid {
	margin: 0 auto;
	padding: 0 15px;
}

@media (min-width : 576px) {
	.container,
	.container-sm {
		max-width: 540px;
	}
}

@media (min-width : 768px) {
	.container,
	.container-sm,
	.container-md {
		max-width: 720px;
	}
}

@media (min-width : 992px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg {
		max-width: 960px;
	}
}

@media (min-width : 1200px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl {
		max-width: 1140px;
	}
}

@media (min-width : 1400px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl,
	.container-xxl {
		max-width: 1320px;
	}
}

.narrow-container {
	max-width: 960px;
}
/***/


/* Rows */
.row {
	display: flex;
	/*justify-content: space-between;*/
    flex-wrap: wrap;
	margin: 0 -15px;
}
.row > * {
	max-width: 100%;
    /*flex-shrink: 0;*/
	flex: 0 0 auto;
	padding: 0 15px;
}
/***/


/* Columns */
.col {
}
.col-1  { width:  8.3333%; } 
.col-2  { width: 16.6666%; }
.col-3  { width: 25%; }
.col-4  { width: 33.3333%; }
.col-5  { width: 41.6666%; }
.col-6  { width: 50%; }
.col-7  { width: 58.3333%; }
.col-8  { width: 66.6666%; }
.col-9  { width: 75%; }
.col-10 { width: 83.3333%; }
.col-11 { width: 91.6666%; }
.col-12 { width: 100%; }
@media (min-width : 576px) {
	.col-sm-1  { width:  8.3333%; }
	.col-sm-2  { width: 16.6666%; }
	.col-sm-3  { width: 25%; }
	.col-sm-4  { width: 33.3333%; }
	.col-sm-5  { width: 41.6666%; }
	.col-sm-6  { width: 50%; }
	.col-sm-7  { width: 58.3333%; }
	.col-sm-8  { width: 66.6666%; }
	.col-sm-9  { width: 75%; }
	.col-sm-10 { width: 83.3333%; }
	.col-sm-11 { width: 91.6666%; }
	.col-sm-12 { width: 100%; }
}
@media (min-width : 768px) {
	.col-md-1  { width:  8.3333%; }
	.col-md-2  { width: 16.6666%; }
	.col-md-3  { width: 25%; }
	.col-md-4  { width: 33.3333%; }
	.col-md-5  { width: 41.6666%; }
	.col-md-6  { width: 50%; }
	.col-md-7  { width: 58.3333%; }
	.col-md-8  { width: 66.6666%; }
	.col-md-9  { width: 75%; }
	.col-md-10 { width: 83.3333%; }
	.col-md-11 { width: 91.6666%; }
	.col-md-12 { width: 100%; }
}
@media (min-width : 992px) {
	.col-lg-1  { width:  8.3333%; }
	.col-lg-2  { width: 16.6666%; }
	.col-lg-3  { width: 25%; }
	.col-lg-4  { width: 33.3333%; }
	.col-lg-5  { width: 41.6666%; }
	.col-lg-6  { width: 50%; }
	.col-lg-7  { width: 58.3333%; }
	.col-lg-8  { width: 66.6666%; }
	.col-lg-9  { width: 75%; }
	.col-lg-10 { width: 83.3333%; }
	.col-lg-11 { width: 91.6666%; }
	.col-lg-12 { width: 100%; }
}
@media (min-width : 1200px) {
	.col-xl-1  { width:  8.3333%; }
	.col-xl-2  { width: 16.6666%; }
	.col-xl-3  { width: 25%; }
	.col-xl-4  { width: 33.3333%; }
	.col-xl-5  { width: 41.6666%; }
	.col-xl-6  { width: 50%; }
	.col-xl-7  { width: 58.3333%; }
	.col-xl-8  { width: 66.6666%; }
	.col-xl-9  { width: 75%; }
	.col-xl-10 { width: 83.3333%; }
	.col-xl-11 { width: 91.6666%; }
	.col-xl-12 { width: 100%; }
}
/***/




/* Spacers and separators */
.smallest-spacer,
.smaller-spacer,
.small-spacer,
.spacer,
.default-spacer,
.medium-spacer,
.big-spacer,
.bigger-spacer,
.biggest-spacer {
	clear: both;
	height: 1px;
}
.smallest-spacer { 
	margin: 5px 0;
}
.smaller-spacer {
	margin: 10px 0;
}
.small-spacer { 
	margin: 20px 0;
}
.spacer,
.default-spacer,
.medium-spacer {
	margin: 30px 0;
}
.big-spacer {
	margin: 45px 0;
}
.bigger-spacer {
	margin: 60px 0;
}
.biggest-spacer {
	margin: 75px 0;
}
/***/




/* Decorations */
.deco-h:after {
	content: '';
	display: block;
	width: 80px;
	height: 3px;
	margin: 0.5em 0.05em 0.75em 0.05em;
	background: var(--main-color);
}

.h-deco {
	display: inline-block;
	width: 80px;
	height: 3px;
	background: var(--main-color);
}
h1 + .h-deco {
	margin: 0.25em 0 2.25em 0;
}
h2 + .h-deco {
	margin: 0.25em 0 2.25em 0;
}
h3 + .h-deco {
	margin: 0.25em 0 1em 0;
}
h4 + .h-deco {
	margin: 0.25em 0 0.5em 0;
}
/***/



/* Text */
.text-align-left 	{ text-align: left; }
.text-align-center 	{ text-align: center; }
.text-align-right 	{ text-align: right; }
.text-align-justify	{ text-align: justify; }
.text-align-initial	{ text-align: initial; }
.text-align-inverse	{ }

.font-size-smallest	{ font-size: 0.6666em; }
.font-size-smaller	{ font-size: 0.75em; }
.font-size-small 	{ font-size: 0.85em; }
/***/



/* Misc */
.char-sep {
	padding: 0 0.5em;
}

.clear {
	clear: both;
}
.clear-after:after {
	content: '';
	display: block;
	clear: both;
}
/***/




