/* LAYOUT ============================== */
/* FIXED BODY */
.tt-body {
	padding-right: 0 !important;
	padding-left: 0 !important;
	margin: 0 !important;
	position: relative;
	min-height: 100vh;
	width: 100%;
	left: 0;
	top: 0;
}
.tt-body, .tt-body * {
	box-sizing: border-box;
}
.tt-main {
	position: absolute;
	min-height: 100vh;
	max-width: 100%;
	display: block;
	width: 100%;
	z-index: 0;
	margin: 0;
}
.tt-content {
	padding-bottom: 3em;
	height: max-content;
	position: absolute;
	min-height: 100%;
	width: 100%;
}

/* HEAD */
.tt-head {
	transition: height 0.2s ease-in-out;
	position: fixed;
	z-index: 20;
	width: 100%;
	left: 0;
	top: 0;
}
.tt-head > * {
	justify-content: center;
	align-items: center;
	flex-direction: row;
	position: absolute;
	width: max-content;
	padding: 0 1.5em;
	display: flex;
	height: 100%;
	top: 0;
}

/* HEAD MENU TOGGLE BUTTON */
.tt-head-menu.tt-ico {
	font-size: 2em;
	display: none;
}

/* HEAD-LOGO */
.tt-head-logo {
	overflow: hidden;
	left: 0;
}
.tt-head-logo-content {
	self-align: center;
	font-weight: bold;
	text-align: left;
	line-height: 1em;
	cursor: pointer;
	font-size: 2em;
	height: 1em;
}

/* HEAD GROUPS */
.tt-head-groups {
	align-items: stretch;
	padding: 0 0.5em;
	right: 0;
	top: 0;
}
.tt-head-group {
	justify-content: center;
	align-items: center;
	flex-direction: row;
	position: relative;
	width: max-content;
	padding: 0 1.5em;
	cursor: pointer;
	display: flex;
	height: 100%;
	top: 0;
}
.tt-head-group > .tt-ico {
	display: inline-block;
	margin: 0 0.5em 0 0;
	font-size: 1em;
}
.tt-head-group > .tt-submenu {
	width: max-content;
	min-width: 100%;
	left: unset;
	right: 0;
}
.tt-head-group > .tt-submenu > li {
	min-width: unset;
}
.tt-head-group li > * {
	padding: 1em 0.5em;
	/* text-align: left; */
	font-size: 1em;
}
.tt-head-group li .tt-ico {
	margin-right: 0.3em;
}

/* PAGE TITLE */
.tt-page-title {
	padding: 1em 1.5em 0.5em 1.5em;
	display: block;
	width: 100%;
	margin: 0;
}

/* HEAD RESPONSIVE - DESKTOP */
@media screen and (min-width: 993px) {
	.tt-head-hidden .tt-head {
		overflow: hidden;
		height: 0px;
	}
}
/* HEAD RESPONSIVE - MOBILE */
@media screen and (max-width: 992px) {
	.tt-head-menu.tt-ico {
		display: block;
	}
	.tt-head-logo > a {
		display: none;
	}
}

/* FOOTER */
.tt-foot {
	padding: 0 0 0 0.8em;
	position: absolute;
	line-height: 3em;
	font-size: 1.2em;
	text-align: left;
	overflow: hidden;
	height: 3em;
	width: 100%;
	bottom: 0;
	left: 0;
}
.ttf-main {
	font-family: 'Helvetica';
}

/* NO MENU VARIANT */
.tt-menu-off #content { padding-top: 4.3em; }
.tt-menu-off .tt-head .tt-head-logo .tt-head-menu { display: none!important; }
.tt-menu-off .tt-head .tt-head-logo .tt-head-logo-content { display: block!important; }
.tt-menu-off .tt-menu { display: none!important; }
@media screen and (max-width: 992px) { .tt-menu-off .tt-head .tt-head-logo { width: auto; } }

/* MENUS */
.tt-menu-toggle {
	margin-right: 1em;
}
.tt-menu {
	position: fixed;
	display: flex;
	z-index: 19;
	padding: 0;
	margin: 0;
}
.tt-menu > li {
	width: max-content;
	position: relative;
	list-style: none;
	cursor: pointer;
	flex-shrink: 0;
	padding: 0 1em;
}
.tt-menu > li.active > .tt-menu-title { font-weight: 600; }
.tt-menu-title {
	padding: 1em 2em 1em 2em;
	text-decoration: none;
	position: relative;
	display: block;
	color: inherit;
}
.tt-menu > li > .tt-menu-title {
	padding: 1em 1em 1em 2em;
}

/* MENU ARROWS */
.tt-menu-branch > .tt-menu-title::after {
	transform: translateX(-50%) translateY(-50%);
	font: normal normal normal 1em FontAwesome;
	transition: transform 0.2s ease-in-out;
	position: absolute;
	font-weight: bold;
	font-size: 1em;
	content: "\f0da";
	display: none;
	right: 1em;
	top: 50%;
}
.tt-menu-branch.open > .tt-menu-title::after {
	transform: translateX(-50%) translateY(-50%) rotate(90deg);
}

/* SUBMENUS */
.tt-submenu {
	transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
	flex-direction: column;
	flex-shrink: 0;
	padding: 0;
	margin: 0;
	left: 0;
	
	height: min-content;
	overflow: hidden;
	display: flex;
	max-height: 0;
	opacity: 0;
}

