@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;500;700&display=swap");
#topMenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 10;
  transition: background-color 0.5s, color 0.5s;
}
#topMenu #menuC {
  transition: background-color 0.5s, color 0.5s;
  /*        display: flex;
          align-items: center;*/
  position: relative;
}
#topMenu #menuC #menu-name {
  margin: 0;
  display: inline-block;
  font-size: 1em;
}
#topMenu #menuC #menu-container {
  display: inline-block;
  flex: 1;
  overflow: hidden;
}
#topMenu #menuC #menu-container > #menu-inner {
  white-space: nowrap;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
}
#topMenu #menuC #menu-container > #menu-inner > .menuElem {
  position: relative;
  cursor: pointer;
  display: inline-block;
}
#topMenu #menuC #menu-container > #hamburger {
  vertical-align: middle;
  display: none;
  cursor: pointer;
}
#topMenu #menuC #menu-container > #hamburger:before {
  content: "\f0c9";
  font-family: "Font Awesome 5 Pro";
}
#topMenu.hamburger.opened {
  z-index: 100;
}
#topMenu.hamburger.opened #menuC #menu-container > #menu-inner {
  right: 0;
}
#topMenu.hamburger #menuC #menu-container > #menu-inner {
  right: -100%;
  transition: right 0.3s;
  top: 0;
  text-align: right;
  position: fixed;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
#topMenu.hamburger #menuC #menu-container > #hamburger {
  display: block;
  z-index: 1;
  position: relative;
}

.checkAnim {
  width: 4em;
  height: 4em;
  border-radius: 50%;
  display: block;
  stroke-width: 2;
  stroke: #fff;
  stroke-miterlimit: 10;
  margin: 2em auto;
  box-shadow: inset 0px 0px 0px #EF7F1A;
  display: none;
}
.checkAnim.active {
  display: block;
  animation: fill 0.4s ease-in-out 0.4s forwards, scale 0.3s ease-in-out 0.9s both;
}
.checkAnim.active .checkmark__circle {
  animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.checkAnim.active .checkmark__check {
  animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}
.checkAnim .checkmark__circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #EF7F1A;
  fill: none;
}
.checkAnim .checkmark__check {
  transform-origin: 50% 50%;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
}
@keyframes stroke {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes scale {
  0%, 100% {
    transform: none;
  }
  50% {
    transform: scale(1.1, 1.1);
  }
}
@keyframes fill {
  100% {
    box-shadow: inset 0px 0px 0px 4em #EF7F1A;
  }
}

form#mailBlock textarea {
  resize: vertical;
  min-height: 8em;
}
form#mailBlock *:focus {
  outline: none;
}
form#mailBlock .inputCont {
  padding: 0.4em 0;
}
form#mailBlock input:not([type=submit]):not([type=checkbox]), form#mailBlock textarea {
  font-family: inherit;
  padding: 0.6em;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #bbb;
  border-radius: 0.4em;
  color: #727271;
  transition: border-color 0.4s;
  font-weight: 300;
}
form#mailBlock input:not([type=submit]):not([type=checkbox])::placeholder, form#mailBlock textarea::placeholder {
  color: #c6c6c6;
}
form#mailBlock input:not([type=submit]):not([type=checkbox]):focus, form#mailBlock textarea:focus {
  border: 1px solid #EF7F1A;
}
form#mailBlock input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 10em #fff inset;
}

.cbxCont {
  display: block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.cbxCont .checkmark {
  transition: border-color 0.3s;
  border: 1px solid #bbb;
  position: relative;
  width: 1em;
  height: 1em;
  overflow: hidden;
  border-radius: 2px;
  display: inline-block;
  vertical-align: middle;
  transition: background-color 0.3s;
}
.cbxCont .checkmark:after {
  content: "\f00c";
  font-family: "Font Awesome 5 Pro";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 100%;
  line-height: 0;
  text-align: center;
  transition: opacity 0.3s;
  color: #fff;
  opacity: 0;
}
.cbxCont .label {
  vertical-align: middle;
  margin-left: 1em;
}
.cbxCont input[type=checkbox] {
  display: none;
}
.cbxCont input[type=checkbox]:checked ~ .checkmark {
  background-color: #EF7F1A;
}
.cbxCont input[type=checkbox]:checked ~ .checkmark:after {
  opacity: 1;
}

#message {
  text-align: center;
  font-size: 1.2em;
}

