/* reset */
html,body,
applet,object,iframe,
h1,h2,h3,h4,h5,h6,blockquote,pre,
a,abbr,acronym,address,big,cite,code,
del,dfn,em,font,img,ins,kbd,p,q,s,samp,
small,strike,sub,sup,tt,var,
dd,dl,dt,li,ol,ul,form,label,
table,caption,tbody,tfoot,thead,tr,th,td {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 100%;
	font-family: "Inter", sans-serif;
	outline-style: none;
	scroll-behavior: smooth;
	scroll-padding-top: 90px;
}



/* Colors */
:root {	
	--color-primary: rgb(255, 255, 255); 
	--color-secondary: rgb(255, 251, 135); 
	--color-grey: rgb(180, 180, 180); 
	--bg-primary: rgb(34, 34, 34);
	--bg-secondary: rgb(51, 51, 51);
	--bg-special: rgb(255, 255, 255); 
	--bg-black: rgb(0, 0, 0); 
	
	--head-frame-height: 130px;
}
.bg-primary {
	background-color: var(--bg-primary) !important;
}
.bg-secondary {
	background-color: var(--bg-secondary) !important;
}
.bg-info  {
    background-color: var(--color-secondary) !important;
}
.bg-special {
	background-color: var(--bg-special) !important;
}
.border-bottom {
	border-bottom: 1px dotted var(--color-secondary) !important;
}
.text-primary {
	color: var(--color-primary) !important;
}
.text-grey {
	color: var(--color-grey) !important;
}
.text-secondary {
	color: var(--color-secondary) !important;
}

/* Buttons */
.btn {
}
.btn-primary {
	border: none;
	background: var(--bg-primary);
	color: var(--color-primary);
	font-weight: bold;
	-webkit-transition: all 0.5s;-moz-transition: all 0.5s;-ms-transition: all 0.5s;-o-transition: all 0.5s;transition: all 0.5s;
	font-size: 20px;
	line-height: 36px;
	margin: 0px;
	transition: all 0.2s;
}
.btn-primary:hover {
	border: none;
	background: var(--bg-primary);
	background-image: linear-gradient(90deg, rgba(255, 228, 9, 0.2), rgba(255, 228, 9, 0.0), rgba(255, 228, 9, 0.2));
}
.btn-secondary {
	border: none;
	background: var(--bg-special);
	color: black;
	-webkit-transition: all 0.5s;-moz-transition: all 0.5s;-ms-transition: all 0.5s;-o-transition: all 0.5s;transition: all 0.5s;
	font-size: 18px;
	line-height: 36px;
	margin: 0px;
	transition: all 0.2s;
}
.btn-secondary:hover {
	border: none;
	background: var(--bg-primary);
	background-image: linear-gradient(90deg, rgba(255, 228, 9, 0.2), rgba(255, 228, 9, 0.0), rgba(255, 228, 9, 0.2));
}
.btn-outline-secondary {
    padding: 8px;
    margin-right: 8px;
    background: rgb(60,60,60);
    color: white;
    font-weight: bold;
    text-decoration: none !important;
    border: 1px solid rgb(80,80,80);
	transition: all 0.2s;
}
.btn-outline-secondary:hover {
    background: var(--color-secondary);
    color: black;
}
.accordion-button {
	box-shadow: none !important;
}
.accordion-button:after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

.hover-opacity:hover {
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    opacity: 0.8;
}



.envelope {
    max-width: 1200px;
    margin: auto;
}
.envelope.full-hd {
    max-width: 1920px;
    margin: auto;
}
em {
	font-style: italic;
}
textarea:focus, input:focus{
    outline: none;
}
body {
	margin: 0px;
	padding: 0px;
	text-align: left;
	font-size: 15px;
	color: var(--color-primary);
	background-color: var(--bg-primary);
	text-align: left;
	font-family: interface,sans-serif;
	font-style: normal;
	font-weight: 400;
}
.reset {
	clear: both;
	line-height: 0px;
	height: 0px;
	padding: 0px;
	margin: 0px;
}

