.vici-passport-front {
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Outfit', sans-serif;
	font-size:16px;
}

.vici-passport-front-message {
	font-size :24px!important;
	line-height:1em;
	text-align:center;
}

.vici-passport-front-profile {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 24px 32px;
}

.vici-passport-front-profile > .vici-passport-front-profile-heading,
.vici-passport-front-profile > .vici-passport-front-back,
.vici-passport-front-profile > .vici-passport-front-logout {
    grid-column: 1 / -1;
}

.vici-passport-front-profile-heading {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid #cccccc;
}

.vici-passport-front-profile-heading h1 {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
	text-transform:uppercase;
	font-size:28px;
    margin: 0;
    padding-bottom: 8px;
}

.vici-passport-front-contact-button {
    display: inline-block;
    flex: 0 0 auto;
    margin-left: auto;
    white-space: nowrap;
    padding: 8px 18px;
    border-radius: 999px;
    background: #e60012;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
}

.vici-passport-front-contact-button:hover,
.vici-passport-front-contact-button:focus {
    background: #b9000e;
    color: #fff;
}

.vici-passport-front-profile > section {
    min-width: 0;
}

.vici-passport-front-profile > section:first-of-type {
    border-right: 1px solid #ccc;
    padding-right: 24px;
}

.vici-passport-front-profile > section h2 {
    margin-top: 0;
}

.vici-passport-login {
    max-width: 480px;
	text-align:center;
}

.vici-passport-login #vici-passport-loginform p {
    margin: 0 0 16px;
}

.vici-passport-login #vici-passport-loginform label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.vici-passport-login #vici-passport-loginform input[type="text"],
.vici-passport-login #vici-passport-loginform input[type="password"] {
    box-sizing: border-box;
    width: 100%;
}

.vici-passport-login #vici-passport-loginform .login-remember label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 400;
}

.vici-passport-login #vici-passport-loginform input[type="submit"] {
    cursor: pointer;
}

.vici-passport-login-error {
    padding: 12px 16px;
    border-left: 4px solid #d63638;
    background: #fcf0f1;
}

.vici-passport-login-success {
    padding: 12px 16px;
    border-left: 4px solid #00a32a;
    background: #edfaef;
}

.vici-passport-password-reset form p {
    margin: 0 0 16px;
}

.vici-passport-password-reset form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.vici-passport-password-reset form input[type="password"] {
    box-sizing: border-box;
    width: 100%;
}

.vici-passport-password-reset form input[type="email"] {
    box-sizing: border-box;
    width: 100%;
}

.vici-passport-password-reset form button {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.vici-passport-front-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vici-passport-front-list li,
.vici-passport-front-step,
.vici-passport-front-notes {
    border: 1px solid #ccc;
	border-radius:10px;
	background:#f8f8f8;
    padding: 18px;
}

.vici-passport-front-step {
    display: block;
	border: 1px solid #ccc;
	border-radius:10px;
	background:#ffffff;
    padding: 18px;
}

.vici-passport-front-step-content {
    min-width: 0;
}

.vici-passport-front-step-content h3 {
    margin: 0 0 10px;
}

.vici-passport-front-step-note {
    margin: 0;
	background:#f8f8f8;
}

.vici-passport-front-step-empty {
    margin: 0;
    color: #666;
    font-style: italic;
}

.vici-passport-front-step .vici-passport-front-dates {
    align-content: start;
    margin: 0 0 10px;
}

.vici-passport-front-documents {
    margin: 0!important;
	padding-left:0!important;
}

.vici-passport-front-document-section {
    margin-top: 0;
}

.vici-passport-front-documents li {
    display:block;
	padding:7px 0 0 0!important;
}


.vici-passport-front-documents li a {
	display: inline-block;
    padding: 2px 15px!important;
    border: 0;
    border-radius: 999px;
    background: #e60012;
    color: #fff;
    text-decoration: none;
	text-transform:uppercase;
	font-size:16px;
	font-weight:700;
    transition: background-color 0.2s ease;
	
}

.vici-passport-front-list h2,
.vici-passport-front-step h3 {
    margin-top: 0;
    color: #e60012;
}

.vici-passport-front-link,
.vici-passport-front-back {
    font-weight: 600;
}

.vici-passport-front-message a,
.vici-passport-front-link {
    display: inline-block;
	margin-top:10px;
    padding: 10px 20px;
    border: 0;
    border-radius: 999px;
    background: #e60012;
    color: #fff;
    text-decoration: none;
	text-transform:uppercase;
	font-size:16px;
	font-weight:700;
    transition: background-color 0.2s ease;
}

.vici-passport-front-link:hover,
.vici-passport-front-link:focus {
    background: #b9000e;
    color: #fff;
}
.vici-passport-front-contact {
	
}
.vici-passport-front-contact-details {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 5px 24px;
	padding-bottom:10px;
	border-bottom:1px solid #ccc;
	margin-bottom:30px;
}

.vici-passport-front-contact-details div,
.vici-passport-front-dates div {
    min-width: 0;
}
.vici-passport-front-contact-details > div:nth-child(-n+6) {
    grid-column: span 6;
}
.vici-passport-front-contact-details > div:nth-child(7) {
	margin-top:15px;
	padding-top:10px;
	border-top:1px solid #ccc;
    grid-column: span 12;
}


.vici-passport-front-contact-details > .vici-passport-front-postal-city {
    display: flex;
    grid-column: span 12;
    gap: 10px;
}

.vici-passport-front-postal-city > div strong {
	display:none!important;
}

.vici-passport-front-contact-details div:nth-child(7) strong,
.vici-passport-front-contact-details div:nth-child(8) strong,
.vici-passport-front-contact-details div:nth-child(9) strong {
	display:none;
}

.vici-passport-front-contact-details > .vici-passport-front-postal-city > div strong {
    display: block;
}

.vici-passport-front-dates div:nth-child(2) {
	padding-left:15px;
	border-left:1px solid #111; 
}
.vici-passport-front-dates div {
	display:flex;
	flex-direction: row;
}

.vici-passport-front-contact-details strong {
	font-size:14px;
    font-weight: 400;
}
.vici-passport-front-dates dt {
	display:none;
}

.vici-passport-front-contact-details span,
.vici-passport-front-dates dd {
    display: block;
    margin : 0;
	padding:0;
	font-weight: 600;
}

.vici-passport-front-journey {
    display: grid;
    gap: 14px;
}

.vici-passport-front-step-note {
    background: #efefef;
    padding: 20px;
	border-radius:10px;
}

.vici-passport-front-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 0px 15px;
}

@media screen and (max-width: 900px) {
    .vici-passport-front-profile {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .vici-passport-front-profile > section:first-of-type {
        border-right: 0;
        border-bottom: 2px solid #111;
        padding: 0 0 24px;
    }

}

@media screen and (max-width: 600px) {
    .vici-passport-front-contact-details {
        grid-template-columns: 1fr;
    }
}