.tt-submenu > li {
	min-width: max-content;
	position: relative;
	list-style: none;
	padding: 0 0.5em;
	cursor: pointer;
	width: 100%;
}
.tt-menu li .tt-menu-title .tt-ico {
	transform: translateY(-50%);
	position: absolute;
	width: 1.5em;
	top: 50%;
	left: 0;
}
.tt-submenu li .tt-ico {
	width: 1.5em;
	left: 0;
}

/* MENU BARS */
.tt-menu li.tt-menu-bar {
	align-self: stretch;
	position: relative;
	padding: 0;
}

/* MENU RESPONSIVE - DESKTOP */
@media screen and (min-width: 993px) {
	/* CONTENT */
	.tt-menu-top .tt-main {
		min-height: calc(100vh - 7.5em);
		margin-top: 7.5em;
	}
	.tt-menu-left .tt-main { margin: 0 0 0 13em; }
	.tt-menu-right .tt-main { margin: 0 13em 0 0; }
	.tt-menu-left .tt-main,
	.tt-menu-right .tt-main,
	.tt-menu-bottom .tt-main {
		min-height: calc(100vh - 4.3em);
		margin-top: 4.3em;
	}
	.tt-menu-left .tt-main,
	.tt-menu-right .tt-main {
		width: calc(100% - 13em);
	}
	.tt-menu-bottom .tt-content {
		padding-bottom: 3em;
	}
	.tt-menu-bottom .tt-main {
		min-height: calc(100vh - 7.5em);
		margin-bottom: 3em;
	}
	.tt-menu-bottom .tt-foot {
		display: none;
	}
	
	/* MENU - TOP - BOTTOM */
	.tt-menu-top .tt-menu, .tt-menu-left .tt-menu, .tt-menu-right .tt-menu {
		top: 4.3em;
	}
	.tt-menu-top .tt-menu, .tt-menu-bottom .tt-menu {
		transition: top 0.2s ease-in-out;
		padding-left: 0.5em;
		width: 100%;
	}
	.tt-menu-left .tt-menu, .tt-menu-right .tt-menu {
		transition: top 0.2s ease-in-out, height 0.2s ease-in-out;
		height: calc(100% - 4.3em);
	}
	.tt-head-hidden.tt-menu-top .tt-menu,
	.tt-head-hidden.tt-menu-left .tt-menu,
	.tt-head-hidden.tt-menu-right .tt-menu {
		top: 0;
	}
	.tt-head-hidden.tt-menu-left .tt-menu,
	.tt-head-hidden.tt-menu-right .tt-menu {
		height: 100%;
	}
	.tt-menu-bottom .tt-menu {
		bottom: 0;
	}
	.tt-menu-top .tt-menu,
	.tt-menu-bottom .tt-menu {
		flex-direction: row;
		height: 3em;
		left: 0;
	}
	.tt-menu-top .tt-menu .tt-scroll-x, .tt-menu-bottom .tt-menu .tt-scroll-x,
	.tt-menu-top .tt-menu .tt-scroll-y, .tt-menu-bottom .tt-menu .tt-scroll-y {
		display: none !important;
	}
	.tt-menu > li:last-child .tt-submenu { left: unset; right: 0; }
	.tt-menu-top .tt-menu .tt-submenu,
	.tt-menu-bottom .tt-menu .tt-submenu,
	.tt-has-submenu .tt-submenu	{
		position: absolute;
		z-index: 20;
	}
	.tt-menu-top .tt-menu > li:hover .tt-submenu,
	.tt-menu-bottom .tt-menu > li:hover .tt-submenu {
		max-height: 100vh;
		opacity: 1;
	}
	.tt-menu-top .tt-menu .tt-submenu,
	.tt-has-submenu .tt-submenu	{
		/* box-shadow: 0px 5px 12px -3px rgba(0, 0, 0, 0.3); *//* 0px 6px 10px -5px rgba(0, 0, 0, 0.23); */
		box-shadow: 0px 5px 8px -3px rgba(0, 0, 0, 0.2);
		/*border-radius: 0 0 1em 1em;*/
		top: 100%;
	}
	.tt-menu-bottom .tt-menu .tt-submenu {
		box-shadow: 0px -5px 12px -3px rgba(0, 0, 0, 0.3); /* 0px -6px 10px -5px rgba(0, 0, 0, 0.23); */
		border-radius: 1em 1em 0 0;
		bottom: 100%;
	}
	.tt-menu-top .tt-menu-bar, .tt-menu-bottom .tt-menu-bar {
		margin: 0 0 0 -0.5em;
		min-width: 2px;
		width: 2px;
	}

	/* MENU - LEFT - RIGHT */
	.tt-menu-left .tt-menu { left: 0; }
	.tt-menu-right .tt-menu { right: 0; }
	.tt-menu-left .tt-menu,
	.tt-menu-right .tt-menu {
		flex-direction: column;
		padding-top: 1em;
		overflow: hidden;
		width: 13em;
		height: 100%;
	}
	.tt-menu-left .tt-menu > li,
	.tt-menu-right .tt-menu > li {
		overflow: hidden;
		width: 100%;
	}
	.tt-menu-left .tt-menu-branch > .tt-menu-title::after,
	.tt-menu-right .tt-menu-branch > .tt-menu-title::after {
		display: block;
	}
	.tt-menu-left .tt-menu > li > .tt-menu-title, .tt-menu-right .tt-menu > li > .tt-menu-title {
		padding: 1em 2em 1em 2em;
	}
	
	.tt-has-submenu:hover .tt-submenu,
	.tt-menu-left .tt-menu > li.open .tt-submenu,
	.tt-menu-right .tt-menu > li.open .tt-submenu {
		max-height: 100vh;
		opacity: 1;
	}
	.tt-menu-left .tt-menu .tt-submenu,
	.tt-menu-right .tt-menu .tt-submenu {
		position: relative;
	}
	.tt-menu-left .tt-menu-bar,
	.tt-menu-right .tt-menu-bar {
		min-height: 1px;
		height: 1px;
		margin: 0;
	}
	/* SCROLL FIX RIGHT //// */
}