.bdy {
	margin: 0px auto 0px  auto;
	max-width: 100%;
	min-width: 992px;
	height: auto;
}
a {
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

select, option, input {
	-webkit-appearance: none;
	-moz-appearance: none;
}


/* icons */
.icon {
	max-width: 100%;
	height: auto;
}
.i-menu {
	margin-left: 10px;
	margin-bottom: 4px;
	height: 22px;
	width: 22px;
}
.i-h2 {
	margin-left: 2px;
	margin-bottom: 4px;
	height: 26px;
	width: 26px;
}
.i-search {
	height: 28px;
	width: 28px;
}
.i-breadcrumb {
	margin-left: 0px;
	margin-bottom: 4px;
	width: 18px;
	height: 18px;
}
.i-prevnext {
	width: 20px;
	height: 14px;
	margin-bottom: 5px;
}
.i-down {
	width: 22px;
	height: 22px;
	margin-bottom: 5px;
	margin-left: 10px;
	transform: rotate(90deg);
}
.i-social {
	margin: 5px 20px 10px 0px;
	height: 36px;
	width: 36px;
}
.i-zoom {
	height: 28px;
	width: 28px;
}
.i-zoom:hover {
	opacity: 0.8;
}
.i-hp-news {
	height: 38px;
	width: 38px;
	opacity: 0.8;
}
.i-hp-news:hover {
	opacity: 1;
}
.i-text-link {
	margin-left: 0px;
	margin-bottom: 1px;
	height: 12px;
	width: 12px;
}




/* header */
.frame-head {
	position: relative;
	z-index: 99999999;
	background: var(--color-k-blue);
	height:  var(--head-frame-height);
	width: 100%;
	border-bottom: 1px solid var(--color-k-azure);
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	background-color: var(--bg-primary);
}

.frame-head.fixed {
	position: fixed;
	top: 0px;
}
.frame-head h1 {
	position: relative;
	display: block;
	float: right;
	width: auto;
	height:  var(--head-frame-height);
	font-size: 18px;
	color: #00ACE9;
	text-align: right;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height:  var(--head-frame-height);
	margin-right: 30px;
	font-weight: bold;
}
.head {
}
.logo {
	position: relative;
	display: block;
	float: left;
	width: 200px;
	height:  var(--head-frame-height);
	z-index: 2100;
}
.logo img {
	margin: 40px 4%;
}




/* main menu */
.menu-button, .menu-button-user {
	display: none;
}
.menu-env {
	position: relative;
	float: left;
	top: 54px;
	margin: auto;
	width: calc(100% - 200px);
	height: 25px;
	text-align: center;
}
.menu {
	position: relative;
	margin: auto;
	width: 560px;
	height: 25px;
	color: rgb(255,255,255);
	text-align: center;
}
.menu.top {
	width: auto;
	text-align: right;
}
.menu ul {
	margin: 0px;
	list-style-type: none;

}
.menu li {
	float: left;
	position: relative;
}
.menu a {
	position: relative;
	color: rgb(255,255,255);
	font-size: 20px;
	font-weight: 700;
	padding: 10px 20px 16px 20px;
	text-align: center;
	margin: 0px 0px 0px 0px;
	text-decoration: none;
	z-index: 99;
}
.menu.top a {
	font-weight: 400;
}
.menu a.last {
	border: none;
}

.menu ul li:hover > a {
	background-color: var(--bg-secondary);
	color:  var(--color-secondary);
	text-decoration: none;
}
.menu ul li ul {
	z-index: 2;
	padding: 12px 0px 12px 0px;
	position: absolute;
	top: 35px;
	left: 0px;
	width: auto;
	background: var(--bg-secondary);
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
	visibility: hidden;
	box-shadow: 0px 5px 20px 0px black;
}
.menu ul li ul li {
	line-height: 42px;
        width: 100%;
        text-align: left;
}
a.submenu {
	white-space: nowrap;
	background-image: none;
	padding: 0px 18px 0px 18px;
	margin: 0px 0px 0px 0px;
	border-right: none;
	font-weight: 400;
}
a.submenu:hover {
	color: rgb(255,255,255);
	text-decoration: underline;
}
a.active {
	color: var(--color-secondary) !important;
}
.menu ul li:hover ul {
	display: block;
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	visibility: visible;
}


/* Homepage */
.promo {
	margin-top: var(--head-frame-height);
	height: 350px;
}
.promo h2 {
	font-size: 48px;
	font-weight: 700;
	text-shadow: 4px 4px 10px black;
}
.promo h3 {
	font-size: 24px;
	font-weight: 400;
	text-shadow: 4px 4px 10px black;
}
.promo img {
	max-width: 100%;
	height: auto;
}
.promo article {
	height: 350px;
}
.promo article.hovered {
	-webkit-transition: all 0.2s;-moz-transition: all 0.2s;-ms-transition: all 0.2s;-o-transition: all 0.2s;transition: all 0.2s;
}
.promo article.hovered:hover {
	opacity: 0.8 !important;
}





/* pager  - unused */
.cycle-pager a {
	position: absolute;
	bottom: 28vh;
	left: 30px;
	overflow: hidden;
	text-align: center;
	width: auto;
	z-index: 500;
	cursor: pointer;
}
.cycle-pager a#next {
	left: auto;
	right: 30px;
}


