//colors
$color_white : #ffffff;
$color_red   : #d70a0a;
$color_blue  : #0d61ab;

//mixins
@mixin animation($a){
	-webkit-animation: $a;
	-moz-animation: $a;
	-ms-animation: $a;
	animation: $a;
}
@mixin border-radius($r : 3px){
	-webkit-border-radius: $r;
	-moz-border-radius: $r;
	-ms-border-radius: $r;
	border-radius: $r;
}
@mixin box-shadow($boxshadow : none){
	-webkit-box-shadow: $boxshadow;
	-moz-box-shadow: $boxshadow;
	-ms-box-shadow: $boxshadow;
	box-shadow: $boxshadow;
}
@mixin transition($x : all 0.5s ease-out 0s){
	-webkit-transition: $x;
	-moz-transition: $x;
	-o-transition: $x;
	transition: $x;
}
@mixin transform($transform){
	-webkit-transform: $transform;
	-moz-transform: $transform;
	-ms-transform: $transform;
	-o-transform: $transform;
	transform: $transform;
}
@mixin linear-gradient($t, $b){
	background: $b;
	background: -webkit-gradient(linear, 0 0, 0 bottom, from($t), to($b));
	background: -webkit-linear-gradient($t, $b);
	background: -moz-linear-gradient($t, $b);
	background: -ms-linear-gradient($t, $b);
	background: -o-linear-gradient($t, $b);
	background: linear-gradient($t, $b);
}
@mixin box-sizing($s : border-box){
	-webkit-box-sizing: $s;
	-moz-box-sizing: $s;
	-o-box-sizing: $s;
	box-sizing: $s;
}
/*
&::-webkit-input-placeholder {color:#c0392b;}
&::-moz-placeholder          {color:#c0392b;}
&:-moz-placeholder           {color:#c0392b;}
&:-ms-input-placeholder      {color:#c0392b;}
*/

//fonts
.fs-12 { font-size: 12px; }
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }
.fs-16 { font-size: 16px; }
.fs-18 { font-size: 18px; }

.fs-bold {font-weight: bold;}

.text-nowrap {white-space: nowrap;}

//margins and paddings
.m-b-0   { margin-bottom: 0px !important; }
.m-b-2   { margin-bottom: 2px !important; }
.m-b-4   { margin-bottom: 4px !important; }
.m-b-05  { margin-bottom: 5px !important; }
.m-b-10  { margin-bottom: 10px !important; }
.m-b-15  { margin-bottom: 15px !important; }
.m-b-20  { margin-bottom: 20px !important; }
.m-b-25  { margin-bottom: 25px !important; }
.m-b-30  { margin-bottom: 30px !important; }
.m-b-40  { margin-bottom: 40px !important; }
.m-b-50  { margin-bottom: 50px !important; }
.m-b-60  { margin-bottom: 60px !important; }
.m-b-70  { margin-bottom: 70px !important; }
.m-b-80  { margin-bottom: 80px !important; }
.m-b-90  { margin-bottom: 90px !important; }
.m-b-100 { margin-bottom: 100px !important; }
.m-0 { margin: 0px !important; }

.mx-w-650 {max-width: 650px;}

//links
.dash-link {
	position: relative;
	border-bottom: 1px dashed #7C7C7C;
	color: #7C7C7C;
	text-decoration: none !important;
	&:hover { border-color: transparent; }
}

.type-link {
	$text-color  : #0061a4;
	$dash-color  : #91c1db;
	$hover-color : #4998c4;
	position: relative;
	border-bottom: 1px dashed $dash-color;
	color: $text-color;
	text-decoration: none !important;
	&:hover { border-color: $hover-color; }

	&.external { border-style: solid; }
	//&[target=_blank]{}
	&.disabled {
		$text-color  : #7c7974;
		$dash-color  : #dbd8d3;
		$hover-color : #ada9a4;
		border-color: $dash-color;
		color: $text-color;
		&:hover {
			border-color: $hover-color;
		}
	}
}

//lists
.alv-list-unstyled {
	margin: 0px; padding: 0px; list-style: none;
	&.marg-10 {
		li {
			margin-top: 10px;
			&:first-child {margin-top: 0px;}
		}
	}
	&.marg-15 {
		li {
			margin-top: 15px;
			&:first-child {margin-top: 0px;}
		}
	}
}

