/*------------------------------------*\
    $RESET
\*------------------------------------*/
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  scroll-behavior: smooth; }

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

html, body, div, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, ol, ul, li, form, legend, label, table, header, footer, nav, section, figure, main {
  margin: 0;
  padding: 0; }

header, footer, nav, section, article, hgroup, figure, main {
  display: block; }

/*------------------------------------*\
    $GLOBAL ELEMENTS
\*------------------------------------*/
html {
  font-size: 100%; }

body {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  margin: 0;
  font-size: 1rem;
  background-color: #fcfcfc; }

/* Flexible Media */
img,
video,
object {
  max-width: 100%;
  height: auto; }

img {
  display: block; }

address {
  font-style: normal; }

strong {
  font-weight: 700; }

#rwd-listener {
  z-index: 10;
  position: relative; }
  @media all and (min-width: 46em) {
    #rwd-listener {
      z-index: 60; } }

a {
  color: #2667B7;
  text-decoration: underline; }
  a:hover, a:focus {
    color: #e55c00; }

section {
  outline: none; }

dt {
  font-weight: 700; }

th {
  text-align: left; }

.externallink {
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.2em; }

.tablewrapper {
  width: 100%;
  overflow-x: auto;
  padding-left: 6%; }
  @media all and (min-width: 24em) {
    .tablewrapper {
      overflow-x: hidden;
      padding-left: 0; } }

/*------------------------------------*\
    $GLOBAL CLASSES
\*------------------------------------*/
/* Clearfix */
.cf:before, .cf:after {
  content: " ";
  display: table; }

.cf:after {
  clear: both; }

.vishidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

.inner {
  margin: 0 auto;
  max-width: 90%; }
  @media all and (min-width: 64em) {
    .inner {
      max-width: 80%; } }

/*------------------------------------*\
    HEADER
\*------------------------------------*/
header {
  background: linear-gradient(270deg, #DADCDA 0%, #ECEDEC 100%);
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%; }
  @media all and (min-width: 46em) {
    header {
      display: block;
      height: auto; } }

header h1 {
  margin: 0 auto;
  width: 100%;
  text-align: center; }

.logo {
  height: 20vh;
  display: inline;
  margin: 5vh 0; }

/*------------------------------------*\
    NAVIGACIO
\*------------------------------------*/
nav {
  padding-bottom: 5vh;
  width: 80%;
  max-width: 55em;
  margin: 0 auto; }
  nav ul {
    width: 100%;
    overflow: hidden;
    margin: 0;
    -webkit-transition: height 0.2s ease-in-out;
    -moz-transition: height 0.2s ease-in-out;
    -ms-transition: height 0.2s ease-in-out;
    -o-transition: height 0.2s ease-in-out;
    transition: height 0.2s ease-in-out;
    list-style-type: none;
    padding: 0;
    box-sizing: border-box; }
    @media all and (min-width: 46em) {
      nav ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between; } }
  nav li {
    padding-bottom: 1rem;
    text-align: center; }
    @media all and (min-width: 46em) {
      nav li {
        width: 100%;
        padding-bottom: 0;
        padding: 0 0.5em; } }
    nav li a {
      color: #777;
      text-decoration: none;
      padding: 1rem 0;
      position: relative;
      font-size: 1rem;
      font-family: "Oxygen", sans-serif;
      text-transform: uppercase;
      font-weight: 700;
      line-height: 1;
      display: inline-block;
      border-bottom: 2px solid transparent;
      -webkit-transition: border-bottom 0.15s linear;
      -moz-transition: border-bottom 0.15s linear;
      -ms-transition: border-bottom 0.15s linear;
      -o-transition: border-bottom 0.15s linear;
      transition: border-bottom 0.15s linear; }
      nav li a:hover, nav li a:focus {
        outline: none;
        border-bottom: 2px solid #aeaeae; }
      nav li a.active {
        color: white; }

/*------------------------------------*\
    MAIN SECTIONS
\*------------------------------------*/
main {
  padding: 0; }

main > section {
  padding: 5rem 0;
  clear: both; }

main > section:nth-child(odd) {
  background-color: #f5f5f5; }

main > section:nth-child(1) {
  /*background-color: transparent;*/ }

main > section p:last-child {
  margin-bottom: 0; }

main section section {
  padding: 0;
  margin-bottom: 3rem; }

main section section:last-child {
  margin-bottom: 0; }

main section .wrapper {
  margin: 0 auto;
  width: 88%;
  max-width: 55em; }
  @media all and (min-width: 24em) {
    main section .wrapper {
      width: 80%; } }

main p,
main dt,
main dd,
main li,
main figcaption {
  font-size: 1.1875rem;
  line-height: 1.4; }
  @media all and (min-width: 24em) {
    main p,
    main dt,
    main dd,
    main li,
    main figcaption {
      font-size: 1.25rem;
      line-height: 1.5; } }

main sup {
  font-size: 60%;
  text-transform: none; }

main p {
  margin: 1em 0; }

main ul li {
  list-style-type: square;
  margin-left: 1.2em; }

main h2 {
  font-family: "Oxygen", sans-serif;
  font-weight: 700;
  color: #f65600;
  text-align: center;
  margin-bottom: 1em;
  font-size: 1.5em; }
  main h2:after {
    content: "";
    display: block;
    width: 4rem;
    margin: 0 auto;
    border-bottom: 3px solid #aeaeae;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
  @media all and (min-width: 24em) {
    main h2 {
      font-size: 2rem; } }

main h3,
main caption {
  color: #f65600;
  font-size: 1.25rem;
  margin-bottom: 0.5em;
  font-family: "Oxygen", sans-serif;
  font-weight: 700; }
  @media all and (min-width: 24em) {
    main h3,
    main caption {
      font-size: 1.4rem; } }

main h4 {
  font-size: 1.1875rem;
  font-family: "Oxygen", sans-serif;
  font-weight: 700;
  margin-top: 1.5em;
  margin-bottom: 1em; }
  @media all and (min-width: 24em) {
    main h4 {
      font-size: 1.25rem; } }

.lead {
  font-weight: 600;
  margin-bottom: 4em; }

@media all and (min-width: 46em) {
  .portre {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    align-items: flex-start; } }

.portrefoto {
  border: 10px solid #aeaeae;
  box-shadow: 5px 10px #f65600;
  border-radius: 20%;
  padding: 5px;
  margin-bottom: 2em;
  width: 100%; }
  @media all and (min-width: 46em) {
    .portrefoto {
      width: 25%;
      margin-right: 5%; } }

.portre > h3 {
  text-align: center; }
  @media all and (min-width: 46em) {
    .portre > h3 {
      -webkit-box-flex: none;
      -webkit-flex: none;
      -moz-box-flex: none;
      -moz-flex: none;
      -ms-flex: none;
      flex: none;
      display: inline-block;
      width: 25%;
      margin-right: 5%; } }
  .portre > h3 img {
    margin: 0 auto; }

.profile p {
  margin-top: 0; }

.titulus {
  display: block;
  font-size: 70%;
  color: #777; }

#rolunk section {
  clear: both;
  margin: 4em 0 0 0; }

.felepitmenyek img {
  border-radius: 2em;
  border: 10px solid #aeaeae;
  padding: 5px;
  margin: 2em 0; }

.falitartok {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center; }
  @media all and (min-width: 46em) {
    .falitartok {
      grid-template-columns: repeat(4, minmax(min-content, 25%));
      column-gap: 1%; } }

.falitartok figure {
  width: 100%;
  height: 100%; }

.falitartok img {
  width: 100%;
  height: 80%;
  object-fit: cover;
  border: 2px solid #ccc;
  padding: 5px;
  border-radius: 5%; }

.falitartok figcaption {
  font-weight: 600;
  text-align: center; }
  @media all and (min-width: 46em) {
    .falitartok figcaption {
      font-size: 80%; } }

/*------------------------------------*\
    
\*------------------------------------*/
.back-to-top {
  position: fixed;
  right: 4%;
  bottom: 4%;
  z-index: 100; }
  @media all and (min-width: 46em) {
    .back-to-top {
      right: 2%;
      bottom: 2%; } }
  .back-to-top--active {
    opacity: 1;
    -webkit-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -ms-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear; }
  .back-to-top--inactive {
    opacity: 0;
    -webkit-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -ms-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear; }
  .back-to-top a {
    width: 2rem;
    height: 2rem;
    display: block;
    overflow: hidden;
    opacity: 0.2; }
  .back-to-top svg {
    width: 2rem;
    height: 2rem;
    color: #161E79; }
  .back-to-top a:visited {
    opacity: 0.2; }
  .back-to-top a:focus,
  .back-to-top a:hover {
    opacity: 0.5; }

body > footer[data-emergence=hidden] .back-to-top svg {
  color: #161E79;
  -webkit-transition: color 0.2s linear;
  -moz-transition: color 0.2s linear;
  -ms-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear; }

body > footer[data-emergence=visible] .back-to-top svg {
  -webkit-transition: color 0.2s linear;
  -moz-transition: color 0.2s linear;
  -ms-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
  color: white; }

/*------------------------------------*\
    $LAYOUT: FOOTER
\*------------------------------------*/
body > footer {
  background-color: #aeaeae;
  padding: 3em 6% 1em;
  color: white;
  position: relative;
  clear: both; }
  body > footer a:link,
  body > footer a:visited {
    color: #333;
    text-decoration: none; }
  body > footer a:hover,
  body > footer a:focus {
    text-decoration: underline; }
  body > footer a:focus {
    outline-color: white; }
  @media all and (min-width: 46em) {
    body > footer {
      background-position: center center; } }
  body > footer h2 {
    text-align: center;
    margin-bottom: 2rem;
    text-transform: uppercase;
    color: #333; }
    body > footer h2:after {
      content: "";
      display: block;
      width: 5em;
      margin: 1rem auto;
      border-top: 3px solid #f65600;
      padding-top: 0.5em;
      padding-bottom: 0.5em; }
    @media all and (min-width: 46em) {
      body > footer h2 {
        margin-bottom: 1rem; } }
  body > footer dl {
    margin-bottom: 2em; }
  body > footer dt, body > footer dd {
    color: #333;
    text-align: center;
    padding: 0;
    margin: 0; }
  body > footer dd {
    margin-bottom: 1em; }
  body > footer [itemprop="legalName"] {
    color: #333;
    font-size: 120%;
    text-align: center;
    font-weight: bold; }

#ftcopyright {
  text-align: center;
  font-size: 0.75rem;
  margin: 2em 0 0 0;
  color: black;
  clear: both; }


video {
  display: block;
  border-radius: 2em;
  border: 10px solid #aeaeae;
  padding: 5px;
  margin: 2em 0;
  }