.frame-content.y-offset {
	margin-top: var(--head-frame-height);
}

/*  main content  */
.main-content {
	width: 100%;
	z-index: 999;
	position: relative;
}
.main-content.no-y-padding {
	padding: 0px 4% 0px 4%;
}
.main-content.y-offset {
	margin-top: var(--head-frame-height);
}
.main-content.no-padding {
	padding: 0px 0px 0px 0px;
}
.main-content h1, .main-content h2 {
	font-size: 36px;
	font-weight: 700;
	margin: 15px 0px 15px 0px;
	color: var(--color-secondary);
}
.main-content h3 {
	font-size: 28px;
	font-weight: 700;
	margin: 15px 0px 20px 0px;
	color: var(--color-secondary);
}
.main-content h4 {
	font-size: 18px;
	font-weight: 700;
	margin: 15px 0px 20px 0px;
	color: white;
}
.main-content h2 a, .main-content h3 a {
	text-decoration: none;
}
.main-content h2 a:hover, .main-content h3 a:hover {
	text-decoration: underline;
}
.main-content p {
	margin: 0px 0px 20px 0px;
	font-size: 16px;
}
.main-content a {
	text-decoration: underline;
	color: var(--color-primary);
}
.main-content b, .main-content strong {
}
.main-content a:hover {
	text-decoration: none;
}
.main-content img {
	max-width: 100%;
	height: auto;
}
.main-content img.border {
	border: 1px solid rgb(222,222,222);
}
.main-content iframe {
	max-width: 100%;
}
.main-content a:hover img {
	opacity:0.9;
	filter: alpha(opacity=90);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
}
.main-content table {
	border-collapse: collapse;
	width: 100%;
	margin: 5px 0px 30px 0px;
}
.main-content tr td {
	padding: 10px 15px 10px 15px;
	vertical-align: middle;
	position: relative;
}
.accordion-body tr td {
        border-bottom: 1px dotted var(--color-grey);
}
.main-content input, .main-content textarea, .main-content select  {
}
.main-content input.radio {
	width: 16px;
	height: 16px;
}
.main-content textarea  {
	height: 100px;
}
input.submit, select.select {
	width: 100%;
}
.main-content ul, .main-content ol {
	margin: 10px 0px 20px 0px;
}
.main-content ul li, .main-content ol li {
	margin: 0px 0px 5px 25px;
	font-size: 18px;
}



.main-content hr {
	height: 1px;
	color: #B2B2B2;
	clear: both;
	opacity: 1;
	margin: 15px 0px;
}
.main-content embed {
	max-width: 100%;
}




/* HP alert */
.hp-alert {
	position: relative;
	z-index: 999;
}
.hp-alert a {
	color: white;
	text-decoration: none;
}
.hp-alert a:hover {
	opacity: 0.7;
}
.hp-alert h2 {
	font-size: 40px;
	font-weight: 700;
}
.hp-alert p {
	font-size: 20px;
	font-weight: 400;
}

