/* ==================== 
1. resets & defaults
2. base styles
3. layout
4. components
5. content by pages
==================== */



/* ==================== 1. resets & defaults ==================== */
html,body,
h1,h2,h3,h4,h5,h6,
ul,ol,p,figure,
form,fieldset,input,textarea{
	margin: 0;
	padding: 0;
}

header,nav,main,article,section,aside,footer,figure{
	display: block;
}

*{box-sizing: border-box; -webkit-tap-highlight-color: transparent;}

.cl:before,
.cl:after {
  display: table;
  content: " ";
}
.cl:after{
	clear:both;
}

/* ----- */

html,body{
	width: 100%;
	height: 100%;
}

nav ul,.nav ul{list-style: none;}
a img,fieldset{border:0;}

.logo img,.logo svg{display: block;}
.img-container img,
.thumb img,
figure img{
	display: block;
	max-width: 100%;
}

button,
input[type=button],
input[type=submit]{
	cursor: pointer;
	outline: none !important;
}

a,a:hover,a:focus{text-decoration: none;}
a.is-active{cursor: default;}

.disabled{opacity: 0.5; pointer-events: none;}
.disabled-click{pointer-events: none;}

/* ----- */

.no-scroll,
.no-scroll body{
	height: 100% !important;
	overflow: hidden;
}

.hidden{display: none !important;}
.item-fade{opacity: 0; visibility: hidden; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; z-index: -1;}
.item-fade.fade-in{opacity: 1; visibility: visible; z-index: 1;}

.no-padding{padding: 0 !important;}
.no-margin{margin: 0 !important;}

/* ----- */

.float-left{float: left !important;}
.float-right{float: right !important;}

.block-center{margin-left: auto !important; margin-right: auto !important;}

.text-l{text-align: left !important;}
.text-r{text-align: right !important;}
.text-c{text-align: center !important;}

.lowercase{text-transform: lowercase !important;}
.uppercase{text-transform: uppercase !important;}
.nocase{text-transform: none !important;}

.font-weight-medium{
	font-weight: 500;
}

.italic{font-style: italic;}

.underline{text-decoration: underline;}
.line-through{text-decoration: line-through;}

