div.nav.n1 {
    text-align: right;
}
div.nav.n2, div.nav.n3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
a.nav-button, a.send-button {
    display: inline-block;
    background-color: #ce0f00;
    padding:5px 10px;
    color:#fff !important;
    font-weight:600;
    font-size:14px;
    text-transform: uppercase;
    border-radius: 5px;
}
a.send-button { 
    font-size:16px;
    padding:10px 20px;
    border-radius: 8px;
}
a.nav-button:hover, a.send-button:hover {
    background-color: #7d7d7d;
}
div.progress {
    margin-top: 2%;
    display: flex;
}
div.progress > div {
    width:33.33333%;
}
div.progress > div.hidden > span, div.progress > div.hidden:after {
    display: none;
}
div.progress > div > span {
    display: block;
    font-size:14px;
    font-weight: 600;
    padding-top:40px;
    color:#ccc;
    cursor:default;
    transition:all .3s;
}
div.progress > div.progress2 > span {
    text-align: center;
}
div.progress > div.progress3 > span {
    text-align: right;
}
div.progress > div::before {
    height:2px;
    top:19px;
    width:100%;
    left:0px;
    background-color: #ccc;
}
div.progress > div::after {
    background-color: #ccc;
    border-radius:50%;
    width:20px;
    height:20px;
    position: absolute;
    content:'';
    top:10px;
    transition: all .3s;
}
div.progress > div.progress1::after {
    left:0;
}
div.progress > div.progress2::after {
    left:50%;
    margin-left: -10px;
}
div.progress > div.progress3::after {
    left:auto;
    right:0;
}
div.progress > div.active span {
    color:#4f4f4f;
}
div.progress > div.active::after {
    background-color: #ce0f00;
}

div.progress > div span:after {
    height:2px;
    top:19px;
    width:100%;
    left:0px;
    background-color:#ce0f00;
    position: absolute;
    content:'';
    opacity:0;
    transition: opacity .3s;
}
/* done */
div.progress.done2 > div.progress1::after, div.progress.done3 > div.progress1::after,
div.progress.done3 > div.progress2::after {
    background-color: #ce0f00;
}
div.progress.done2 > div.progress1 span:after , div.progress.done2 > div.progress2 span:after,
div.progress.done3 > div.progress1 span:after , div.progress.done3 > div.progress2 span:after,
div.progress.done3 > div.progress3 span:after  {
    opacity:1;
}
div.progress.done2 > div.progress2 span:after {
    width:50%;
}
div.progress.done3 > div.progress1 span:after {
    width:210%;
    z-index: 2;
}
div.progress.done4 {
    display:none;
}

div.form-block {
    margin-top: 0 !important;
}
div.form-block > div {
    padding:10px 0;
}
div.form-block h4 {
    font-weight: 600;
    text-transform: uppercase;
    color: #4f4f4f;;
    cursor: default;
}
form div.chbx {
    margin-top: 5px;
}
form label.req:after {
    content:'*';
    color: #ce0f00;
}
div.form-block > div > div.pre {
    display: inline-block;
}
div.form-block > div > div.pre:after {
    opacity:0;
    transition:opacity .3s;
}
div.form-block > div.loading > div.pre:after {
    background: url(../images/preloader.gif) center center no-repeat #fff;
    background-size: auto 100%;
    width:100%;
    height:100%;
    top:0px;
    left:0px;
    z-index: 1;
    opacity:.75;
}
form select {
    max-width:100%;
}
form label {
    display: block;
}
form ul {
    list-style-type: none;
    margin-top: 5px;
}
form input[type="text"], form textarea, form select {
    border:1px solid #ccc;
    background-color: #fff;
    border-radius:5px;
    transition:border .3s;
    font-size: 14px;
}
form input[type="text"]:hover, form textarea:hover, form select:hover  {
    border:1px solid #ce0f00;
}
form select.error  {
    border: 1px solid #ff3f3e !important;
}
form input[type="checkbox"], form input[type="radio"] {
    position: absolute;
    visibility: hidden;
    opacity:0;
}
form input[type="checkbox"] + label, form input[type="radio"] + label {
    padding-left:25px;
}
form input[type="checkbox"] + label:before, form input[type="radio"] + label:before {
    border:2px solid #ccc;
    background-color: #fff;
    width:16px;
    height:16px;
    top:50%;
    left:0;
    margin-top: -8px;
    transition:all .3s;
    position: absolute;
    content:'';
}
form input[type="checkbox"].error + label:before, form input[type="radio"].error + label:before {
    border: 2px solid #ff3f3e !important;
}
form input[type="checkbox"] + label:after, form input[type="radio"] + label:after {
    width:8px;
    height: 8px;
    left:4px;
    top:50%;
    margin-top: -4px;
    background-color: #ce0f00;
    transform:scale(0);
    opacity:0;
    transition:all .3s;
    position: absolute;
    content:'';
}
form input[type="checkbox"] + label:hover:before, form input[type="radio"] + label:hover:before {
    border:2px solid #ce0f00;
}
form input[type="checkbox"]:checked + label:after, form input[type="radio"]:checked + label:after {
    transform:scale(1);
    opacity:1;
}
form input[type="radio"] + label:before, form input[type="radio"] + label:after {
    border-radius:50%;
}
form input[type="checkbox"] + label:before, form input[type="checkbox"] + label:after {
    border-radius:2px;
}
form div.clone-me {
    display:none !important;
}
form div.maganszemely {
    display:none;
}
form div.maganszemely div.resztvevo_megjegyzes {
    margin-top: 10px;
}
form div.resztvevo {
    background-color: #f7f7f7;
    border-radius:15px;
    padding:20px !important;
}
form div.resztvevo span.part {
    display: block;
    font-weight: 600;
    font-size:16px;
    line-height: normal;
    text-transform: uppercase;
    cursor: default;
}
form div.resztvevo span.part > span, span.resztvevo > span {
    color:#ce0f00;
    font-weight: inherit;
    margin-right: 10px;
    display: inline-block;
    font-size:inherit;
    line-height: inherit;
}
form div.resztvevo_nev, form div.resztvevo_email, form div.resztvevo_poz {
    display:flex;
    align-items: center;
    padding:10px 0;
}
form div.resztvevo_nev > label, form div.resztvevo_email > label, form div.resztvevo_poz > label {
    width:100px !important;
    padding-right:30px;
}
form div.resztvevo_nev > div, form div.resztvevo_email > div, form div.resztvevo_poz > div {
    flex-shrink:0;
    width:calc(100% - 100px);
}

form div.resztvevo > div {
    padding:10px 0;
}

form div.resztvevo ul li {
    display: inline-block;
    width:70px;
}
form div.resztvevo ul li:first-child {
    margin-right: 30px;
}

form div.resztvevo_szallas, form div.resztvevo_vacsora {
    display:inline-block;
    width:47%;
}
form div.resztvevo_szallas {
    margin-right: 6%;
}
#part-container > div + div {
    margin-top: 20px;
}
/* summary */
form span.resztvevo {
    display: block;
    font-weight: 600;
    text-transform: uppercase;
}
form span.resztvevo > span {
    margin-right: 10px;
}
form div.sep {
    margin:15px 0;
    border-top:1px dotted #ccc;
    height:1px;
    width:100%;
}
form div.sum-resztvevo + div.sum-resztvevo {
    margin-top: 20px;
}