/* HP cards */
.card {
	position: relative;
	background-image: none;
	z-index: 1;
}
.card::before {
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: linear-gradient(90deg, rgba(255, 228, 9, 0.2), rgba(255, 228, 9, 0.0), rgba(255, 228, 9, 0.2));
	z-index: -1;
	transition: opacity 0.2s linear;
	opacity: 0;
}
.card:hover::before {
	opacity: 1;
}
.card-header.course-main-photo {
	background-size: cover;
}
.course-main-photo h2, .course-main-photo h3, .course-main-photo p, h2.text-shadow {
    text-shadow: 4px 4px 10px black;
}
.card ul {
	list-style-type: none;
}
.card ul li {
	font-size: 20px;
	line-height: 22px;
	margin: 0px 0px 5px 0px;
}
.card.secondary ul li {
	font-size: 16px;
	line-height: 20px;
}


/* HP list */
.hp-list li {
	font-size: 20px;
	margin: 0px 0px 5px 0px !important;
}

/* HP reference */
.reference h3 {
	font-size: 24px;
	margin: 15px 0px 0px 0px;
}
.reference h4 {
	font-size: 20px;
	margin: 0px 0px 15px 0px;
}



/* Partners - logos */
.partners img {
	max-width: 180px;
	height: auto;
	margin: 10px;
}

/* breadcrumbs */
.breadcrumb {
	color: white;
	font-size: 16px;
}
a.breadcrumb-item {
	font-weight: 300;
	padding: 0px 8px;
	font-size: 16px;
	text-decoration: underline;
}
span.breadcrumb-item {
	font-weight: 300;
	padding: 0px 8px;
	font-size: 16px;
}
a.breadcrumb-item:hover {
	text-decoration: none;
}
.breadcrumb-item + .breadcrumb-item::before {
	content: '';
}

/* Products */
.products {	
}
.products-light {
	border: 1px solid var(--color-grey);
}
.products article {
	border: 1px solid var(--color-grey);
}
.products article span, .products article a, .products-light article span, .products-light article a {
	text-decoration: none;
	font-size: 20px;
}
.products article a:hover, .products-light article a:hover {
	background-image: linear-gradient(90deg, rgba(255, 228, 9, 0.2), rgba(255, 228, 9, 0.0), rgba(255, 228, 9, 0.2));
}


/* Product detail */
.product-detail-photo {
}
.product-detail-price {	
}

/* BS nav tabs */
.nav-tabs {
	border: none !important;
}
.nav-link {
	color: var(--color-primary) !important;
	border: none !important;
	border-radius: 0px !important;
	border-top: 2px solid var(--bg-primary) !important;
	-webkit-transition: all 0.2s;-moz-transition: all 0.2s;-ms-transition: all 0.2s;-o-transition: all 0.2s;transition: all 0.2s;
}
.nav-link.active {
	background: none !important;
	border: none !important;
	border-top: 2px solid var(--bg-secondary) !important;
}
.nav-link:hover { 
	border-top: 2px solid var(--color-secondary) !important;
}
.main-content ul.nav-tabs  {
	margin: 20px 0px 20px 0px;
}
.main-content ul.nav-tabs li {
	margin: 0px 0px 0px 0px;
}
.tab-content {
	font-size: 18px !important;
}

/* BS toast */
.toast {
    max-width: 100% !important;
}
.toast p a:hover {
    text-decoration: none;
}

/* Forms */
.loginform {
	max-width: 640px;
}
.form-check-input:checked {
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
}
.form-check-input.radio:checked {
	background-color: var(--bg-black);
}


/* Order */
tr.table-head {
	border-bottom: 1px dotted var(--color-grey);
	font-weight: bold;
}
.order tr {
}
.order input {
height: 100%;
padding: 8px;
margin-right: 8px;
background: rgb(60,60,60);
color: white;
font-weight: bold;
border: 1px solid rgb(80,80,80);
}
.order input.amount {
width: 20px;
padding: 8px;
height: 16px;
}
.order input[type=submit] {
width: 200px;
cursor: pointer;
font-size: 13px;
-webkit-transition: all 0.2s;-moz-transition: all 0.2s;-ms-transition: all 0.2s;-o-transition: all 0.2s;transition: all 0.2s;
}
.order input[type=submit]:hover {
    background: var(--color-secondary);
    color: black;
}
.order td.img {
	width: 120px;
	height: 120px;
}
.order td.img img {
	padding: 15px;
}


