h1.nowrap {
  white-space: nowrap;
}
@media (max-width: 544px) {
  h1.nowrap {
    white-space: normal;
  }
}

/* preambulum formázása */
.preambulum, .epsztiContent {
    display: flex;
    flex-direction: row;
    margin: 3em auto;
  }
  
  .ismertetovideoContent, .partnerekContent, .szakmaigyakorlatContent {
    padding: 3em 2em;
  }
  
  .tartalomKozepre {
    text-align: center;
  }
  
  .preambulum_left, .epszti_left {
    flex: 50%;
    padding: 3em 2em;
  }
  
  .epszti_left{
    padding: 0 2em;
  }
  
  .preambulum_left {
    color: #fff;
    background-color: #5A9BD3;
  }
  
  .preambulum_right, .epszti_right {
    flex: 50%;
  }
  .preambulum_right > picture > img, .epszti_right > picture > img {
    max-width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  @media (max-width: 768px) {
    .preambulum, .epsztiContent {
      flex-direction: column-reverse;
    }
  }
  
  /* fő tartalmi rész formázása */
  .mainsection {
  /*  min-height: 100vh;*/
    margin: 0 auto;
  }
  
  .mainsection > h1 {
    text-align: center;
    margin-top: 3em;
    margin-bottom: 0;
  }
  
  .cta_container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-content: stretch;
    align-items: stretch;
  }
  
  .cta_card {
    margin: 3em;
    order: 0;
    flex: 0 1 auto;
    align-self: auto;
    display: flex;
    flex-direction: column;
  }
  
  .cta_card_title {
    background-color: #f3f1f0;
    width: 100%;
    margin-bottom: 1em;
  }
  
  .cta_card_title::before {
    content: "";
    display: block;
    padding-bottom: 19%;
  }
  
  .cta_card_title:after {
    content: "";
    display: block;
    padding-bottom: 19%;
  }
  
  .cta_card_title h2 {
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
    font-size: 1em;
    color: #262626;
  }
  
  .cta_card_title img {
    display: block;
    margin: 0 auto;
    width: 50%;
  }
  
  .cta_card_main, .epszti_left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  .cta_card_main {
    height: 100%;
  }
  
  .cta_card_main p, .epszti_left p {
    order: 0;
    flex: 0 1 auto;
    align-self: auto;
  }
  
  .cta_card_main p:last-child, .epszti_left p:last-child, .footerbox:nth-child(3) p:last-child, .szakmaigyakorlatContent p:last-child {
    transition: all .5s cubic-bezier(.2,3,.4,1);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: flex-start;
    margin-top: 1em;
  }

  .footerbox:nth-child(3) p:last-child {
    justify-content: center;
  }
  
  .cta_card_main p a, .epszti_left p a, .footerbox:nth-child(3) p a, .szakmaigyakorlatContent p:last-child a {
    background: linear-gradient(0deg, #fce972 50%, rgba(0,0,0,0) 50%);
    border: none;
    cursor:pointer;
    overflow: hidden;
    outline:none;
    text-transform: uppercase;
    font-weight: bold;
    padding: 0 0 0 1em;
    /* flex: 1 1 auto; */
    padding-right: 1em;
    align-self: flex-start;
    display: flex;
    justify-content: start;
    font-size: 0.9em;
    color: #262626;
  }
  
  .cta_card_main p:last-child a:hover, .epszti_left p:last-child a:hover, .footerbox:nth-child(3) p:last-child a:hover, .szakmaigyakorlatContent p:last-child a:hover {
    transform: scale(1.05);
  }
  
  .cta_card_main p a::after, .epszti_left p a::after, .footerbox:nth-child(3) p a::after, .szakmaigyakorlatContent p:last-child a::after {
    border: solid black;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 5px;
    content: '';
    transform: rotate(-45deg) translate(2px, -2px);
    -webkit-transform: rotate(-45deg) translate(2px, -2px);
  }
  
  @media (max-width: 768px) {
    .cta_container {
      flex-direction: column;
    }
  }
  
  /* Fő tartalmi rész popupjai, formjai */
  /* Popup ablakok hátterének szürkítése */
  .overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 500ms;
    visibility: hidden;
    opacity: 0;
  }
  
  .overlay:target {
    visibility: visible;
    opacity: 1;
  }
  
  /* Popup ablak definiálása */
  .popup {
    margin: 80px auto;
    padding: 1em;
    background: #fff;
    border-radius: 2px;
    position: relative;
    transition: all 2s ease-in-out;
    z-index: 100;
    overflow-y: scroll;
    max-height: calc(100vh - 80px) !important;
    width: 90%;
    max-width: 640px;
  }
  
  /* Popup ablak tartalma: cím */
  .popup h1 {
    margin-top: 0;
  }
  
  /* Popup ablak tartalma: bezárás gomb */
  .popup .pupup_close {
    position: absolute;
    top: 20px;
    right: 30px;
    transition: all 200ms;
    font-size: 30px;
    font-weight: bold;
    text-decoration: none;
  }
  .popup .pupup_close:hover {
    color: red;
  }
  
  /* Full-width input fields */
  input[type=text], input[type=password], input[type=email], input[type=tel], input[type=number], input[type=datetime-local], select, textarea {
    width: 100%;
    padding: 1em;
    margin: 0.5em 0 1em 0;
    display: inline-block;
    border: none;
    background: #f3f1f0;
  }
  
  input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=number]:focus, input[type=datetime-local]:focus, select:focus, textarea:focus {
    background-color: #ddd;
    outline: none;
  }
  
  /* Overwrite default styles of hr */
  hr {
    border: 1px solid #f3f1f0;
    margin-bottom: 1.3em;
  }
  
  /* Set a style for the submit button */
  .registerbtn, .loginbtn, input[type=submit], button[type=submit] {
    background-color: #5A9BD3;
    color: white;
    padding: 0.5em 1em;
    margin: 0.5em 0;
    border: none;
    cursor: pointer;
    width: 100%;
    opacity: 0.9;
    font-size: 1.2em;
  }
  
  .alertbtn {
    background-color: red;
    color: white;
    padding: 0.5em 1em;
    margin: 0.5em 0;
    border: none;
    cursor: pointer;
    width: 100%;
    opacity: 0.9;
    font-size: 1.2em;
  }
  
  .registerbtn:hover, .loginbtn:hover, input[type=submit]:hover, button[type=submit]:hover {
    opacity: 1;
  }
  
  /* Set a grey background color and center the text of the "sign in" section */
  .signin {
    background-color: #f3f1f0;
    text-align: center;
  }
  
  .epszti, .ismertetovideo {
    background-color: #f3f1f0;
    padding: 1em 0;
  }
  
  
  /* The message box is shown when the user clicks on the password field */
#message-psw, #message-email {
  display:none;
  background: #f1f1f1;
  position: relative;
  padding: 1em; /*20px*/
  /*margin-top: 10px;*/
}

#message-psw p, #message-email p {
  /*padding: 10px 35px;*/
  padding: 2px 1em;
}

/* Add a green text color and a checkmark when the requirements are right */
.valid {
  color: green;
}

.valid:before {
  position: relative;
  left: -1em;
  content: "✔";
}

/* Add a red text color and an "x" when the requirements are wrong */
.invalid {
  color: red;
}

.invalid:before {
  position: relative;
  left: -1em;
  content: "✖";
}

span.gomblink {
  cursor: pointer;
  color: #5A9BD3;
  border-bottom: 1px #5A9BD3 dotted;
}