/* MENU RESPONSIVE - MOBILE */
@media screen and (max-width: 992px) {
	/* CONTENT */
	.tt-main {
		min-height: calc(100vh - 4.3em);
		margin-top: 4.3em;
	}
	.tt-menu-float .tt-main {
		width: calc(100% - 13em);
	}
	/* MENU - FLOATER */
	.tt-menu {
		position: fixed !important;
		height: calc(100% - 4.3em);
		flex-direction: column;
		padding-top: 1em;
		overflow: hidden;
		display: none;
		width: 13em;
		top: 4.3em;
		left: 0;
	}
	.tt-menu.tt-menu-float {
		display: flex;
		z-index: 999;
	}
	.tt-menu > li {
		overflow: hidden;
		width: 100%;
	}
	.tt-menu > li.active {
		background-color: #f9f9f9;
	}
	.tt-has-submenu:hover .tt-submenu,
	.tt-menu-top .tt-menu > li:hover .tt-submenu,
	.tt-menu-bottom .tt-menu > li:hover .tt-submenu,
	.tt-menu > li.open .tt-submenu {
		max-height: 100vh;
		opacity: 1;
	}
	.tt-has-submenu .tt-submenu {
		box-shadow: 1px 10px 5px rgba(0, 0, 0, 0.1);
		position: absolute;
		z-index: 11;
		top: 100%;
	}
	.tt-menu .tt-submenu {
		position: relative;
	}
	.tt-menu-bar {
		min-height: 1px;
		height: 1px;
		margin: 0;
	}
	.tt-menu-branch > .tt-menu-title::after {
		display: block;
	}
	.tt-menu > li > .tt-menu-title {
		padding: 1em 2em 1em 2em;
	}
}

/* STANDARD CLASSES ==================== */
/* BOXES */
.tt-box-row {
	padding: 0 0.75vmin 0 0.75vmin;
	flex-direction: row;
	flex-wrap: wrap;
	display: flex;
	width: 100%;
}
.tt-box-row:first-child { padding-top: 1.5em; }
.tt-box-row:last-child { padding-bottom: 1.5em; }
.tt-content > .tt-box {
	padding-right: 1.5vmin;
	padding-left: 1.5vmin;
}
.tt-box {
	padding: 0.75vmin 0 0.75vmin 0;
	width: 100%;
	margin: 0;
}
.tt-box:first-child { padding-top: 1.5em; }
.tt-box:last-child { padding-bottom: 1.5em; }
.tt-box-row > .tt-box, .tt-box-row > .tt-box:first-child, .tt-box-row > .tt-box:last-child {
	min-width: 25em;
	padding: 0.75em;
}
.tt-box-body {
	box-shadow: 1px 5px 10px rgba(0, 0, 0, 0.04);
	background-color: #ffffff;
	padding: 1.5em;
	width: 100%;
}