/** forms **/
//input style
.alv-form-control {
	background: #fff !important;
	border: 1px solid #b9b9b9 !important;
	display: block !important;
	width: 100%;
	max-width: 100% !important;
	height: auto !important;
	min-height: 36px;
	padding: 7px 10px !important;

	font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif !important;
	font-size: 14px !important;

	@include box-sizing();
	@include border-radius(2px);

	&.size-xs {
		min-height: 28px;
		padding: 2px 10px 4px !important;
	}
	&.size-sm {
		min-height: 32px;
		padding: 5px 10px !important;
	}
	&.size-lg {
		min-height: 40px;
		padding: 6px 15px 7px !important;
		font-size: 18px !important;
	}

	&.inline {
		display: inline-block !important;
		vertical-align: middle;
	}

	&:focus {
		border: 1px solid $color_blue !important;
		box-shadow: inset 0 0 2px 0 $color_blue, 0 0 2px 0 $color_blue;
	}
}
textarea.alv-form-control {
	height: auto !important;
}
//
.alv-error-message { color: $color_red; }
//form fields group
.alv-form-group {
	position: relative;
	label {}
	.alv-form-label {
		display: block;
		margin: 0px 0px 8px 0px;
	}
	.alv-form-field {
		position: relative;
		.alv-form-control {width: 100% !important;}
		.alv-form-control__ico {
			position: absolute; top: 50%; right: 5px; z-index: 25;
			width: 24px; height: 24px;
			margin-top: -12px;
			fill: #9B9B9B;
		}
		.alv-form-field__ico {
			position: absolute; top: 50%; left: 100%;
			width: 24px; height: 24px;
			margin-top: -12px;
			margin-left: 10px;
			fill: #9B9B9B;
		}

		&.alv-form-field__icon-out {
			padding-right: 30px;
		}
		&.alv-form-field__icon-in {
			.alv-form-control {padding-right: 30px !important;}
		}
	}
	//form fields description
	.alv-form-message {
		margin-top: 4px;
		font-size: 12px;
		line-height: 16px;
	}
	//form fields error block
	.alv-form-error {
		display: none;
		margin-top: 4px;
		color: $color_red;
		font-size: 12px;
		line-height: 1.3em;
	}

	&.has-error {
		label {
			color: $color_red;
		}
		.alv-form-label {
			color: $color_red;
		}
		.alv-form-control {
			border: 1px solid $color_red !important;
			color: $color_red !important;
			@include box-shadow();
			&:focus {
				@include box-shadow((inset 0 0 2px 0 $color_red, 0 0 2px 0 $color_red));
			}
		}
		.alv-form-error { display: block; }
	}

	&.has-success {}

	&.alv-form-group__inline {
		display: inline-block;
		vertical-align: top;
		margin-left: 10px;
		&:first-child {
			margin-left: 0px;
		}
	}
}

.form-control-text {
	&.size-sm {
		margin-top: 8px;
	}
}

.alv-form-control__box {
	position: relative;
	.alv-form-control {width: 100% !important;}
	.alv-form-control__ico {
		position: absolute; top: 50%; right: 10px;
		width: 24px; height: 24px;
		margin-top: -12px;
		fill: #9B9B9B;
	}
}