.contact-icon {
  color: #EF7F1A;
  font-size: 2.5em;
  text-align: center;
  padding: 0.2em;
  display: block !important;
}

h3.dropdown {
  cursor: pointer;
  position: relative;
  padding: 0.5em 0;
  margin: 0;
  overflow: hidden;
}
h3.dropdown:before {
  content: "\f105";
  display: inline-block;
  font-family: "Font Awesome 5 Pro";
  /*        color: $lightblue;*/
  margin-right: 1em;
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  -o-transition: transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s;
}
h3.dropdown:not(.opened):after {
  content: "bővebben...";
  display: block;
  line-height: 0;
  /* margin-left: 0em; */
  color: #ababab;
  font-size: 0.5em;
  margin-left: 2em;
}
h3.dropdown + .dropdown_container {
  padding: 0 10px;
  /*        border-left: 1px solid $white;*/
  overflow: hidden;
  -webkit-transition: height 0.5s;
  -o-transition: height 0.5s;
  transition: height 0.5s;
  margin: 0;
  height: 0;
}
h3.dropdown + .dropdown_container.opened {
  height: auto;
}
h3.dropdown.opened:before {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

:root {
  --bs-font-sans-serif: "Rubik", sans-serif;
}

body, html {
  height: 100%;
  width: 100%;
  margin: 0;
  position: relative;
  scroll-behavior: smooth;
}

body {
  color: #727271;
  font-family: "Rubik", sans-serif;
  overflow: auto;
  font-weight: 300;
  text-rendering: geometricPrecision;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
body::-webkit-scrollbar {
  display: none;
}

main {
  padding: 2.5em 0;
}

h1, h2, h3, h4 {
  font-weight: inherit;
  clear: both;
  text-transform: uppercase;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.4rem;
}

h4 {
  font-size: 1.1rem;
}

h6 {
  margin: 0;
}

/*p{
    margin: .25em 0;
}*/
a, .btn {
  color: #EF7F1A;
  text-decoration: none;
  cursor: pointer;
  font-weight: 300;
}
a:hover, .btn:hover {
  color: #c8660e;
}

.btn {
  text-transform: uppercase;
}

img {
  max-width: 100%;
}

.color-anim {
  transition: color 0.4s;
}

.bgcolor-anim {
  transition: background-color 0.4s;
}

.masked-icon {
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background-color: #727271;
  transition: background-color 0.5s;
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  vertical-align: middle;
}

.orange-masked-icon {
  background-color: #EF7F1A;
}

.orange-dot-icon {
  width: 0.6em;
  height: 1.2em;
  margin: 0 0.5em;
  background-color: #EF7F1A;
  border-radius: 1em;
  display: inline-block;
  vertical-align: text-bottom;
}

#top-logo {
  position: relative;
  max-height: 200px;
  z-index: 12;
  margin: 1em 0;
}

#home-wrapper p {
  margin: 0;
}
#home-wrapper #home-lft {
  text-transform: uppercase;
}
#home-wrapper #home-mid {
  display: flex;
}
#home-wrapper #home-mid #firtko-image {
  flex-grow: 1;
  padding-top: 100%;
  background-image: url("/img/firtko_foto.jpg");
  background-size: cover;
  background-position-y: top;
  background-position-x: center;
}
#home-wrapper #home-rgt {
  display: flex;
  flex-direction: column;
}
#home-wrapper #home-rgt p {
  margin-bottom: 0.5em;
}
#home-wrapper #home-rgt #home-icons {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: end;
  gap: 1em;
}
#home-wrapper #home-rgt #home-icons .home-icon {
  background-color: #727271;
  width: 2.5em;
  height: 2.5em;
}
#home-wrapper #home-rgt #home-icons .home-icon:hover, #home-wrapper #home-rgt #home-icons .home-icon.highlight {
  background-color: #EF7F1A;
}