/* articles */
.articles {
}
.articles article {
	display: block;
	max-width: 360px;
	height: auto;
	text-align: center;
	margin: 50px auto;
}
.articles a {
	text-decoration: none;
}
.articles img {
	max-width: 240px;
	max-height: 300px;
}
.articles h3 {
	font-size: 20px;
	font-weight: bold;
	margin: 15px auto 5px auto;
}
.articles h4 {
	font-size: 16px;
	font-weight: normal;
	color: black;
	margin: 5px auto;
}
.articles p {
	font-size: 16px;
	margin: 15px auto;
	color: black;
	text-align: left;
}




/* contact form */
.contact-form {
	position: relative;
	margin: 0px auto 0px auto;
	width: auto;
}
.contact-form h2 {
	margin-top: 0px;
}
.contact-form input, .contact-form textarea {
	width: 100%;
	border: 1px solid #009FDF;
	margin-bottom: 15px;
	padding: 7px 1%;
	border-radius: 0px;
}
.contact-form input.contactformsubmit {
	width: auto;
}
.contact-form input.contactformsubmit:hover {
	background: #003A70;
}
.contact-form-alert {
}
.contact-form-alert2 {
}

/* Tooltip */
a.tooltipbutton, a.tooltipbutton:hover {
	display: inline-block;
	background: var(--color-grey);
	color: white;
	padding: 1px;
	border-radius: 20px;
	text-decoration: none;
	width: 22px;
	text-align: center;
	margin-left: 10px;
}
a.tooltipbutton:hover {
	background: var(--color-grey);
	color: black;
}
span.tooltip {
	display: none;
	position: absolute;
	bottom: 40px;
	left: 0px;
	background: var(--color-grey);
	color: black;
	width: 280px;
	padding: 15px;
	font-size: 13px;
	opacity: 1 !important;
}


/* Course detail */
#courseMenu a {
	text-decoration: none;
}
#courseMenu a:hover {
	text-decoration: underline;
}
.progress {
    height: 4px;
    top: -4px;
    position: relative;
}
.progress-bar {
    background-color: var(--color-secondary);
}
.video-js {
    max-width: 100% !important;
}

/* kalendar */
td.action-month {
	font-weight: bold;
}
.calendar-detail-date {
	font-weight: bold;
	margin: 0px 0px 0px 0px;
}
.calendar table tr {
	border-bottom: 1px dotted var(--color-grey);
}
.calendar-detail-body {
	margin: 20px 0px 0px 0px;
}
.calendar-detail-back {
	float: right;
}
.calendar-detail-back a {
}
.calendar-archive {
	text-align: right;
	margin-right: 5px;
	margin-bottom: 5px;
}
.calendar-archive a {
	font-weight: bold;
}

/* mapa */
.maplibregl-popup {
    max-width: 280px !important;
}
.maplibregl-popup-content {
  padding: 1px !important;
}
.maplibregl-popup-content img {
  max-width: 100% !important;
  height: auto;
  margin-bottom: 5px;
}
.maplibregl-popup-content a {
	text-decoration: none !important;
}
.maplibregl-popup-content h3, .maplibregl-popup-content p {
	padding: 10px;
	font-weight: bold;
	font-size: 15px;
	text-decoration: none;
	text-transform: uppercase;
	border: none;
	color:  black;
        margin: 0px;
}
.maplibregl-popup-content p {
	padding: 10px;
	font-weight: normal;
	font-size: 14px;
	text-transform: none;
}
.maplibregl-popup-close-button {
	font-size: 30px !important;
	top: -30px !important;
        color:  black;
}

.maplibregl-marker:hover {
opacity: 0.85 !important;
}
.form-check-label img {
	max-height: 22px;
	width: auto;
}


/* patka */
footer a {
	color: var(--color-primary); 
	text-decoration: none;
	font-size: 13px;
}
footer img {
	max-width: 90%;
}
.footer h2 {
}
footer a:hover {
	color: var(--color-secondary);
	text-decoration: underline;
}
.social-icons {
	margin: 20px 0px 0px 0px;
}