/* BUTTONS */
.tt-but, .tt-but-sm {
	vertical-align: middle;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	position: relative;
	font-weight: bold;
	overflow: hidden;
	cursor: pointer;
	/* NO SELECT */
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.tt-but:visited, .tt-but-sm:visited {
	text-decoration: none;
}
.tt-but {
	padding: 0.375em 1em;
	margin: 0.3em 0.5em;
	font-size: 0.875em;
	line-height: 1.5;
}
.tt-high-dpi .tt-but {
	font-size: 1em;
}
.tt-but-sm {
	padding: 0.25em 0.6em;
	font-size: 0.76563em;
	line-height: 1.5;
	margin: 0 0.25em;
}
.tt-but:active, .tt-but-sm:active {
	transform: translateY(1px);
}
.tt-but .tt-ico, .tt-but-sm .tt-ico {
	vertical-align: bottom;
	margin-right: 0.5em;
}

/* ICONS */
.tt-ico {
	vertical-align: baseline;
	display: inline-block;
	position: relative;
	height: 1em;
	width: 1em;
}
.tt-ico::before {
	transform: translateX(-50%) translateY(-50%);
	font: normal normal normal 1em FontAwesome;
	display: inline-block;
	text-rendering: auto;
	position: absolute;
	line-height: 1em;
	speak: none;
	left: 50%;
	top: 50%;
}
.tt-ico.tt-ti::before {
	font: normal normal normal 1em themify;
}

.tt-ico-before::before {
	font: normal normal normal 1em FontAwesome;
	transform: translateY(-50%);
	margin-right: 0.5em;
	position: absolute;
	right: 100%;
	top: 50%;
}
.tt-ico-after::after {
	font: normal normal normal 1em FontAwesome;
	transform: translateY(-50%);
	margin-right: 0.5em;
	position: absolute;
	right: 100%;
	top: 50%;
}

/* CLICKABLE */
.tt-click {
	transition: transform 0.1s ease-in-out;
	cursor: pointer;
}
.tt-click:hover {
	transform: scale(1.05);
}
.tt-click:active {
	transform: translateY(1px) scale(1.05);
}
.tt-click-before::before {
	transition: transform 0.1s ease-in-out;
	cursor: pointer;
}
.tt-click-before:hover::before {
	transform: translateX(-50%) translateY(-50%) scale(1.2);
}
.tt-click-before:active::before {
	transform: translateX(-50%) translateY(-48%) scale(1.2);
}

/* FLEX LAYOUT - ROWS */
.tt-row, .tt-row-center {
	flex-direction: row;
	flex-wrap: wrap;
	display: flex;
	min-width: 100%;
}
.tt-row-center {
	justify-content: center !important;
}
.tt-col, .tt-col-1,.tt-col-2,.tt-col-3,.tt-col-4,.tt-col-5,.tt-col-6,.tt-col-7,.tt-col-8,.tt-col-9,.tt-col-10,.tt-col-11,.tt-col-12 {
	min-width: min-content;
	flex: 1;
}
.tt-col-1 { width: 8.33333%; }
.tt-col-2 { width: 16.66667%; }
.tt-col-3 { width: 25%; }
.tt-col-4 { width: 33.33333%; }
.tt-col-5 { width: 41.66667%; }
.tt-col-6 { width: 50%; }
.tt-col-7 { width: 58.33333%; }
.tt-col-8 { width: 66.66667%; }
.tt-col-9 { width: 75%; }
.tt-col-10 { width: 83.33333%; }
.tt-col-11 { width: 91.66667%; }
.tt-col-12 { width: 100%; }

/* FLEX LAYOUT - GAPPED */
.tt-gap1 { margin: -0.25em; }

.tt-gap2 { margin: -0.5em; }
.tt-gap3 { margin: -0.75em; }
.tt-gap4 { margin: -1em; }
.tt-gap1 > .tt-col, .tt-gap1 > .tt-col-1,.tt-gap1 > .tt-col-2,.tt-gap1 > .tt-col-3,.tt-gap1 > .tt-col-4,.tt-gap1 > .tt-col-5,.tt-gap1 > .tt-col-6,.tt-gap1 > .tt-col-7,.tt-gap1 > .tt-col-8,.tt-gap1 > .tt-col-9,.tt-gap1 > .tt-col-10,.tt-gap1 > .tt-col-11,.tt-gap1 > .tt-col-12 {
		margin: 0.25em; }
.tt-gap2 > .tt-col, .tt-gap2 > .tt-col-1,.tt-gap2 > .tt-col-2,.tt-gap2 > .tt-col-3,.tt-gap2 > .tt-col-4,.tt-gap2 > .tt-col-5,.tt-gap2 > .tt-col-6,.tt-gap2 > .tt-col-7,.tt-gap2 > .tt-col-8,.tt-gap2 > .tt-col-9,.tt-gap2 > .tt-col-10,.tt-gap2 > .tt-col-11,.tt-gap2 > .tt-col-12 {
		margin: 0.5em; }
.tt-gap3 > .tt-col, .tt-gap3 > .tt-col-1,.tt-gap3 > .tt-col-2,.tt-gap3 > .tt-col-3,.tt-gap3 > .tt-col-4,.tt-gap3 > .tt-col-5,.tt-gap3 > .tt-col-6,.tt-gap3 > .tt-col-7,.tt-gap3 > .tt-col-8,.tt-gap3 > .tt-col-9,.tt-gap3 > .tt-col-10,.tt-gap3 > .tt-col-11,.tt-gap3 > .tt-col-12 {
		margin: 0.75em; }
.tt-gap4 > .tt-col, .tt-gap4 > .tt-col-1,.tt-gap4 > .tt-col-2,.tt-gap4 > .tt-col-3,.tt-gap4 > .tt-col-4,.tt-gap4 > .tt-col-5,.tt-gap4 > .tt-col-6,.tt-gap4 > .tt-col-7,.tt-gap4 > .tt-col-8,.tt-gap4 > .tt-col-9,.tt-gap4 > .tt-col-10,.tt-gap4 > .tt-col-11,.tt-gap4 > .tt-col-12 {
		margin: 1em; }

/* FLEX LAYOUT - COLUMNS */
.tt-cols {
	flex-direction: column;
	display: flex;
	width: 100%;
}

/* FLEX LAYOUT - STRETCHABLE */
.tt-stretch, .tt-stretch-max, .tt-stretch-min {
	flex: 1;
}
.tt-row .tt-stretch-min { min-width: max-content; }
.tt-row .tt-stretch-max { max-width: max-content; }
.tt-cols .tt-stretch-min { min-height: max-content; }
.tt-cols .tt-stretch-max { max-height: max-content; }

/* FLEX HELPERS */
.tt-self-center {
	align-self: center;
}

/* FLEX - ADVANCED */
.tf-centerbox {
	justify-content: center;
	align-items: center;
	display: flex;
	flex: 1;
}
.tf-col { flex-direction: column; }
.tf-row { flex-direction: row; }
.tf-col, .tf-row {
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	display: flex;
}
.tf-col.stretch, .tf-row.stretch {
	align-items: stretch;
}
.tf-col.flex-start, .tf-row.flex-start {
	align-items: flex-start;
}
.tf-col.flex-end, .tf-row.flex-end {
	align-items: flex-end;
}
.tf-col.tf-je, .tf-row.tf-je,
.tf-col.tf-j-even, .tf-row.tf-j-even {
	justify-content: space-evenly;
}
.tf-col.tf-jc, .tf-row.tf-jc,
.tf-col.tf-j-center, .tf-row.tf-j-center {
	justify-content: center;
}
.tf-col.tf-j-end, .tf-row.tf-j-end {
	justify-content: flex-end;
}

.tf-col.tf-nowrap, .tf-row.tf-nowrap {
	flex-wrap: nowrap;
}

.tf-stretch { align-self: stretch; }
.tf-center { align-self: center; }
.tf-grow { flex: 1; }
.tf-grow-max { flex: 1; max-width: max-content; }

.tf-0  { flex: 0 0 auto !important; }
.tf-1  { flex-grow:  1; flex-basis:   8.3333%; }
.tf-2  { flex-grow:  2; flex-basis:  16.6667%; }
.tf-3  { flex-grow:  3; flex-basis:  25.0000%; }
.tf-4  { flex-grow:  4; flex-basis:  33.3333%; }
.tf-5  { flex-grow:  5; flex-basis:  41.6667%; }
.tf-6  { flex-grow:  6; flex-basis:  50.0000%; }
.tf-7  { flex-grow:  7; flex-basis:  58.3333%; }
.tf-8  { flex-grow:  8; flex-basis:  66.6667%; }
.tf-9  { flex-grow:  9; flex-basis:  75.0000%; }
.tf-10 { flex-grow: 10; flex-basis:  83.3333%; }
.tf-11 { flex-grow: 11; flex-basis:  91.6667%; }
.tf-12 { flex-grow: 12; flex-basis: 100.0000%; }

/* HELPERS */
.tt-left {
	float: left;
}
.tt-right {
	float: right;
}
.tt-relative, .tt-rel {
	position: relative !important;
}
.tt-abscenter, .tt-absc {
	transform: translateX(-50%) translateY(-50%);
	position: absolute;
	left: 50%;
	top: 50%;
}
.tt-fill {
	width: 100%;
}
.tt-ctw {
	text-align: center;
	width: 100%;
}
.tt-c {
	text-align: center;
}
.tt-l {
	text-align: left;
}
.tt-r {
	text-align: right;
}
.tt-w-max {
	width: max-content !important;
}
.tt-h-max {
	height: max-content !important;
}
.tt-block {
	display: block !important;
}
.tt-no-decoration {
	text-decoration: none;
}
.tt-pointer {
	cursor: pointer;
}

/* BORDERS */
.bt0 {    border-top: none !important; }
.bl0 {   border-left: none !important; }
.br0 {  border-right: none !important; }
.bb0 { border-bottom: none !important; }
.ttr0 { border-radius: 0 !important; }

/* PADDING */
.pt0 {    padding-top: 0 !important; }
.pl0 {   padding-left: 0 !important; }
.pr0 {  padding-right: 0 !important; }
.pb0 { padding-bottom: 0 !important; }
.pd0 { padding: 0 !important; }
.pd1 { padding: 0.25em !important; }
.pd2 { padding: 0.5em !important;  }
.pd3 { padding: 0.75em !important; }
.pd4 { padding: 1em !important;    }
.pdb1 { padding-bottom: 0.25em !important; }
.pdb2 { padding-bottom: 0.5em !important; }
.pdb3 { padding-bottom: 0.75em !important; }
.pdb4 { padding-bottom: 1em !important; }
.pdr1 { padding-right: 0.25em !important; }
.pdr2 { padding-right: 0.5em !important; }
.pdr3 { padding-right: 0.75em !important; }
.pdr4 { padding-right: 1em !important; }
.pdl1 { padding-left: 0.25em !important; }
.pdl2 { padding-left: 0.5em !important; }
.pdl3 { padding-left: 0.75em !important; }
.pdl4 { padding-left: 1em !important; }
.pdt1 { padding-top: 0.25em !important; }
.pdt2 { padding-top: 0.5em !important; }
.pdt3 { padding-top: 0.75em !important; }
.pdt4 { padding-top: 1em !important; }

/* MARGIN */
.mt0 {    margin-top: 0 !important; }
.ml0 {   margin-left: 0 !important; }
.mr0 {  margin-right: 0 !important; }
.mb0 { margin-bottom: 0 !important; }
.mt1 {    margin-top: 0.25em !important; }
.ml1 {   margin-left: 0.25em !important; }
.mr1 {  margin-right: 0.25em !important; }
.mb1 { margin-bottom: 0.25em !important; }
.mt2 {    margin-top: 0.5em !important; }
.ml2 {   margin-left: 0.5em !important; }
.mr2 {  margin-right: 0.5em !important; }
.mb2 { margin-bottom: 0.5em !important; }
.mt3 {    margin-top: 0.75em !important; }
.ml3 {   margin-left: 0.75em !important; }
.mr3 {  margin-right: 0.75em !important; }
.mb3 { margin-bottom: 0.75em !important; }
.mt4 {    margin-top: 1em !important; }
.ml4 {   margin-left: 1em !important; }
.mr4 {  margin-right: 1em !important; }
.mb4 { margin-bottom: 1em !important; }
.mt5 {    margin-top: 1.5em !important; }
.ml5 {   margin-left: 1.5em !important; }
.mr5 {  margin-right: 1.5em !important; }
.mb5 { margin-bottom: 1.5em !important; }

/* USER INTERACTION ==================== */
/* HOVER GROW */
.tth-grow { transition: transform 0.1s ease-in-out; }
.tth-grow:hover { transform: scale(1.05); }

/* NO SELECT */
.tt-sel {
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}

/* SCROLL OVERRIDE ===================== */
.tt-scroll-x, .tt-scroll-y {
	background-color: rgba(255,255,255,0.5);
	border-left: 1px solid rgba(0,0,0,0.3);
	border-top: 1px solid rgba(0,0,0,0.3);
	transition: opacity 0.2s ease-in-out;
	position: absolute;
	overflow: hidden;
	cursor: pointer;
	z-index: 20;
	opacity: 0;
}
.tt-scroll-x:hover, .tt-scroll-y:hover {
	opacity: 1;
}
.tt-scroll-y {
	border-bottom: 1px solid rgba(0,0,0,0.3);
	height: calc(100% - 1.4em);
	margin: 0.7em 0 0 -0.8em;
	width: 0.8em;
	left: 100%;
	top: 0;
}
.tt-scroll-x {
	border-right: 1px solid rgba(0,0,0,0.3);
	width: calc(100% - 1.4em);
	margin: -0.8em 0 0 0.7em;
	height: 0.8em;
	top: 100%;
	left: 0;
}
.tt-scroll-x, .tt-scroll-x .tt-scroll-pos { border-radius: 1em 1em 0 0; }
.tt-scroll-y, .tt-scroll-y .tt-scroll-pos { border-radius: 1em 0 0 1em; }
.tt-scroll-x .tt-scroll-pos { top: 0; bottom: 0; }
.tt-scroll-y .tt-scroll-pos { left: 0; right: 0; }
.tt-scroll-pos {
	background-color: rgba(0,0,0,0.3);
	position: absolute;
}

/* noticeICATIONS ======================= */
/* CONTAINER */
#tt-notices {
	transform: translateX(-50%) translateY(-1.5em);
	overflow: hidden;
	position: fixed;
	cursor: pointer;
	z-index: 999;
	width: 25em;
	left: 50%;
	top: 4.3em;
}
/* noticeICAITON */
.tt-notice {
	animation: tt-notice-in 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
	text-overflow: ellipsis;
	padding: 0 1em 0 3em;
	margin-bottom: 0.5em;
	white-space: nowrap;
	position: relative;
	line-height: 3em;
	font-weight: bold;
	text-align: left;
	overflow: hidden;
	font-size: 1em;
	margin-left: 0;
	height: 3em;
	width: 100%;
	opacity: 1;
}
/* ICONS */
.tt-notice .tt-ico {
	position: absolute;
	height: 3em;
	width: 3em;
	left: 0;
	top: 0;
}
.tt-notice .tt-ico::before {
	transform: translateX(-50%) translateY(-50%) rotate(0);
	animation: tt-notice-in-before 0.5s ease-in-out;
	font-size: 2em;
}
/* BODY */
.tt-notice-title {
	text-overflow: ellipsis;
	line-height: 1.5em;
	overflow: hidden;
	font-size: 1em;
	display: block;
	height: 1.5em;
	width: 100%;
}
.tt-notice-body {
	text-overflow: ellipsis;
	font-weight: normal;
	line-height: 1em;
	overflow: hidden;
	display: block;
	height: 1.5em;
	width: 100%;
}
/* DELETION */
.tt-notice-kill {
	line-height: 1px;
	opacity: 0;
	height: 0;
}
/* ANIMATIONS */
@keyframes tt-notice-in {
	0% { margin-left: 99%; opacity: 0; }
	100% { margin-left: 0; opacity: 1; }
}
@keyframes tt-notice-in-before {
	 0% { transform: translateX(-50%) translateY(-50%) rotate(360deg); }
	25% { transform: translateX(-50%) translateY(-50%) rotate(270deg); }
	50% { transform: translateX(-50%) translateY(-50%) rotate(180deg); }
	75% { transform: translateX(-50%) translateY(-50%) rotate(90deg); }
	10% { transform: translateX(-50%) translateY(-50%) rotate(0deg); }
}
/* notice VARIATIONS */
.tt-notice-info .tt-ico::before { content: "\f05a"; }
.tt-notice-error .tt-ico::before { content: "\f057"; }
.tt-notice-warning .tt-ico::before { content: "\f071"; }
.tt-notice-success .tt-ico::before { content: "\f058"; }