.alv-bttn {
	background: transparent;
	border: none;
	display: inline-block;
	padding: 7px 10px 9px;
	font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif !important;
	font-size: 14px !important;
	line-height: 20px !important;
	text-align: center;
	text-decoration: none !important;

	@include box-sizing();
	@include border-radius(2px);

	&.alv-bttn-block {
		display: block;
		width: 100%;
	}

	&.size-xs {
		padding: 3px 7px 5px;
	}
	&.size-sm {
		padding: 5px 10px 7px;
	}
	&.size-lg {
		padding: 9px 15px 11px;
		font-size: 18px !important;
	}

	&.size-long {
		padding-left: 24px;
		padding-right: 24px;
	}
	&.style-primary {
		background: #002b81;
		background: linear-gradient(-180deg,#2e75d1,#002b81);
		border-color: #2E75D1;
		color: #fff;
		&:hover {
			background: #003cb5;
			background: linear-gradient(-180deg,#388eff,#003cb5);
		}
	}
	&.style-warning {
		background: #fffc5d;
		border-color: #fffc5d;
		color: #000;
		&:hover {
			background: darken(#fffc5d, 20%);
		}
	}

	&.disabled {
		background: #E9E9E9 !important;
		color: #9B9B9B !important;
		cursor: default !important;
	}

	&:hover {
		cursor: pointer;
	}
}

.selectize-control {
	&.selectize-simple {
		position: relative;
		height: auto;

		.selectize-input {
			background: #fff !important;
			border: 1px solid #b9b9b9 !important;
			display: block !important;
			width: 100%;
			height: auto !important;
			padding: 6px 25px 8px 10px !important;

			font-size: 14px !important;
			line-height: 16px;

			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			-o-box-sizing: border-box;
			box-sizing: border-box;

			-webkit-border-radius: 2px;
			-moz-border-radius: 2px;
			-ms-border-radius: 2px;
			border-radius: 2px;

			@include box-shadow(none);

			&:after {
				right: 10px;
			}
			&.focus {
				border: 1px solid #0d61ab !important;
				box-shadow: inset 0 0 1px 0 #0d61ab,0 0 1px 0 #0d61ab;
			}

			.alv-form-group.has-error & {
				border: 1px solid #d70a0a !important;
				color: #d70a0a !important;
				box-shadow: inset 0 0 1px 0 #d70a0a, 0 0 1px 0 #d70a0a !important;
			}
		}
		.selectize-dropdown {
			top: 100% !important;
			margin-top: 2px;
			.selectize-dropdown-content {
				.option {
					padding: 5px 8px !important;
					&.selected {}
				}
				.optgroup {
					border-top: 1px solid #ccc;
					&:first-child {border-top: none;}
					.optgroup-header {
						font-size: 12px;
						font-weight: bold;
					}
					.option {
						padding-left: 16px !important;
					}
				}
			}
		}
		&.has-error {
			.selectize-input {
				border: 1px solid $color_red !important;
				color: $color_red !important;
				input {
					color: $color_red !important;
					&::-webkit-input-placeholder {color: $color_red;}
					&::-moz-placeholder          {color: $color_red;}
					&:-moz-placeholder           {color: $color_red;}
					&:-ms-input-placeholder      {color: $color_red;}
				}
			}
		}
	}
	.has-error & {
		.selectize-input {
			border-color: $color_red !important;
		}
	}
}

.icon {
	position: relative;
	display: block;
	.ico {position: absolute; top: 50%; left: 0px;}
	&.right {
		.ico {left: auto; right: 0px;}
	}
	&.size-16 {
		$size : 16px;
		$margin : 8px;
		padding-left: $size + $margin;
		&.right { padding-left: 0px; padding-right: $size + $margin; }
		.ico {
			display: block; width: $size; height: $size;
			margin-top: -($size - 2)/2;
		}
	}
}
span.icon {display: inline-block;}

//
.js-pass-view {
	&:hover {
		cursor: pointer;
	}
	&.styled {
		fill: $color_blue;
	}
}

//panels
.panel {
	&.panel-simple {
		background: $color_white;
		box-shadow: 2px 2px 3px 0 rgba(204,209,217,0.5);
		@include border-radius(0px !important);
		.panel-head {}
		.panel-body {
			padding: 20px;
		}
		.panel-foot {}
	}
}

//headline
.headliner {
	position: relative;
	overflow: hidden;
	margin-bottom: 15px;
	font-size: 12px;
	line-height: 1.4em;
	color: #9b9b9b;
	text-align: center;
	text-transform: uppercase;
	span {
		position: relative;
		display: inline-block;
		&:before {
			content: '';
			background: rgba(155,155,155,0.7);
			position: absolute; top: 50%; right: 100%;
			display: block; width: 10000px; height: 1px;
			margin: 0px 10px 0px 0px;
		}
		&:after {
			content: '';
			background: rgba(155,155,155,0.7);
			position: absolute; top: 50%; left: 100%;
			display: block; width: 10000px; height: 1px;
			margin: 0px 0px 0px 10px;
		}
	}
}

//modal
body.modal-body {
	overflow: hidden;
}
.modal-backdrop {
	background: #000;
	position: fixed; top: 0px; bottom: 0px; left: 0px; right: 0px;
	z-index: 9998;
	opacity: 0.5;
	&.hide {display: none;}
}
.modal {
    position: fixed; top: 0; bottom: 0px; left: 0px; right: 0;
    z-index: 9999;
    overflow-y: auto;
    outline: 0;
	-webkit-overflow-scrolling: touch;
	&.hide {display: none;}
	.modal-cross {
		background-color: #7D92B3;
		position: absolute; top: 16px; right: 16px;
		display: block; width: 24px; height: 24px;
		@include border-radius(3px);
		@media (max-width: 767px) {
			//top: -6px; right: -6px;
		}
		&:before {
			content: '';
			background: #fff;
			position: absolute; top: 50%; left: 50%;
			display: block; width: 18px; height: 4px;
			margin: -2px 0px 0px -9px;
			@include transform(rotate(-45deg));
			@include border-radius(4px);
		}
		&:after {
			content: '';
			background: #fff;
			position: absolute; top: 50%; left: 50%;
			display: block; width: 18px; height: 4px;
			margin: -2px 0px 0px -9px;
			@include transform(rotate(45deg));
			@include border-radius(4px);
		}
		&:hover {
			background: darken(#7D92B3, 10%);
			cursor: pointer;
		}
	}
	.modal-dialog {
		position: relative;
		width: 600px;
		margin: 50px auto;
		@media (max-width: 767px) {
			width: auto;
			margin: 15px;
		}
		.modal-content {
			background: #fff;
			@include border-radius(3px);
			@include box-shadow(0px 2px 4px 0px rgba(0,0,0,0.5));
			.modal-head {
				background: #DDE4EC;
				min-height: 56px;
				padding: 13px 24px;
				font-size: 22px;
				font-weight: bold;
				@include border-radius(3px 3px 0px 0px);
				@include box-sizing();
			}
			.modal-body {
				padding: 24px;
				&.padd-50 {
					padding: 48px 50px;
					@media (max-width: 767px) {padding: 32px;}
				}
			}
		}
	}
}


.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

.rowly {
	position: relative;
	margin-left: -8px;
	margin-right: -8px;
}
.rowly:before,
.rowly:after {
  content: " ";
  display: table;
}
.rowly:after {
  clear: both;
}
.rowly-col {
	float: left;
	min-height: 1px;
	padding-left: 8px;
	padding-right: 8px;
	@include box-sizing();
	@for $i from 1 through 100 {
		&.w-#{$i} { width: 0% + $i; }
	}
}

//tables
.table-simple {
	td {
		vertical-align: top;
		padding: 10px 0px 0px 15px;
		&:first-child {padding-left: 0px;}
	}
	tr:first-child td { padding-top: 0px; }
}


//footer fix
.parent {
	background-color: #2c2c2c;
}
.page_container {
	background: #ebeff2 linear-gradient(-180deg,#2a2a2a 6%,#ebeff2 24%,#ebeff2 51%) no-repeat;
}
.page_container {
	padding-bottom: 0px !important;
}
.main-footer {
	position: relative !important;
	top: auto !important; bottom: auto !important;
}

.alv-container {
	width: 1010px;
	margin: 0 auto;
}

//breadcrumbs
.alv-breadcrumbs--big {
	margin: 0px; padding: 0px;
	list-style:none;
	li {
		display: inline-block;
		vertical-align: top;
		margin: 0px 0px 0px 7px;
		padding: 4px 0px;
		&:first-child { margin-left: 0px; }
	}
	.alv-breadcrumbs__helper{ display: block; font-size: 12px; color:#9b9b9b; }

	svg{ fill: currentColor; margin:5px 8px 0 2px; }
	a, span, svg {
		display: inline-block;
		vertical-align: top;
	}
	a {
		font-size: 14px;
		line-height: 1.3;
		color: #2c2c2c;
		cursor: pointer;
		text-decoration: none;
	}
	a:hover {
		color: #0d61ab;
		.alv-breadcrumbs__helper { color: #0d61ab; }
	}
}

//flags
.alv-flag {
	position: relative;
	top: -2px;
	display: inline-block;
	vertical-align: middle;
	width: 20px; height: 15px;
	margin-right: 5px;
	@include box-shadow(0 0 2px 0px rgba(0,0,0,0.5));
	&.fi {
		fill: #003580;
	}
}

//alv banners
.alv-brn-mapco {
	background: url(http://alvadi.ee/images/mapcohps-footerLight.png) repeat 0 0 / 100% auto;
	position: relative;
	padding: 15px 25px;
	.alv-brn-mapco__link {
		position: absolute; top: 0px; left: 0px; z-index: 5;
		display: block; width: 100%; height: 100%;
	}
	.logo {
		display: inline-block;
		vertical-align: middle;
	}
	.text {
		display: inline-block;
		vertical-align: middle;
		padding-left: 30px;
		font-size: 14px;
		h2 {
			font-size: 22px;
			font-weight: bold;
			sup {
				font-size: 12px;
			}
		}
	}
}

//labelist
.labelist {
	& > li {
		/*padding-top: 10px;
		&:first-child {padding-top: 0px;}*/
	}
	label {
		position: relative;
		font-weight: normal;
		input {
			position: absolute;
			top: 0px;
			left: 0px;
			z-index: 1;
			margin: 0px;
			visibility: hidden;
		}
		.arr { display: none; }
		&:hover { cursor: pointer; }
	}
	&.labelist-a {
		label {
			position: relative;
			//padding: 0px 0px 0px 30px;
			padding-left: 30px;
			margin: 0px;
			input {position: absolute; top: 0px; left: 0px; z-index: 1; margin: 0px; visibility: hidden;}
			.arr {
				background: #fff;
				border: 1px solid #b3b3b3;
				position: absolute; top: 50%; left: 0px; z-index: 5;
				display: block; width: 16px; height: 16px;
				margin: -10px 0px 0px 0px;
				@include box-shadow(inset 0 1px 1px 1px rgba(0,0,0,0.12));
				&.check {
					@include border-radius(3px);
				}
				&.radio {
					@include border-radius(50%);
				}
			}
			&:hover {cursor: pointer;}
			&.active {
				.arr {
					background: #3B99FC;
					border-color: #3B99FC;
					@include box-shadow();
					&.check {}
					&.radio {
						&:before {
							content: '';
							background: #fff;
							position: absolute; top: 50%; left: 50%;
							display: block; width: 6px; height: 6px;
							margin: -3px 0px 0px -3px;
							@include border-radius(50%);
						}
					}
					//&:before {display: block;}
				}
			}
		}
	}
}

//tooltip
.tooltip-hover {
	&:hover {
		cursor: pointer;
	}
}
.tooltip-body {
	background: $color_blue;
	position: fixed; top: 0px; left: 0px;
	display: block;
	max-width: 200px;
	padding: 8px 10px;
	z-index: 9999;
	color: $color_white;
	@include border-radius(3px);
	&.left {
		&:before {
			content: '';
			border: 6px solid transparent;
			border-left-color: $color_blue;
			position: absolute; top: 50%; right: 0px;
			margin: -6px -12px 0px 0px;
		}
	}
	&.right {
		&:before {
			content: '';
			border: 6px solid transparent;
			border-right-color: $color_blue;
			position: absolute; top: 50%; left: 0px;
			margin: -6px 0px 0px -12px;
		}
	}
	&.top {
		&:before {
			content: '';
			border: 6px solid transparent;
			border-top-color: $color_blue;
			position: absolute; top: 100%; left: 50%;
			margin: 0px 0px 0px -6px;
		}
	}
	&.bottom {
		&:before {
			content: '';
			border: 6px solid transparent;
			border-bottom-color: $color_blue;
			position: absolute; bottom: 100%; left: 50%;
			margin: 0px 0px 0px -6px;
		}
	}
}
.tooltip-active {
	position: relative;
	.tooltip-body {
		position: absolute;
		z-index: 1;
		&.left {}
		&.right {
			top: 50%; left: 100%;
			width: 250px;
			max-width: none;
			margin-left: 10px;
			@include transform(translateY(-50%));
			&.animate {
				animation: tipAnim 3.5s ease-in-out 2s infinite;
				@keyframes tipAnim {
					0% {margin-left: 10px;}
					7% {margin-left: 20px;}
					15% {margin-left: 5px;}
					20% {margin-left: 10px;}
				}
			}
		}
		&.top {}
		&.bottom {}
	}
}

//
.pull-left { float: left; }
.pull-right { float: right; }
.highlight-skin {
	background: #FFFFCA;
	position: relative;
	padding: 5px 10px;
	&.negative {
		margin-top: -5px;
		margin-left: -10px;
	}
	em {
		font-style: italic;
	}
}
.data-pull-right {
	float: right;
	text-align: right;
	white-space: nowrap;
	.item {
		display: inline-block;
		padding-left: 20px;
	}
}

.scroller-x {
	position: relative;
	overflow-x: auto;
}