.highlight {background-color: #ffff00;}

b{font-weight: 500}
strong{font-weight: 700}

/* ----- */

body{
	background: #26035f url(/Content/images/bg.jpeg) top center no-repeat;
	text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
@media (min-width: 1921px){
	body{
		background-size: 100% auto;
	}
}


/* ==================== 2. base styles ==================== */


/* ----------- fonts ----------- */
body,input,textarea,button{
	font-family:'63Fonts', 'HelveticaNowText', sans-serif;
}
.uppercase{
	font-family:'63Fonts UP', 'HelveticaNowText', sans-serif;
}
/* ----------- /fonts ----------- */


/* ----------- container ----------- */
.container,
.container-xxs,
.container-xs,
.container-sm,
.container-md,
.container-lg{
	width: 100%;
    margin: 0 auto;
}

.container-xxs,
.t63-section[data-content-size="xxs"] .container{
    max-width: 400px;
}
.container-xs,
.t63-section[data-content-size="xs"] .container{
    max-width: 600px;
}
.container-sm,
.t63-section[data-content-size="sm"] .container{
    max-width: 860px;
}
.container,
.container-md,
.t63-section[data-content-size="md"] .container{
    max-width: 1010px;
}
.container-lg,
.t63-section[data-content-size="lg"] .container{
    max-width: 1200px;
}

.container-fluid,
.t63-section[data-content-size="fluid"] .container{
    max-width: 100%;
}

.t63-section[data-content-size="xs"] .text-col .t63-article{
	max-width: 225px;
}
.t63-section[data-content-size="sm"] .text-col .t63-article{
	max-width: 355px;
}
.t63-section[data-content-size="md"] .text-col .t63-article{
	max-width: 525px;
}
.t63-section[data-content-size="lg"] .text-col .t63-article{
	max-width: 575px;
}
/* ----------- /container ----------- */


/* ----------- row, col ----------- */
.row-sm{
	margin-left: -10px;
	margin-right: -10px;
}
.row-sm .col,
.row-sm [class*=col-] {
	padding-left: 10px;
	padding-right: 10px;
}

.row-xs{
	margin-left: -5px;
	margin-right: -5px;
}
.row-xs > * {
	padding-left: 5px;
	padding-right: 5px;
}

.row-lg{
	margin-left: -18px;
	margin-right: -18px;
}
.row-lg > *{
	padding-left: 18px;
	padding-right: 18px;
}

/* col 20% */
.col-20,
.col-sm-20,
.col-md-20,
.col-lg-20,
.col-xl-20{
	padding-left: 15px;
	padding-right: 15px;
}
.col-20{
	flex: 0 0 20%;
    max-width: 20%;
}
@media (min-width: 576px){
	.col-sm-20{
		flex: 0 0 20%;
		max-width: 20%;
	}
}
@media (min-width: 768px){
	.col-md-20{
		flex: 0 0 20%;
		max-width: 20%;
	}
}
@media (min-width: 992px){
	.col-lg-20{
		flex: 0 0 20%;
		max-width: 20%;
	}
}
@media (min-width: 1200px){
	.col-xl-20{
		flex: 0 0 20%;
		max-width: 20%;
	}
}
/* ----------- /row, col ----------- */


/* ----------- icons ----------- */
.icon{
	display: inline-block;
	position: relative;
}
.icon::before{
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.i-lg::before{
    width: 20px;
    height: 20px;
}

.i-90::before{
	transform: rotate(90deg);
}
.i-180::before{
	transform: rotate(180deg);
}
.i-270::before{
	transform: rotate(270deg);
}
/* ----------- /icons ----------- */


/* ----------- colors ----------- */
.text-white{
	color: #fff !important;
}
.text-black{
	color: #000 !important;
}
.text-gray{
	color: #242424 !important;
}


.bg-blur{
	background-color: rgba(255, 255, 255, 0.2);
	-webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.bg-gray{
	background-color: #EFEEF2;
}
.bg-lightgreen{
	background-color: #bbe592;
}
.bg-lightgreenyellow{
	background-color: #d3e2b2;
}
.bg-lightpink{
	background-color: #feafbb;
}
.bg-lightskyblue{
	background-color: #96caf8;
}
.bg-lightsteelblue{
	background-color: #b2bfe2;
}
.bg-mistyrose{
	background-color: #ffc9bd;
}
.bg-paleturquoise{
	background-color: #baeaed;
}
.bg-orange{
	background-color: #ffb74a;
}
.bg-orchid{
	background-color: #c567ff;
}
/* ----------- /colors ----------- */



/* ==================== 3. layout ==================== */


.app{
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100%;
	position: relative;
	overflow: hidden;
}


/* ---------- header ---------- */
header.app-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 72px;
	background-color: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(8px);
	padding: 10px 15px;
	
	position: fixed;
	top: 0;
	left: 0;
	z-index: 300;
}
.app-header .logo{
	position: relative;
	z-index: 10;
}
.app-header .logo img,
.app-header .logo svg{
	height: 30px;
}
.app-header .logo svg .st0{
	fill: #3cb986;
}
.app-header .logo svg .st1{
	fill: #fff;
}

.app-header nav a{
	position: relative;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
}
.app-header nav a:hover,
.app-header nav a.active{
	opacity: 0.7;
}

.app-header nav a .badge{
	background-color: #da1a21;
    border-radius: 10px;
    padding: 3px 4px 2px;

    position: absolute;
    right: -12px;
    top: -14px;

    font-size: 9px;
    text-transform: uppercase;
}

.app-header .lang-btn{
	background-color: rgba(255,255,255,0.2);
	border-color: transparent !important;
	border-radius: 5px;
	opacity: 0.5;
	padding: 6px 16px !important;
	margin-left: 20px;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: bold !important;
	line-height: 20px !important;
}
.app-header .lang-btn:hover{
	opacity: 0.7;
}

@media (max-width: 1199px){
	.app-header .wrap{
		display: none;
		width: 100%;
		height: 100vh;
		background-color: #1e024c;
		padding-top: 72px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 5;
	}
	
	.app-header .wrap > div{
		height: 100%;
		padding: 0 24px 30px;
		
		-webkit-overflow-scrolling: touch;
		overflow: auto;
		
		text-align: right;
	}
	
	.app-header nav li{
		padding: 0;
		margin-bottom: 10px;
	}
	.app-header nav a{
		font-size: 40px;
	}
	.app-header nav a .badge {
		top: -4px;
	}
	
	.app-header .lang-btn{
		font-size: 22px;
		line-height: 1.25;
		margin-bottom: 15px;
	}
}
@media (max-width: 767px){
	.app-header nav a{
		font-size: 26px;
	}
	.app-header nav a .badge {
		top: -8px;
	}
	
	.app-header .lang-btn{
		font-size: 18px;
	}
}

@media (min-width: 992px){
	header.app-header{
		padding-left: 24px;
		padding-right: 24px;
	}
}
@media (min-width: 1200px){
	.app-header .hamburger{
		display: none;
	}
	.app-header .wrap{
		display: block !important;
	}
	.app-header .wrap > div,
	.app-header nav > ul{
		display: flex;
		align-items: center;
	}
	.app-header nav li{
		padding: 0 10px;
	}
	.app-header .wrap > div{
		flex-direction: row-reverse;
	}
}
@media (min-width: 1300px){
	header.app-header{
		padding-left: 46px;
		padding-right: 46px;
	}
}
/* ---------- /header ---------- */


/* ---------- page ---------- */
.app-page{
	flex-grow: 1;
    width: 100%;
	padding-top: 72px;
	padding-bottom: 50px;
	position: relative;
	z-index: 10;
}

.page-title{
	padding-top: 50px;
}

.app-page .section{
	padding: 50px 0;
	position: relative;
	z-index: 10;
}
.app-page .section-title{
	margin-bottom: 20px;
}
.app-page .section .card-body{
	padding: 32px 20px;
}

.app-page .section hr{
	border-top-color: rgba(255, 255, 255, 0.5);
	margin: 2rem 0;
}

.app-page-back-btn{
	display: inline-block;
	background: url(/content/images/icons/back_white.svg) left no-repeat;
	background-size: 13px 13px;
	padding: 2px 2px 2px 18px;
	position: absolute;
	top: 82px;
	left: 15px;
	z-index: 50;
	
	color: #fff;
	font-size: 14px;
}
.app-page-back-btn:hover{
	color: #fff;
	opacity:0.7;
}
@media (min-width: 768px){
	.app-page .section .card-body{
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media (min-width: 992px){
	.app-page-back-btn{
		left: 24px; 
	}
}
@media (min-width: 1300px){
	.app-page-back-btn{
		left: 46px; 
	}
}
/* ---------- /page ---------- */


/* ---------- footer ---------- */
footer.app-footer{
	flex-shrink: 0;
	background-color: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(8px);
	box-shadow: 0 -4px 8px 0 rgb(0 0 0 / 20%);
	position: relative;
	z-index: 250;
}
footer.app-footer .container{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 72px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.app-footer .logo img{
    height:16px;
}
/* ---------- /footer ---------- */



/* ==================== 4. components ==================== */


/* ----------- hamburger ----------- */
.hamburger,
.hamburger span,
.hamburger span::before,
.hamburger span::after{
	width: 18px;
}

.hamburger{
	flex-shrink: 0;
	display: block;
	height: 14px;
	background-color: transparent;
	border: 0;
	padding: 0;
	overflow: visible;
	position: relative;
	z-index: 50;
}
.hamburger:before{
	content: "";
	position: absolute;
	top: -12px;
	bottom: -12px;
	left: -12px;
	right: -12px;
}

.hamburger span,
.hamburger span::before,
.hamburger span::after {
	display: block;
	height: 1px;
	background-color: #fff;
	position: absolute;
	transition: transform 0.15s ease;
}
.hamburger span{
	top: 0;
}
.hamburger span::before,
.hamburger span::after {
	content: "";
	display: block;
}
.hamburger span::before {
	width: 100%;
	top: 6px;
	transition-property: transform, opacity;
}
.hamburger span::after {
	top: 12px;
}

.hamburger.is-active span,
.nav-is-open .hamburger span{
	transform: translate3d(-1px, 7px, 0) rotate(45deg);
}
.hamburger.is-active span::before,
.nav-is-open .hamburger span::before {
	transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
	opacity: 0;
}
.hamburger.is-active span::after,
.nav-is-open .hamburger span::after {
	transform: translate3d(0, -12px, 0) rotate(-90deg);
}
.hamburger.is-active span,
.hamburger.is-active span::before,
.hamburger.is-active span::after,
.nav-is-open .hamburger span,
.nav-is-open .hamburger span::before,
.nav-is-open .hamburger span::after{
	width: 21px;
}
/* ----------- /hamburger ----------- */


/* ---------- title,text ---------- */
.title{
	display: block;
	color: #fff;
	font-weight: bold;
    line-height: 1.25;
}

.title *{
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.title a{
	color: inherit;
}

h1,
.title-xl,
.t63-section .title,
.title-xxl{
	font-size: 2.5rem;
}
h2,
.title-lg{
	font-size: 2rem;
}
h3,
.title-md,
.t63-articles-grid-section .title{
	font-size: 1.75rem;
}
h4,
.title-sm,
.t63-articles-list-section .title{
	font-size: 1.5rem;
}
h5,
.title-xs{
	font-size: 1.25rem;
	line-height: 1.4;
}
h6,
.title-xxs{
	font-size: 1rem;
	line-height: 1.5;
}

.t63-section[data-content-size="xs"] .title{
    font-size: 36px;
}
.t63-section[data-content-size="sm"] .title:not(.slide-title){
    font-size: 40px;
}

@media (min-width: 576px){
	h1,
	.title-xl,
	.t63-section .title,
	.title-xxl{
		font-size: 3.125rem;
	}
}
@media (min-width: 992px){
	.title-xxl{
		font-size: 4.625rem;
		line-height: 1.2;
	}
	h2,
	.title-lg{
		font-size: 2.125rem;
	}
}

.text,
.text-wrap{
	color: #fff;
	font-size: 0.875rem;
}

.text-sm{
	font-size: 0.75rem;
}
.text-lg{
	font-size: 1.25rem;
}

.text-wrap:before,
.text-wrap:after {
  display: table;
  content: " ";
}
.text-wrap:after{
	clear:both;
}

.text-wrap > *{margin-bottom:20px;}
.text-wrap > *:last-child{margin-bottom:0;}
.text-wrap ul,.text-wrap ol{padding-left:40px;}
.text-wrap li + li,.text-wrap li ul,.text-wrap li ol{margin-top:10px;}

.text-wrap ul li{
	position: relative;
}

.text-wrap img{
    max-width: 100%;
    height: auto;
    border-radius: 15px;
	margin-bottom: 20px;
}
.text-wrap img[style*="float: left"],
.text-wrap img.left{
    margin-right: 18px;
}
.text-wrap img[style*="float: right"],
.text-wrap img.right{
    margin-left: 18px;
}
.text-wrap img.left{
	float: left;
}
.text-wrap img.right{
	float: right;
}

.text-wrap hr{
    margin: 35px 0;
}
.text-wrap hr + img,
.text-wrap hr + * img{
    margin-top: 8px;
}

.link,
.link:hover,
.text-wrap a:not(.btn),
.text-wrap a:not(.btn):hover{
	color: #3cb986;
}
.link:hover,
.text-wrap a:not(.btn):hover{
	color: #37aa73;
	text-decoration: underline;
}

button.link{
    background: none;
    border: 0;
    padding: 0;
}

.text-wrap audio,
.text-wrap video{
    display: block;
    width: 100%;
    outline: none;
}
.text-wrap video{
    height: auto;
}

.text-wrap iframe{
    display: block;
    max-width: 100%;
}

.text-wrap table {
    width: 100%;
    border: 1px solid #dee2e6;
    color: inherit;
}
.text-wrap table th,
.text-wrap table td {
    border: 1px solid #dee2e6;
    padding: 0.75rem;
    vertical-align: top;
}
.text-wrap table thead th {
    border-bottom: 2px solid #dee2e6;
    vertical-align: bottom;
}
.text-wrap table tbody + tbody {
    border-top: 2px solid #dee2e6;
}

.text-wrap .table-plain {
    border: 0;
}
.text-wrap .table-plain th,
.text-wrap .table-plain td {
    border: 0;
    border-top: 1px solid #dee2e6;
}
/* ---------- /title,text ---------- */


/* ---------- buttons ---------- */
.btn{
	min-width: 34px;
	height: auto;
	border: 1px solid transparent;
	border-radius: 8px;
	box-shadow: none !important;
	outline: none;
	padding: 6px 16px;
	
	font-size: 13px;
	font-weight: bold;
	line-height: 20px;
	
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
}
.btn,
.btn:focus,
.btn:hover{
    color: #282828;
}

.btn-rounded{
	border-radius: 25px;
}

.btn-xs{
	min-width: 22px;
	padding: 0 8px;
	font-size: 12px;
	font-weight: normal;
}

.btn-sm{
	min-width: 28px;
	padding: 3px 14px;
	font-weight: normal;
}

.btn-lg{
    min-width: 46px;
    padding: 12px 50px;
		
	font-size: 16px;
}
.btn-xl{
    min-width: 48px;
    padding: 11px 24px;
		
	font-size: 16px;
	line-height: 24px;
}

.btn img{
	height: 16px;
	margin-right: 6px;
}
.btn-lg img{
	height: 20px;
}
.btn-xl img{
	height: 24px;
}


.icon-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background-color: transparent;
	border: 0;
	border-radius: 50%;
	padding: 0 !important;
}
.icon-btn.btn-xs{
	width: 22px;
	height: 22px;
}
.icon-btn.btn-sm{
	width: 28px;
	height: 28px;
}
.icon-btn.btn-lg{
	width: 46px;
	height: 46px;
}
.icon-btn img{
	height: 16px;
}
.icon-btn.btn-lg img{
	height: 20px;
}


/* white */
.btn-white{
	background-color: rgba(255,255,255,0.1);
	border: 0;
	color: #3CB986 !important;
}
.btn-white:hover{
	background-color: rgba(255,255,255,0.08);
}
.btn.btn-outline-white{
	border-color: #fff;
	color: #fff !important;
}
.btn.btn-outline-white:hover{
	background-color: #fff;
	border-color: #fff;
}

/* primary */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active{
	background-color: #3c4c76;
	border-color: #3c4c76;
	color: #fff;
}
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active{
	background-color: #334165;
	border-color: #334165;
}
.btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active{
	border-color: #3c4c76;
	color: #3c4c76;
}
.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active{
	background-color: #3c4c76;
	color: #fff;
}

/* secondary */
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:not(:disabled):not(.disabled):active{
	background-color: #b3b3b3;
    border-color: #b3b3b3;
	color: #282828;
}
.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled):active{
	background-color: #999;
	border-color: #999;
}
.btn-outline-secondary,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active{
	border-color: #b3b3b3;
    color: #b0b0b0;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:not(:disabled):not(.disabled):active{
	background-color: #b3b3b3;
	color: #282828;
}

/* success */
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled):active{
	background-color: #3cb986;
    border-color: #3cb986;
    color: #fff;
}
.btn-success:hover,
.btn-success:not(:disabled):not(.disabled):active{
	background-color: #36a779;
	border-color: #36a779;
}
.btn-outline-success,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:not(:disabled):not(.disabled):active{
	border-color: #3cb986;
    color: #3cb986;
}
.btn-outline-success:hover,
.btn-outline-success:not(:disabled):not(.disabled):active{
	background-color: #3cb986;
	color: #fff;
}

.btn-success-light,
.btn-success-light:hover,
.btn-success-light:focus,
.btn-success-light:not(:disabled):not(.disabled):active{
	background-color: rgba(1,198,137,.15);
    border: none;
    color: #01C689;
}
.btn-success-light:hover,
.btn-success-light:not(:disabled):not(.disabled):active{
	background-color: rgba(1,198,137,.25);
}


/* danger */
.btn-danger,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:not(:disabled):not(.disabled):active{
	background-color: #b61f3f;
    border-color: #b61f3f;
    color: #fff;
}
.btn-danger:hover,
.btn-danger:not(:disabled):not(.disabled):active{
	background-color: #9c0c22;
	border-color: #9c0c22;
}
.btn-outline-danger,
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:not(:disabled):not(.disabled):active{
	border-color: #b61f3f;
    color: #b61f3f;
}
.btn-outline-danger:hover,
.btn-outline-danger:not(:disabled):not(.disabled):active{
	background-color: #b61f3f;
	color: #fff;
}

/* warning */
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:not(:disabled):not(.disabled):active{
	background-color: #ffdd37;
    border-color: #ffdd37;
    color: #525351;
}
.btn-warning:hover,
.btn-warning:not(:disabled):not(.disabled):active{
	background-color: #ffcf1c;
	border-color: #ffcf1c;
}
.btn-outline-warning,
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:not(:disabled):not(.disabled):active{
	border-color: #ffdd37;
    color: #ffdd37;
}
.btn-outline-warning:hover,
.btn-outline-warning:not(:disabled):not(.disabled):active{
	background-color: #ffdd37;
	color: #525351;
}

/* info */
.btn-info,
.btn-info:hover,
.btn-info:focus,
.btn-info:not(:disabled):not(.disabled):active{
	background-color: #4cc0d3;
    border-color: #4cc0d3;
	color: #fff;
}
.btn-info:hover,
.btn-info:not(:disabled):not(.disabled):active{
	background-color: #2ca9c2;
	border-color: #2ca9c2;
}
.btn-outline-info,
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:not(:disabled):not(.disabled):active{
	border-color: #4cc0d3;
    color: #4cc0d3;
}
.btn-outline-info:hover,
.btn-outline-info:not(:disabled):not(.disabled):active{
	background-color: #4cc0d3;
	color: #fff;
}

/* light */
.btn-light,
.btn-light:hover,
.btn-light:focus,
.btn-light:not(:disabled):not(.disabled):active{
	background-color: #e7ebf0;
    border-color: #e7ebf0;
    color: #282828;
}
.btn-light:hover,
.btn-light:not(:disabled):not(.disabled):active{
	background-color: #dde3ea;
	border-color: #dde3ea;
}
.btn-outline-light,
.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:not(:disabled):not(.disabled):active{
	border-color: #e7ebf0;
    color: #a6a6a6;
}
.btn-outline-light:hover,
.btn-outline-light:not(:disabled):not(.disabled):active{
	background-color: #e7ebf0;
	color: #282828;
}

/* dark */
.btn-dark,
.btn-dark:hover,
.btn-dark:focus,
.btn-dark:not(:disabled):not(.disabled):active{
	background-color: #5b6068;
    border-color: #5b6068;
	color: #fff;
}
.btn-dark:hover,
.btn-dark:not(:disabled):not(.disabled):active{
	background-color: #393e46;
	border-color: #393e46;
}
.btn-outline-dark,
.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark:not(:disabled):not(.disabled):active{
	border-color: #5b6068;
    color: #5b6068;
}
.btn-outline-dark:hover,
.btn-outline-dark:not(:disabled):not(.disabled):active{
	background-color: #5b6068;
	color: #fff;
}


/* is loading */
.btn.is-loading{
	background-image: url("../images/icons/spinner_white.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 28px 28px;
    pointer-events: none;
}
.btn.is-loading > *{
	opacity: 0;
}

/* btn-row */
.page .btn-row{
	margin: 20px 0;
}
.page .btn-row:last-child{
	margin-bottom: 0;
}
.page .btn-row > div{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	padding-left: -6px;
	padding-right: -6px;
}
.page .btn-row > div .btn{
	margin: 6px;
}

label.btn{
	display: inline-block;
	position: relative;
	overflow: hidden;
	font-weight: normal;
}
label.btn input{
	opacity: 0;
	position: absolute;
	top: 0;
	right: 100%;
}
label.btn-lg{
	padding-left: 20px;
	padding-right: 20px;
}

.copy-btn{
	position: absolute;
	top: 7px;
	right: 7px;
	z-index: 50;
}
/* ---------- /buttons ---------- */


/* ---------- form ---------- */
.form-group{
	margin-bottom: 20px
}

.form-label{
	color: #5b5b5b;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 5px;
}

.form-control,
.form-control:focus,
.form-select,
.form-select:focus{
	background-color: #efeef2;
}
.form-control,
.form-select{
	height: 46px;
	border: 1px solid #efeef2;
	border-radius: 8px;

	color: #262626;
	font-size: 14px;
	font-weight: 500;
}
textarea.form-control{
	height: auto !important;
	resize: none;
}

.form-select {
	display: block;
	width: 100%;
	padding: 0.375rem 2.25rem 0.375rem 0.75rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 0.5rem top 1.35rem;
	background-size: 10px auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form-select:focus {
	border-color: #86b7fe;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
	padding-right: 0.75rem;
	background-image: none;
}
.form-select:disabled {
	background-color: #e9ecef;
}
.form-select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #212529;
}

.form-control-white{
	border-color: #fff;
}
.form-control-white,
.form-control-white:focus{
	background-color: #fff;
}

/* file upload */
.custom-file{
	display: flex;
	height: calc(3.2rem + 2px);
}
.custom-file button{
	background-color: transparent;
	border: 0;
	outline: none !important;
	padding: 0;
	margin: 0;
}
.custom-file-input,
.custom-file-label::after{
	height: 100%;
}
.form-control.custom-file-label{
	height: 100%;
	padding-right: 3rem;
}
.form-control.custom-file-label,
.form-control.custom-file-label::after{
	display: flex;
	align-items: center;
	padding-top: 8px;
	line-height: 14px;
	margin: 0;
}
.custom-file-label::after{
	content: "";
	width: 3rem;
	background: #b7b7b7 url(/Content/images/icons/attachement_white.svg) center no-repeat;
	background-size: 20px auto;
	border-left: 0;
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
	padding: 0;
	color: #fff;
}

.custom-file-input-clear-btn{
	display: none;
	width: 2rem;
	
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3rem;
	z-index: 3;
}
.custom-file-input-clear-btn svg{
	display: block;
	width: 0.75rem;
	fill: #d70f30;
	margin: auto;
}
.custom-file-label span{
	max-width: 100%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.custom-file-label span::before{
	content: attr(data-default-text);
}

.custom-file.file-selected .custom-file-input-clear-btn{
	display: block;
}
.custom-file.file-selected .custom-file-label span::before{
	display: none;
}
.custom-file.file-selected .form-control.custom-file-label{
	padding-right: 4.5rem;
}

/* checkbox, radio */
.form-check {
	display: block;
	min-height: 1.5rem;
	padding-left: 1.5em;
	margin-bottom: 0.125rem;
}
.form-check .form-check-input {
	float: left;
	margin-left: -1.5em;
}

.form-check-input {
	width: 1em;
	height: 1em;
	margin-top: 0.25em;
	vertical-align: top;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 1px solid rgba(0, 0, 0, 0.25);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}
.form-check-input[type=checkbox] {
	border-radius: 0.25em;
}
.form-check-input[type=radio] {
	border-radius: 50%;
}
.form-check-input:active {
	filter: brightness(90%);
}
.form-check-input:focus {
	border-color: #86b7fe;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
	background-color: #0d6efd;
	border-color: #0d6efd;
}
.form-check-input:checked[type=checkbox] {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
	background-color: #0d6efd;
	border-color: #0d6efd;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
	pointer-events: none;
	filter: none;
	opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
	opacity: 0.5;
}

.form-switch {
	display: flex;
	min-height: 1.75rem;
	padding: 0;
}
.form-switch-inline {
  display: inline-flex;
}
.form-check-label{
	color: #5b5b5b;
	font-size: 14px;
	font-weight: 500;
	margin: auto 0;
}

.form-switch .form-check-label:first-child{
	margin-right: 0.5rem;
}
.form-switch .form-check-label:last-child{
	margin-left: 0.5rem;
}

.form-switch .form-check-input {
	float: none;
	width: 3rem;
	height: 1.75rem;
	margin: 0;
	background-color: #efeef2;
	background-position: left center;
	border: 0;
	border-radius: 2em;
	position: relative;
	transition: background-position 0.15s ease-in-out;
}

.form-switch .form-check-input,
.form-switch .form-check-input:focus,
.form-switch .form-check-input:checked{
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3.3' fill='rgba%28255, 255, 255, 1%29'/%3e%3c/svg%3e");
}
@media (prefers-reduced-motion: reduce) {
	.form-switch .form-check-input {
		transition: none;
	}
}
.form-switch .form-check-input:focus {
	box-shadow: none;
}
.form-switch .form-check-input:active {
    filter: brightness(98%);
}
.form-switch .form-check-input:checked {
	background-color: #4cd964;
	background-position: right center;
}




.radio-btn,
.checkbox-btn{
	position: relative;
	overflow: hidden;
	cursor: pointer;
	margin: 0 0 6px;
	color: #fff;
	font-size: 13px;
}
.radio-btn input,
.checkbox-btn input{
	position: absolute;
	top: -100%;
	left: 0;
	opacity: 0;
}
.radio-btn span,
.checkbox-btn span{
	display: block;
	background-color: #999;
	border-radius: 5px;
	padding: 7px 10px;
}
.radio-btn:hover span,
.checkbox-btn:hover span{
	background-color: #adadad;
}
.radio-btn input:checked + span,
.checkbox-btn input:checked + span{
	background-color: #ccc;
}

/* floating labels */
.floating-labels{
	position: relative;
}
.floating-labels > .form-control,
.floating-labels > .form-select {
	height: calc(3.2rem + 2px);
	padding: 1rem 0.75rem;
}
.floating-labels > label {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	padding: 1rem 0.75rem;
	pointer-events: none;
	border: 1px solid transparent;
	transform-origin: 0 0;
	transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
	.floating-labels > label {
		transition: none;
	}
}
.floating-labels > .form-control::-moz-placeholder {
	color: transparent;
	opacity: 0;
}
.floating-labels > .form-control::placeholder {
	color: transparent;
	opacity: 0;
}
.floating-labels > .form-control:not(:-moz-placeholder-shown) {
	padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}
.floating-labels > .form-control:focus, .floating-labels > .form-control:not(:placeholder-shown) {
	padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}
.floating-labels > .form-control:-webkit-autofill {
	padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}
.floating-labels > .form-select {
	padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}
.floating-labels > .form-control:not(:-moz-placeholder-shown) ~ label {
	opacity: 0.65;
	transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.floating-labels > .form-control:focus ~ label,
.floating-labels > .form-control:not(:placeholder-shown) ~ label,
.floating-labels > .form-select ~ label {
	opacity: 0.65;
	transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.floating-labels > .form-control:-webkit-autofill ~ label {
	opacity: 0.65;
	transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

/* error */
.error-text,
.global-error-text {
    padding: 2px 0 0 5px;
    color: #d70f30;
    font-size: 12px;
	line-height: 1.2;
}

.error-text {
    display: none;
}

.has-error .error-text {
    display: block;
}

.global-error-text {
    display: block;
    margin-bottom: 20px;
    text-align: center;
}

.has-error .form-control {
    border-color: #d70f30;
}
/* ---------- /form ---------- */


/* ---------- modal ---------- */
.modal-backdrop.show {
    opacity: 1;
}

.modal-backdrop{
	background-color: rgba(0,0,0,0.8);
	backdrop-filter: blur(8px);
}

.tablet .modal,
.mobile .modal{
	padding-right: 0 !important;
}
.modal .close-popup-btn{
	padding: 10px;
	margin: 0;
	position: absolute;
    top: 4px;
    right: 4px;
	z-index: 5;
}
.modal .close-popup-btn svg {
    display: block;
    width: 14px;
    height: 14px;
    fill: #000;
    position: relative;
    z-index: 2;
}
.modal .close-popup-btn:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    box-sizing: border-box;
    border: 0;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: background .25s;
}
.modal .close-popup-btn:after {
	content: '';
	position: absolute;
	top: -5px;
	bottom: -5px;
	left: -5px;
	right: -5px;
	z-index: 0;
}
.modal .close-popup-btn:hover:before {
    background: #eee;
}

.modal-header,
.modal-body,
.modal-footer{
	padding: 0 20px;
	border: 0;
}
.modal-header,
.modal-body:first-child{
	padding-top: 40px;
}
.modal-header,
.modal-footer,
.modal-body:last-child{
	padding-bottom: 40px;
}
.modal-footer{
	padding-top: 20px;
}

.modal .title,
.modal .text{
	color: #000;
}

.modal-body{
    font-size: 14px;
}
.modal-footer .submit-btn{
	min-width: 200px;
	margin: 0 auto;
}

@media (min-width: 768px){
	.modal-header,
	.modal-body,
	.modal-footer{
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media (max-width: 767px){
	.modal-header{
		padding-top: 30px;
		padding-bottom: 30px;
	}
}
/* ---------- /modal ---------- */


/* ---------- img, bg-img ---------- */
.bg-img{
	display: block;
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	z-index: 1;
}
.bg-img::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.bg-img--cover{
	background-size: cover;
}
.bg-img--contain{
	background-size: contain;
}

.bg-img.fit-container{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.img-21by9 {
    padding-top: 42.857143%;
}
.img-16by9 {
    padding-top: 56.25%;
}
.img-4by3 {
    padding-top: 75%;
}
.img-1by1 {
    padding-top: 100%;
}
/* ---------- /img, bg-img ---------- */


/* ---------- slick slider ---------- */
.slick-slide{
    outline: none;
}
.slick-arrow{
    display: block;
    width: 32px;
    height: 32px;
    background: transparent url(../images/icons/arrow_right_white.svg) center no-repeat !important;
    background-size: 32px 32px !important;
    border: 0;
    outline: 0;
    overflow: hidden;
    text-indent: -9999px;
    position: absolute;
    top: 50%;
    z-index: 10;
    
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.slick-prev{
    left: 10px;
    -webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.slick-next{
    right: 10px;
}

.slick-slider .slick-dots{
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
	padding: 0;
    position: absolute;
    bottom: 20px;
    left: 0;
}
.slick-slider .slick-dots li{
    margin: 0 4px;
}
.slick-slider .slick-dots button{
    display: block;
	width: 8px;
	height: 8px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 50%;
    outline: none !important;
    padding:0;
    overflow:hidden;
    text-indent:-9999px;
}
.slick-slider .slick-dots button:hover,
.slick-slider .slick-dots .slick-active button{
	background-color: #b61f3f !important;
    border-color: #b61f3f !important;
}
/* ---------- /slick slider ---------- */


/* ---------- card ---------- */
.card{
	border: 0;
	border-radius: 10px;
}
.card:not([class*=bg-]){
	background-color: #F7F7F7;
}
.card.card-green{
	background: #2f7d81 url(/Content/images/card_bg_green.jpg);
}

.card.bg-blur hr{
	border-top-color: #fff;
}

.card-index-wrap{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background-color: #3CB986;
	border-radius: 50%;
	color: #Fff;
	font-size: 16px;
}

@media (min-width: 576px){
	.card-index-wrap{
		width: 52px;
		height: 52px;
		font-size: 24px;
	}
}
/* ---------- /card ---------- */


/* ---------- video thumbnail ---------- */
.video-thumbnail{
    width: 104%;
    height: 104%;

    position: absolute;
    top: -2%;
    left: -2%;
    z-index: 2;
}
.video-thumbnail.html5-video video,
.video-thumbnail.yt-video > div{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.video-thumbnail.yt-video iframe{
	position: absolute;
    left: 50% !important;
    transform: translateX(-50%);
}
/* ---------- /video thumbnail ---------- */



/* ---------- portfolio grid ---------- */
.portfolio-grid:last-child{
	margin-bottom: -50px;
}
.portfolio-grid > div{
	margin-bottom: 50px;
}
.portfolio-grid-item .embed-responsive{
	border-radius: 5px;
}
.portfolio-grid-item .embed-responsive::before{
	padding-top: 60.805%;
}
.portfolio-grid-item .embed-responsive-item{
	object-fit: cover;
}

.portfolio-grid-item{
	display: block;
}
.portfolio-grid-item .info-wrap{
	padding-top: 10px;
}
.portfolio-grid-item .title{
	color: #fff;
	font-size: 20px;
}

.portfolio-grid-item .categories-row{
	margin-top: 22px;
}
.portfolio-grid-item .categories-row .badge{
	background-color: rgba(0,0,0,0.4);
	padding: 9px 12px;
	
	color: #fff;
	font-size: 13px;
	line-height: 1.25;
	white-space: normal;
}

.portfolio-grid-item .embed-responsive{
	transition: all 0.3s ease;
}
.portfolio-grid-item:hover .embed-responsive{
	box-shadow: 0px 6px 20px 0px rgba(14, 0, 35, 0.85);
	transform: translateY(-10px);
}
/* ---------- /portfolio grid ---------- */


/* ---------- portfolio section ---------- */
.portfolio-section{
	background-color: #efefef;
	padding: 60px 0 80px;
}
.portfolio-section .title{
	color: #000;
}
.portfolio-section .section-title{
	margin-bottom: 40px;
}

@media (min-width: 992px){
	.portfolio-grid-item .title{
		font-size: 16px;
	}
	.portfolio-grid-item .categories-row{
		margin-top: 10px;
	}
}
/* ---------- /portfolio section ---------- */


/* ---------- services grid ---------- */
.services-grid:last-child{
	margin-bottom: -20px;
}
.services-grid > div{
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}
.services-grid .services-grid-item{
	min-height: 100%;
	cursor: pointer;
}

.services-grid-item{
	display: flex;
	flex-direction: column;
	position: relative;
}
.services-grid-item .embed-responsive{
	border-radius: 5px;
}
.services-grid-item .embed-responsive::before{
	padding-top: 120%;
}

.services-grid-item .title{
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 12px 10px;
	
	color: #1e024c;
	font-size: 14px;
}

.services-grid-item{
	transition: all 0.3s ease;
}
.services-grid-item:hover{
	box-shadow: 0px 6px 20px 0px rgba(14, 0, 35, 0.85);
	transform: translateY(-10px);
}

@media (max-width: 575px){
	.services-grid-item .title{
		padding-bottom: 8px;
	}
}
@media (max-width: 404px){
	.services-grid > div{
		flex: 0 0 100%;
		max-width: 100%;
	}
	.services-grid-item .title{
		padding-bottom: 15px;
		font-size: 18px;
	}
}
/* ---------- /services grid ---------- */


/* ---------- /courses grid ---------- */
.courses-grid:last-child{
	margin-bottom: -38px;
}
.courses-grid > div{
	margin-bottom: 38px;
}
.courses-grid-item{
	display: flex;
	height: 154px;
	border-radius: 5px;
	padding: 17px 44px;
}
.courses-grid-item .info-wrap{
	flex-grow: 1;
	margin: auto 0;
	
	color: #000;
	font-size: 14px;
}
.courses-grid-item .title{
	color: inherit;
	font-size: 20px;
}
.courses-grid-item .title + *{
	margin-top: 10px;
}
.courses-grid-item .embed-responsive{
	flex-shrink: 0;
	width: 120px;
	margin: auto 0;
}

.courses-grid-item{
	transition: all 0.3s ease;
}
.courses-grid-item:hover{
	box-shadow: 0px 6px 20px 0px rgba(14, 0, 35, 0.85);
	transform: translateY(-10px);
}
/* ---------- /courses grid ---------- */


/* ---------- partners ---------- */
.partners-grid:last-child{
	margin-bottom: -34px;
}
.partners-grid > div{
	margin-bottom: 34px;
}
.partners-grid-item{
	display: flex;
	flex-direction: column;
	height: 140px;
	border-radius: 5px;
}

.partners-grid-item img{
	display: block;
	max-width: 150px;
	margin: auto;
}
/* ---------- /partners ---------- */


/* ---------- elements ---------- */

@media (max-width: 991px){
	.elements-container{
		display: none;
	}
}
@media (min-width: 992px){
	.elements-container > div{
		position: absolute;
		z-index: 5;
	}
	.elements-container > div img{
		max-width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
	}
	.elements-container > div img:first-child{
		position: relative;
		opacity: 1;
	}
	.elements-container .element-1{
		top: 310px;
		left: -100px;
	}
	.elements-container .element-2{
		top: 330px;
		right: 30px;
	}
	.elements-container .element-3{
		top: 728px;
		right: -102px;
	}
	.elements-container .element-4{
		top: 1205px;
		left: 0px;
	}
	.elements-container .element-5{
		top: 1480px;
		right: -198px;
	}
	.elements-container .element-6{
		top: 1900px;
		left: -290px;
	}
	.elements-container .element-7{
		top: 2400px;
		right: 10px;
	}
	.elements-container .element-8{
		top: 2700px;
		left: -135px;
	}
	.elements-container .element-9{
		/*top: 3800px;*/
		top: 3350px;
		right: 32px;
	}
}
@media (min-width: 1200px){
	.elements-container .element-1{
		left: 0;
	}
}
@media (min-width: 1400px){
	.elements-container .element-1{
		left: 59px;
	}
	.elements-container .element-2{
		right: 95px;
	}
}
.no-bg-elemnts ~ .elements-container{
	display: none;
}
/* ---------- /elements ---------- */


/* ---------- get-in-touch ---------- */
.modal-get-in-touch .modal-dialog{
	max-width: 680px;
}
/* ---------- /get-in-touch ---------- */


/* ---------- accordion ---------- */

.accordion-item-head{
	display: flex;
}
.accordion-item-head > *{
	cursor: pointer;
}
.accordion-item-title{
	font-size: 20px;
	font-weight: normal;
}
.accordion-item-head::after{
	flex-shrink: 0;
	content: "";
	width: 11px;
	height: 7px;
	background: url(../content/images/icons/chevron_gray_light.svg) center no-repeat;
	background-size: 100% auto;
	margin: auto 0 auto 8px;
	transition: transform 0.2s ease;
}
.is-open .accordion-item-head::after{
	transform: rotate(-180deg);
}
.accordion-item-body{
	padding: 15px 0 10px;
}
/* ---------- /accordion ---------- */



/* ---------- contact ---------- */
.contact-section{
	font-size: 16px;
}

.contact-section .card {
    background-color: #EFEEF2;
}

.contact-section a:not(.btn){
	color: inherit;
}

.contact-section .btn {
    background-color: rgba(60,185,134,0.08);
    border: none;
    border-radius: 8px !important;
    padding: 11px 24px !important;
    color: #3CB986 !important;
    font-weight: normal;
}
.contact-section .btn:hover{
	background-color: rgba(60,185,134,0.2);
}

.contact-section .tel{
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 25px;
}

.contact-section .contact-info-wrap > div{
	margin-bottom: 20px;
}
.contact-section .contact-info-wrap > div:last-child{
	margin-bottom: 10px;
}
.contact-section .contact-info-wrap > div > *{
	display: block;
}
.contact-section .contact-info-wrap > div > span + *{
	font-weight: bold;
}
.contact-section svg {
	width: 24px;
	height: auto;	
	display:block;
}
.contact-section svg.facebook {
	fill: #3274EB
}
.contact-section svg.linkedin {
	fill: #2371AD
}

@media (max-width: 374px) {
	.contact-section .tel{
		font-size: 26px;
	}
}
@media (max-width: 319px){
	.contact-section .tel{
		font-size: 22px;
	}
}

@media (min-width: 400px){
	.app-page .contact-section .card-body{
		padding-left: 32px;
		padding-right: 32px;
	}
}
@media (min-width: 576px){
	.contact-section .tel{
		font-size: 50px;
	}
	.contact-section .contact-info-wrap > div{
		display: flex;
	}
	.contact-section .contact-info-wrap > div > span{
		width: 110px;
	}
}
@media (min-width: 767px){
	.app-page .contact-section .card-body{
		padding: 50px 40px 60px 100px;
	}
}
@media (min-width: 992px){
	.app-page .contact-section .card-body{
		padding-left: 150px;
	}
}
/* ---------- /contact ---------- */



/* ==================== 5. content by pages ==================== */


/* ---------- home ---------- */


@media (min-width: 576px){
	.page-home .page-title{
		padding: 50px 45px 0;
	}
}

.page-home .services-grid{
	margin-bottom: 14px;
}


/* gita */
.section-gita .card-body{
	text-align: center;
}
.section-gita .card-body .logo{
	max-width: 230px;
}
.section-gita .card-body > * + *{
	margin-top: 36px;
}

/* contact */
.page-home .contact-section{
	z-index: 2;
}
.page-home .contact-section .card {
	color: #fff;
	background-color: rgba(19,1,50,0.8);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.page-home .contact-section .container {
	max-width: 100%;
	padding: 0;
}
.page-home .contact-section .btn{
	background-color: rgba(255, 255, 255, 0.1);
}
.page-home .contact-section .btn:hover{
	background-color: rgba(255, 255, 255, 0.08);
}
.page-home .contact-section svg.linkedin,
.page-home .contact-section svg.facebook {
	fill: #fff;
}

/*.page-home .contact-section > .card .contact-info-wrap > div > span {
	font-weight: 300;
}*/


/* ---------- /home ---------- */
/* ---------- portfolio item ---------- */
.page-portfolio-item {
	padding-bottom: 0;
}
.page-portfolio-item + .elements-container{
	display: none;
}

.page-portfolio-item .head-wrap{
    min-height: 240px;
	background: rgb(6,3,39);
	background: linear-gradient(180deg, rgba(6,3,39,1) 0%, rgba(53,11,113,1) 100%);
    padding: 60px 0;
	position: relative;
	z-index: 10;
}

.page-portfolio-item .head-wrap .img {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
.page-portfolio-item .head-wrap .img::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}

.page-portfolio-item .head-wrap .video-container{
    width:104%;
    height:104%;
	max-height:828px;
    /*background: #01C689;*/
    overflow:hidden;

    position:absolute;
    top:-2%;
    left:-2%;
    z-index:5;
}
.page-portfolio-item .head-wrap .video-container.html5-video video{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.page-portfolio-item .head-wrap .video-container.yt-video > div {
    position:absolute;
    left: 50%;
    top: 50%;
    transform:translateX(-50%) translateY(-50%);
}

.page-portfolio-item .head-wrap article{
	max-width: 1070px;
	position: relative;
	z-index: 5;
}

.page-portfolio-item article .row{
	margin-left: -7px;
	margin-right: -7px;
}
.page-portfolio-item article .row:last-child{
	margin-bottom: -10px;
}
.page-portfolio-item article .row > *{
	padding-left: 7px;
	padding-right: 7px;
	margin-bottom: 10px;
}

.page-portfolio-item article .date{
	color: rgba(255,255,255,0.8);
	font-size: 25px;
	font-weight: bold;
	line-height: 1;
}

.page-portfolio-item article .title{
	/*font-size: 2.5rem;*/
	font-weight: bold;
	margin-bottom: 25px;
}

.page-portfolio-item article .text{
	margin-bottom: 30px;
	
	color: #fff;
	font-size: 1rem;
	line-height: 1.5;
}

.page-portfolio-item article h2{
	font-size: 28px;
}
.page-portfolio-item article h3{
	font-size: 22px;
}

.page-portfolio-item .item-link-wrap{
	margin: 34px 0 40px;
}
.page-portfolio-item .item-link{
	display: inline-flex;
	align-items: center;
	background-color: rgba(85,71,214,1);
	border-radius: 110px;
	padding: 10px 26px;

	color: #fff;
	font-size: 22px;
	text-decoration: none;
	word-break: break-all;
}
.page-portfolio-item .item-link:hover{
	background-color: rgba(85,71,214,0.8);
}

.page-portfolio-item .app-btns{
	display: flex;
	gap: 20px;
	margin-bottom: 22px;
}
.page-portfolio-item .app-btns a{
	display: inline-block;
}
.page-portfolio-item .app-btns a img{
	display: block;
	height: 39px;
}

.page-portfolio-item article .tag{
	display: inline-block;
	background-color: #008BF7;
	border-radius: 5px;
	padding: 5px 12px;
	
	color: #fff;
	font-size: 12px;
	line-height: 20px;
}

.page-portfolio-item article > *:last-child{
	margin-bottom: 0;
}

/*.page-portfolio-item .tags{
	width: 100%;
	max-width: 1034px;
	border-top: 1px solid rgba(255,255,255,0.5);
	padding: 23px 10px;
	margin: 0 auto;
}

.page-portfolio-item .tags > *{
	display: inline-block;
	background-color: #fff;
	border-radius: 6px;
	padding: 6px 14px;
	margin:5px;
	
	color: #1f999d;
	font-size: 14px;
	line-height: 20px;
}*/

@media (min-width: 992px){
	.page-portfolio-item article .title-xxl{
		font-size: 60px;
	}
	/*.page-portfolio-item article .text{
		font-size: 16px;
	}*/
}


.page-portfolio-item .screens{
	background: -moz-linear-gradient(top, #209e9a 0%, #2ad27b 100%);
	background: -webkit-linear-gradient(top, #209e9a 0%,#2ad27b 100%);
	background: linear-gradient(to bottom, #209e9a 0%,#2ad27b 100%);
    text-align: center;
}
.page-portfolio-item .screens figure{
	display: block;
	width: 100%;
	padding: 100px 15px;
}

.page-portfolio-item .screens img{
	display: block;
	max-width: 1100px;
	margin: 0 auto;
}

.page-portfolio-item .screens .desktop-screen{
    display: flex;
    justify-content: center;
}
.page-portfolio-item .screens .desktop-screen .browser-head{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    background: #babbbb url(/Content/images/browser/browser_left_buttons.png) 14px center no-repeat;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding: 0 80px;
}
.page-portfolio-item .screens .desktop-screen .browser-head > span{
    display: block;
    width: 100%;
    max-width: 510px;
    height: 26px;
    background-color: #dddddd;
    border-radius: 5px;
    padding: 5px 10px;
    overflow: hidden;

    color: #636363;
    font-size: 14px;
    text-align: center;

    white-space: nowrap;
    text-overflow: ellipsis;
}
.page-portfolio-item .screens .desktop-screen .browser-head > span a {
    color: inherit;
    text-decoration: none;
}
.page-portfolio-item .screens .desktop-screen .browser-head img{
    display: none;
}

.page-portfolio-item .screens figcaption {
    color: #fff;
    font-size: 14px;
    line-height: 18px;
	padding-top: 20px;
}

.page-portfolio-item .screens .bg-white figcaption {
	color: #4b4a4a;
}


@media(max-width:1130px){
	.page-portfolio-item .screens img{
		max-width: 100%;
	}
}

@media(max-width:767px){
    .page-portfolio-item .screens .desktop-screen .browser-head{
        height: auto;
        background: none;
        padding: 0;
    }
    .page-portfolio-item .screens .desktop-screen .browser-head img{
        display: block;
        width: 100%;
    }
	.page-portfolio-item .screens .desktop-screen .browser-head > span{
        display: none;
	}
}
/* ---------- /portfolio item ---------- */


/* ---------- service item ---------- */
.page-service-item{
	padding-top: 0;
	padding-bottom: 0;
}
.page-service-item > article{
	padding-bottom: 50px;
}
.page-service-item .page-head{
	margin-bottom: 70px;
}
.page-service-item .page-head .container{
	display: flex;
	padding-top: 72px;
}
/*.page-service-item .page-head .container > *{
	flex: 0 0 50%;
}
.page-service-item .page-head figure{
	position: relative;
}
.page-service-item .page-head figure img{
	max-width: unset;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}*/

/*.page-service-item .page-head .info-wrap{
	padding: 0 46px;
	margin: auto 0;
	position: relative;
	z-index: 5;
}*/

.page-service-item .title,
.page-service-item .text,
.page-service-item .text-wrap{
	color: #4d4d4f;
}
.page-service-item .text,
.page-service-item .text-wrap{
	font-size: 16px;
}

.page-service-item .page-head .title,
.page-service-item .page-head .text{
	color: #fff;
}
.page-service-item .page-head .title + *{
	margin-top: 20px;
}
.page-service-item .page-head .text{
	font-size: 20px;
}

.page-service-item[data-service="websites"] .page-head{
	background: #e7ae91;
}
.page-service-item[data-service="mobile-apps"] .page-head{
	background: #bda2e5;
}
.page-service-item[data-service="business-solutions"] .page-head{
	background: #e47276;
}
.page-service-item[data-service="e-commerce"] .page-head{
	background: #f0c8d5;
}

@media (min-width: 768px){
	.page-service-item .page-head .container > *{
		flex: 0 0 50%;
	}
	.page-service-item .page-head figure{
		position: relative;
	}
	.page-service-item .page-head .container{
		height: 516px;
	}
	.page-service-item .page-head figure img{
		max-width: unset;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}

	.page-service-item .page-head .info-wrap{
		padding: 0 46px;
		margin: auto 0;
		position: relative;
		z-index: 5;
	}
}
@media (max-width: 767px){
	/*.page-service-item .page-head{
		padding-bottom: 40px;
	}*/
	.page-service-item .page-head .container{
		flex-direction: column;
	}
	.page-service-item[data-service="mobile-apps"] .page-head figure,
	.page-service-item[data-service="e-commerce"] .page-head figure{
		order: 2;
	}
	.page-service-item[data-service="mobile-apps"] .info-wrap,
	.page-service-item[data-service="e-commerce"] .info-wrap{
		padding-top: 30px;
	}
	.page-service-item[data-service="websites"] .info-wrap,
	.page-service-item[data-service="business-solutions"] .info-wrap{
		padding-bottom: 30px;
	}
}
/* ---------- /service item ---------- */

.grecaptcha-badge { visibility: hidden; }


/* ---------- ip ---------- */
.ip-wrap{
	max-width: 472px;
	margin: 0 auto;
}
.ip-wrap .title{
	color: #fff;
	font-size: 22px;

	margin-bottom: 15px;
}
.ip-wrap .card{
	background-color: rgba(255,255,255,0.08);
	border-radius: 50px;
}
.ip-wrap .card-body{
	color: #fff;
	font-size: 34px;
	font-weight: bold;
	text-align: center;
}

@media (min-width: 576px){
	.ip-wrap .title{
		font-size: 26px;
		margin-left: 35px;
	}
	.ip-wrap .card-body{
		font-size: 50px;
	}
}

@media (max-width: 575px){
	.ip-wrap .title{
		text-align: center;
	}
}
/* ---------- /ip ---------- */


/* ---------- tools ---------- */
.tools-grid-item{
	flex-grow: 1;
	display: block;
	background-color: rgba(255,255,255,0.2);
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	border-radius: 5px;
	overflow: hidden;

	color: #fff;
	font-size: 14px;
}
.tools-grid-item figure{
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.tools-grid-item figure img{
	object-fit: cover;
	transition: transform 0.2s linear;
}
.tools-grid-item figure::before{
	padding-top: 68%;
}
.tools-grid-item .info-wrap{
	padding: 26px;
}
.tools-grid-item .title{
	font-size: 30px;
	margin-bottom: 15px;
}

.tools-grid-item:hover{
	color: #fff;
}
.tools-grid-item:hover figure img{
	transform: scale(1.05);
}
/* ---------- /tools ---------- */