/* COLOR CLASSES ======================= */
/* BACKGROUND DARKEN/LIGHTEN OVERLAY */
.ttb-dark, .ttb-dark2, .ttb-dark3,
.ttb-light, .ttb-light2, .ttb-light3 {
	mix-blend-mode: hard-light;
}



/* BACKGROUND HOVERS */
.tth-darken::before,.tth-darken2::before,.tth-darken3::before {
	mix-blend-mode: color-burn;
}
.tth-lighten::before,.tth-lighten2::before,.tth-lighten3::before, .tt-but::before, .tt-but-sm::before {
	mix-blend-mode: overlay; /* hard-light */
}
.tt-but::before,.tt-but-sm::before,
.tth-darken::before,.tth-darken2::before,.tth-darken3::before,
.tth-lighten::before,.tth-lighten2::before,.tth-lighten3::before {
	position: absolute;
	display: none;
	content: " ";
	height: 100%;
	width: 100%;
	z-index: 0;
	left: 0;
	top: 0;
}
.tt-but:hover::before,.tt-but-sm:hover::before,
.tth-darken:hover::before,.tth-darken2:hover::before,.tth-darken3:hover::before,
.tth-lighten:hover::before,.tth-lighten2:hover::before,.tth-lighten3:hover::before {
	display: block;
}
.tth-darken, .tth-darken2, .tth-darken2,
.tth-lighten, .tth-lighten2, .tth-lighten3 {
	overflow: hidden;
}
.tt-but .tt-ico {
  vertical-align: text-bottom;
  line-height: 1.5em;
  height: 1.4em;
  width: 1em;
}