#specialties #specialties-short .specialty-short-title {
  display: block;
  text-transform: uppercase;
  color: #727271;
  padding: 0.5em 0;
}
#specialties #specialties-short .specialty-short-title .specialty-short-icon {
  display: inline-block;
  vertical-align: middle;
  width: 2.2em;
  height: 2.2em;
  margin-right: 0.8em;
  background-color: #727271;
}
#specialties #specialties-short .specialty-short-title:hover, #specialties #specialties-short .specialty-short-title.highlight {
  color: #EF7F1A;
}
#specialties #specialties-short .specialty-short-title:hover .specialty-short-icon, #specialties #specialties-short .specialty-short-title.highlight .specialty-short-icon {
  background-color: #EF7F1A;
}
#specialties #specialties-long .specialty-row .specialty-title {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  justify-content: space-between;
}
#specialties #specialties-long .specialty-row .specialty-title .specialty-icon {
  width: 3em;
  height: 3em;
  display: block;
}
@media (max-width: 768px) {
  #specialties #specialties-long .specialty-row .specialty-title h2 {
    font-size: 1.2rem;
  }
}
#specialties #specialties-long .specialty-row .specialty-content {
  position: relative;
}
#specialties #specialties-long .specialty-row .specialty-content .orange-dot-icon {
  position: absolute;
  margin-left: 0.8em;
}
#specialties #specialties-long .specialty-row .specialty-content > .content-inner {
  margin-top: -0.3em;
}
#specialties #specialties-long .specialty-row .specialty-content > .content-inner > p:last-child {
  margin-bottom: 0;
}
#specialties #specialties-long .specialty-row.highlight {
  position: relative;
}
#specialties #specialties-long .specialty-row.highlight:before {
  content: "";
  position: absolute;
  height: calc(100% - 2em);
  width: 6px;
  background-color: #EF7F1A;
  margin-left: calc(var(--bs-gutter-x) * 0.5);
}
#specialties #specialties-long .specialty-row.highlight .specialty-title {
  padding-left: var(--bs-gutter-x);
}
#specialties #specialties-long .specialty-row.highlight .specialty-title .specialty-icon {
  background-color: #EF7F1A;
}
#specialties #specialties-long .specialty-row.anchor-highlighted {
  background-color: #f5f5f5;
  border-radius: 0.5em;
}

#gdpr-line {
  position: sticky;
  left: 0;
  bottom: 0;
  background-color: #FFF;
  width: 100%;
  opacity: 0.96;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
  font-size: 0.9em;
  border-top: 1px solid #ccc;
  z-index: 5;
  /*    #cookieEnableBtn{
          border: none;
          padding: 0.5em 2em;
          vertical-align: middle;
          margin: 0 2em;
          background-color: $favColor;
          color: $light;
          font-size: .9em;
          cursor: pointer;
          transition: background-color .3s, transform .3s;
          transform: none;
          display: inline-block;
          &:hover{
              background-color: darken($favColor, 5);
              transform: scale(105%);
          }
      }*/
}

#publications #publication-list .publication-row .publication-content > p {
  margin-bottom: 0.4rem;
}
#publications #publication-list .publication-row .publication-content > p:last-child {
  margin-bottom: 0;
}
#publications #publication-list a {
  font-weight: 500;
}
#publications #publication-list a:after {
  content: "\f08e";
  font-family: "Font Awesome 5 Pro";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-weight: 400;
  padding-left: 0.5em;
}

#partners #partners-list .partner-tile {
  text-align: center;
}
#partners #partners-list .partner-tile .partner-logo {
  width: 6em;
  height: 6em;
  background-color: #727271;
  border-radius: 0.5em;
  margin: 1em auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

@media (min-width: 768px) {
  #contact-page-info-container {
    margin-left: -1.6em;
  }
}
#contact-page-info-container #contact-page-info {
  display: inline-block;
  vertical-align: top;
  text-transform: uppercase;
}