/* ANIMATED */
.ttha-darken::before,.ttha-darken2::before,.ttha-darken3::before,
.ttha-lighten::before,.ttha-lighten2::before,.ttha-lighten3::before {
	transition: 0.1s ease-in-out;
	border-radius: 100%;
	transform: scale(0);
	position: absolute;
	display: block;
	content: " ";
	height: 100%;
	width: 100%;
	z-index: 0;
	left: 0;
	top: 0;
}
.ttha-darken:hover::before,.ttha-darken2:hover::before,.ttha-darken3:hover::before,
.ttha-lighten:hover::before,.ttha-lighten2:hover::before,.ttha-lighten3:hover::before {
	transform: scale(1);
	border-radius: 0;
}

/* TABS */
.tt-tab {
	cursor: pointer;
	/* NO SELECT */
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.tt-tab-box {
	display: none;
	width: 100%;
}
.tt-tab-box.tt-tab-active {
	display: block;
}

/* CRUMBS */
.tt-crumb.tt-but {
	margin-left: 0;
}
.tt-crumb.tt-but:hover {
	transform: scale(1.05);
}
.tt-crumb.tt-lg {
	padding: 0.3em 0.8em;
}
.tt-crumb.tt-lg .tt-ico {
	font-size: 1.4em;
}

/* ABS CIRCLE */
.tt-circle {
	border-radius: 50%;
	position: relative;
}

/* FONT HELPERS */
.tt-font-06 { font-size: 0.6em; }
.tt-font-07 { font-size: 0.7em; }
.tt-font-08 { font-size: 0.8em; }
.tt-font-09 { font-size: 0.9em; }
.tt-font-1  { font-size: 1em; }
.tt-font-11 { font-size: 1.1em; }
.tt-font-12 { font-size: 1.2em; }
.tt-font-13 { font-size: 1.3em; }
.tt-font-14 { font-size: 1.4em; }
.tt-font-15 { font-size: 1.5em; }
.tt-font-2  { font-size: 2em; }
.tt-font-25 { font-size: 2.5em; }
.tt-font-3  { font-size: 3em; }
.tt-font-35 { font-size: 3.5em; }
.tt-bold { font-weight: bold; }
.tt-bold-600 { font-weight: 600; }
.tt-regular { font-weight: normal; }

.tt-trans-1  { transition: all 1s ease-in-out !important; }
.tt-trans-03 { transition: all 0.3s ease-in-out !important; }
.tt-trans-05 { transition: all 0.5s ease-in-out !important; }

.t-300 { font-weight: 300; }
.t-400 { font-weight: 400; }
.t-500 { font-weight: 500; }
.t-600 { font-weight: 600; }
.t-underline { text-decoration: underline !important; }
.tl-1 { line-height: 1em; }
.tl-11 { line-height: 1.1em; }
.tl-12 { line-height: 1.2em; }
.tl-13 { line-height: 1.3em; }
.tl-14 { line-height: 1.4em; }
.tl-15 { line-height: 1.5em; }

.t1em { font-size: 1em; }
.t11em { font-size: 1.1em; }
.t12em { font-size: 1.2em; }
.t13em { font-size: 1.3em; }
.t14em { font-size: 1.4em; }
.t15em { font-size: 1.5em; }
.t16em { font-size: 1.6em; }
.t17em { font-size: 1.7em; }
.t18em { font-size: 1.8em; }
.t19em { font-size: 1.9em; }
.t2em { font-size: 1em; }
.t21em { font-size: 1.1em; }
.t22em { font-size: 1.2em; }
.t23em { font-size: 1.3em; }
.t24em { font-size: 1.4em; }
.t25em { font-size: 1.5em; }

/* SIZE HELPERS */
.w35em { width: 3.5em !important; }
.w1em { width: 1em !important; }
.w2em { width: 2em !important; }
.w3em { width: 3em !important; }
.w4em { width: 4em !important; }
.w5em { width: 5em !important; }
.w6em { width: 6em !important; }
.w7em { width: 7em !important; }
.w8em { width: 8em !important; }
.w9em { width: 9em !important; }
.w10em { width: 10em !important; }
.w11em { width: 11em !important; }
.w12em { width: 12em !important; }
.w13em { width: 13em !important; }
.w14em { width: 14em !important; }
.w15em { width: 15em !important; }
.w16em { width: 16em !important; }
.w17em { width: 17em !important; }
.w18em { width: 18em !important; }
.h1em { height: 1em !important; }
.h2em { height: 2em !important; }
.h3em { height: 3em !important; }
.h4em { height: 4em !important; }
.h5em { height: 5em !important; }
.h6em { height: 6em !important; }
.h7em { height: 7em !important; }
.h8em { height: 8em !important; }
.h9em { height: 9em !important; }
.h10em { height: 10em; }
.h11em { height: 11em; }
.h12em { height: 12em; }
.h13em { height: 13em; }
.h14em { height: 14em; }
.wh1em { height: 1em; width: 1em; }
.wh2em { height: 2em; width: 2em; }
.wh3em { height: 3em; width: 3em; }
.wh4em { height: 4em; width: 4em; }
.wh5em { height: 5em; width: 5em; }
.wh6em { height: 2em; width: 6em; }
.wh7em { height: 3em; width: 7em; }
.wh8em { height: 4em; width: 8em; }
.wh9em { height: 5em; width: 9em; }

.tt-oh { overflow: hidden !important; }
.tt-ov { overflow: visible !important; }
.tt-oa { overflow: auto !important; }
.tt-os { overflow: scroll !important; }

/* TRANSFORMS */
.tt-scale-11 { transform: scale(1.1); }
.tt-scale-12 { transform: scale(1.2); }
.tt-scale-13 { transform: scale(1.3); }
.tt-scale-14 { transform: scale(1.4); }
.tt-scale-15 { transform: scale(1.5); }

.tt-inline { display: inline-block; }

.tt-overscroll {
	-webkit-overflow-scrolling: none;
	overscroll-behavior: none;
	-ms-overflow-style: none;
}

/* GENERAL RESPONSIVE */
@media screen and (max-width: 992px) {
	.m-pl0 { padding-left: 0!important; }
	.m-pl1 { padding-left: 0.25em!important; }
	.m-pl2 { padding-left: 0.5em!important; }
	.m-pr0 { padding-right: 0!important; }
	.m-pr1 { padding-right: 0.25em!important; }
	.m-pr2 { padding-right: 0.5em!important; }
	.m-ml0 { margin-left: 0!important; }
	.m-ml1 { margin-left: 0.25em!important; }
	.m-ml2 { margin-left: 0.5em!important; }
	.m-mr0 { margin-right: 0!important; }
	.m-mr1 { margin-right: 0.25em!important; }
	.m-mr2 { margin-right: 0.5em!important; }
	.m-ttr0 { border-radius: 0!important; }
	.m-hide { display: none!important; }
}

/* EXPLICIT MOBILE CONDS */
.tt-mobile .mob-hide {
	display: none!important;
}
.mob-show-inline, .mob-show-block {
	display: none;
}
.tt-mobile .mob-show-inline {
	display: inline;
}
.tt-mobile .mob-show-block {
	display: block;
}

/* FAKE CHECKBOX */
.tt-checkbox {
	padding-left: 2em!important;
	position: relative;
	cursor: pointer;
}
.tt-checkbox::before {
	font: normal normal normal 1em FontAwesome;
	transition: transform 0.1s ease-in-out;
	transform: translateY(-50%);
	position: absolute;
	text-align: center;
	font-weight: bold;
	overflow: visible;
	line-height: 1em;
	content: "\f096";
	font-size: 1em;
	height: 1em;
	width: 2em;
	top: 50%;
	left: 0;
}
.tt-checkbox.checked::before {
	content: "\f14a";
}

/* CONTEXT MENUS */
.tt-context, .tt-context ul {
	box-shadow: 0px 0 1em -0.3em rgba(0, 0, 0, 0.2);
	background-color: #ffffff;
	flex-direction: column;
	align-items: stretch;
	width: max-content;
	list-style: none;
	display: flex;
	padding: 0;
	margin: 0;
}

/* CONTEXT SUBMENU */
.tt-context ul {
	position: absolute;
	display: none;
	left: 100%;
	top: 0;
}
.tt-context.tt-context-left ul,
.tt-context-left .tt-context ul {
	right: 100%;
	left: unset;
}
.tt-context li:hover > ul,
.tt-context li.open > ul {
	display: block;
}
.tt-context li > ul + .tt-context-title {
	padding: 0.1em 1.5em 0.1em 0.6em;
}
.tt-context.tt-context-left li > ul + .tt-context-title,
.tt-context-left .tt-context li > ul + .tt-context-title {
	padding: 0.1em 0.6em 0.1em 1.5em;
}
.tt-context li > ul + .tt-context-title::after {
	font: normal normal normal 1em FontAwesome;
	transition: transform 0.1s ease-in-out;
	transform: translateY(-50%);
	position: absolute;
	text-align: center;
	font-weight: bold;
	overflow: visible;
	line-height: 1em;
	font-size: 0.6em;
	content: "\f0da";
	right: 0.5em;
	height: 1em;
	width: 1em;
	top: 50%;
}
.tt-context.tt-context-left li > ul + .tt-context-title::after,
.tt-context-left .tt-context li > ul + .tt-context-title::after {
	content: "\f0d9";
	right: unset;
	left: 0.5em;
}

.tt-context li:hover > ul + .tt-context-title::after,
.tt-context li.open > ul + .tt-context-title::after {
	transform: translateY(-50%) rotate(45deg);
}
.tt-context.tt-context-left li:hover > ul + .tt-context-title::after,
.tt-context.tt-context-left li.open > ul + .tt-context-title::after,
.tt-context-left .tt-context li:hover > ul + .tt-context-title::after,
.tt-context-left .tt-context li.open > ul + .tt-context-title::after {
	transform: translateY(-50%) rotate(-45deg);
}

/* CONTEXT LI */
.tt-context li {
	min-width: max-content;
	margin: 0 0 0.2em 0;
	position: relative;
	list-style: none;
	flex-shrink: 0;
	flex-grow: 1;
	padding: 0;
}
.tt-context li:last-child {
	margin: 0;
}

/* CONTEXT LI TITLE */
.tt-context-title {
	text-decoration: none;
	padding: 0.1em 0.6em;
	position: relative;
	min-width: 100%;
	cursor: pointer;
	display: block;
	color: inherit;
}
.tt-context li:hover {
	background-color: #eeeeee;
}
.tt-context li.active > .tt-context-title,
.tt-context li.open > .tt-context-title {
	font-weight: 600;
}

/* TEXT */
.tt-trim {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}