.h-captcha {
  opacity: 0;
  max-height: 0;
  transition: opacity 0.6s, max-height 0.6s;
}
.h-captcha.active {
  opacity: 1;
  max-height: 150px;
}

footer {
  position: sticky;
  top: 100%;
  font-size: 0.8em;
  text-align: center;
  padding: 0.5em 0;
}
footer a {
  color: #727271;
  text-decoration: underline;
}
footer a:hover {
  color: #EF7F1A;
}
footer ul#footer-elements {
  padding-left: 0;
}
footer ul#footer-elements > li {
  display: inline;
}
footer ul#footer-elements > li:after {
  content: " ";
  letter-spacing: 2em;
  background: linear-gradient(90deg, transparent calc(50% - 0.5px), #bbb 0, #bbb calc(50% + 0.5px), transparent 0); /* 6 */
}

#scrollUp {
  position: fixed;
  bottom: 5em;
  opacity: 0;
  padding: 0.8em;
  max-height: 0;
  text-align: center;
  background-color: #EF7F1A;
  color: #fff;
  transition: opacity 0.3s, max-height 0.5s;
  cursor: pointer;
  overflow: hidden;
  box-sizing: border-box;
  white-space: nowrap;
  border-radius: 100px;
  z-index: 1;
  right: 6%;
}
#scrollUp:after {
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
  width: 1.5em;
  height: 1.5em;
  display: inline-block;
  vertical-align: middle;
}
#scrollUp.active {
  opacity: 1;
  max-height: 5em;
}
#scrollUp.active:hover {
  box-shadow: 0 0 10px #ccc;
}
#scrollUp.active:hover .text {
  max-width: 20em;
}
#scrollUp .text {
  display: inline-block;
  max-width: 0;
  transition: max-width 0.5s;
  overflow: hidden;
  vertical-align: middle;
}

#topMenu {
  text-transform: uppercase;
  background-color: #fff;
}
#topMenu #menuC #menu-container {
  text-align: right;
}
#topMenu #menuC #menu-container > #menu-inner {
  text-align: right;
}
#topMenu #menuC #menu-container > #menu-inner .menuElem {
  padding: 0.5em 1.3em;
  margin: 0;
  color: #727271;
  transition: color 0.5s;
}
#topMenu #menuC #menu-container > #menu-inner .menuElem:hover {
  color: #EF7F1A;
}
#topMenu #menuC #menu-container > #hamburger {
  font-size: 1.5rem;
  color: #727271;
}
#topMenu.hamburger #menuC #menu-container {
  text-align: right;
}
#topMenu.hamburger #menuC #menu-container > #menu-inner {
  background-color: #fff;
  padding: 8em 0;
  height: 100vh;
  width: 100vw;
  max-width: 400px;
  top: 0;
  box-sizing: border-box;
  text-align: center;
  box-shadow: 0 0 5px #ccc;
}
#topMenu.hamburger #menuC #menu-container > #menu-inner .menuElem {
  font-size: 1.3em;
}
#topMenu.hamburger.opened > #menuC > #menu-container > #hamburger {
  color: #fff;
}
#topMenu .fa-linkedin {
  font-size: 1.6em;
}
#topMenu .fa-linkedin-in {
  font-size: 1.1em;
  border: 1px solid #727271;
  line-height: 0.9;
  border-radius: 0.2em;
  padding: 0.2em;
}

ol {
  counter-reset: item;
  padding-left: 1.5rem;
}
ol li {
  display: block;
  position: relative;
  counter-increment: item;
}
ol li:before {
  content: counters(item, ".") ". ";
  position: absolute;
  right: 100%;
  padding-right: 0.5em;
  min-width: 1.5em;
}
ol li ol {
  padding-left: 2rem;
}

table tbody, table td, table tfoot, table th, table thead, table tr {
  border-collapse: collapse;
  border: 1px solid #ccc;
}

/*# sourceMappingURL=style.css.map */
