body, html {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: "Open Sans", Verdana;
    font-size: 12pt;
}

body.loading::before {
    position: fixed;
    z-index: 9999;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    content: " ";
    background-image: url('/assets/img/loading.gif');
    background-repeat: no-repeat;
    background-position: center center;
}

.vv_container_table {
    width: 100%;
    height: 100%;
    table-layout: fixed;
}

.vv_header_row {
    height: 36px;
}

.vv_header {
    height: 36px;
    position: fixed;
    z-index: 500;
    top: 0;
    left: 0;
    right: 0;
/*    border-bottom: dotted 1px #002145;*/
    background-color: #69be28;
}

.vv_header>a {
    display: block;
    position: absolute;
    top: 0;
    height: 36px;
    text-align: center;
    padding-top: 4px;
    color: #002145;
    text-decoration: none;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
}

.vv_header a.vv_action {
    left: 0;
    width: 36px;
    border-right: dotted 1px #002145;
    padding-top: 8px;
}

.vv_header a.vv_user {
    left: 36px;
    right: 36px;
    text-align: right;
    padding: 6px 0.75em 0 0.75em;
}

.vv_header a.vv_user .select {
    font-style: italic;
    font-weight: 400;
}

.vv_header a.vv_dropdn {
    right: 0;
    width: 36px;
    border-left: dotted 1px #002145;
    text-align: center;
    padding-top: 8px;
}

.vv_header>a:hover {
    background-color: rgba(255,255,255,0.1);
}

.vv_alert {
    position: absolute;
    font-size: 8pt;
    font-weight: 700;
    background-color: #ff0000;
    color: #ffffff;
    border-radius: 7px;
    padding: 0 4px 0 4px;
    text-align: center;
    min-width: 7px;
}
.vv_header .vv_alert {
    top: 1px;
    right: 1px;
}

.vv_header .actn .vv_alert {
    right: -16px;
    top: -2px;
}

.actn_menu {
    position: fixed;
    top: 36px;
    bottom: 0;
    left: 0;
    width: 90%;
    max-width: 480px;
    overflow: hidden;
    display: none;
}

.actn_menu_panel {
    width: 100%;
    height: 100%;
    background-color: #dfdfdf;
    border: solid 1px #002145;
    position: absolute;
    right: 100%;
    overflow-y: auto;
}
.actn_menu_panel .submenu {
    display: none;;
}
.actn_menu_panel a {
    display: block;
    position: relative;
    width: 100%;
    height: 36px;
    box-sizing: border-box;
    border-bottom: dotted 1px #002145;
    text-decoration: none;
    padding: 4px 8px 4px 8px;
    color: #00005f;
    font-weight: 700;
    overflow: hidden;
}
.actn_menu_panel .submenu a {
    padding-left: 32px;
}
.actn_menu_panel a:hover {
    border-bottom: dotted 1px #00005f;
    text-decoration: underline;
    background-color: #efefef;
}
.actn_menu_panel a.app {
    height: 72px;
    position: relative;
}
.actn_menu_panel a.app .icon {
    width: 64px;
    height: 64px;
    position: absolute;
    top: 4px;
    left: 4px;
}
.actn_menu_panel a.app h4 {
    position: absolute;
    top: 8px;
    left: 80px;
    right: 8px;
    margin: 0;
    font-weight: 400;
    font-style: italic;
    color: #3f3f3f;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.actn_menu_panel a.app .title {
    position: absolute;
    top: 36px;
    left: 80px;
    right: 8px;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.actn_menu_panel a.actn>span {
    display: inline-block;
    position: relative;
    overflow: visible;
    padding-top: 3px;
}

.actn_menu_panel a.actn_home {
    padding-left: 42px;
    background-image: url('/assets/img/vv-sq-black-128x128.png');
    background-size: 32px 32px;
    background-position: 4px center;
    background-repeat: no-repeat;
}

.acct_menu {
    position: fixed;
    top: 36px;
    bottom: 0;
    right: 0;
    width: 90%;
    max-width: 480px;
    overflow: hidden;
    display: none;
}

.acct_menu_panel {
    width: 100%;
    height: 100%;
    background-color: #dfdfdf;
    border: solid 1px #002145;
    position: absolute;
    bottom: 100%;
    overflow-y: auto;
}

.acct_menu_panel a {
    display: block;
    position: relative;
    width: 100%;
    height: 36px;
    box-sizing: border-box;
    border-bottom: dotted 1px #002145;
    text-decoration: none;
    padding: 4px 8px 4px 8px;
    color: #00005f;
    font-weight: 700;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.acct_menu_panel a>span {
    display: inline-block;
    position: relative;
    overflow: visible;
    max-width: 100%;
    padding-top: 3px;
}
.acct_menu_panel a .email {
    display: inline-block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 12px;
}


.acct_menu_panel a.acct_new {
    text-align: center;
    font-weight: 400;
}

.acct_menu_panel a.current {
    background-color: #002145;
    color: #69be28;
}

.acct_menu_panel a.disabled {
    color: #7f7f8f;
}

.acct_menu_panel a.error {
    color: #9f7f7f;
}

.acct_menu_panel a:hover {
    border-bottom: dotted 1px #00005f;
    text-decoration: underline;
    background-color: #efefef;
}

.acct_menu_panel a.current:hover {
    background-color: #5820a0;
}

.acct_menu .alert {
    display: none;
}
.acct_menu .acct_alert .alert {
    display: block;
    right: -4px;
    top: -2px;
}

.vv_content_row {
    background-color: #f8f8f8;
}

.vv_nav {
    text-align: center;
}

.vv_nav a {
    display: inline-block;
    height: 48px;
    text-align: center;
    text-decoration: none;
    font-size: 24pt;
    width: 1em;
    color: #1f003f;
    vertical-align: center;
}

.vv_nav a.disabled {
    display: none;
}

.vv_nav a::before {
    content: '\025cb';
}

.vv_nav a:hover {
    text-decoration: underline;
}

.vv_nav a.active::before {
    content: '\025cf';
}

.vv_page {
    font-size: 14pt;
    width: 100%;
    height: 100%;
    max-width: 640px;
    margin: auto;
    padding: 0 16px 8px 16px;
    box-sizing: border-box;
}

.vv_page p {
    margin-left: 16px;
    margin-right: 16px;
}

.vv_page p a {
    color: #1f1f1f;
}
.vv_page p a:hover {
    color: #1f1f9f;
}
.vv_page p.note {
    margin-bottom: 32px;
    font-style: italic;
    font-size: 11pt;
}
.vv_page hr {
    margin: 40px auto 40px auto;
    width: 50%;
}
p.vv_export_lost{
	margin-bottom: -15px;
}
.frm_vv_unlock a.forgot {
    display: block;
    color: blue;
    font-size: 10pt;
    text-align: center;
    text-decoration: none;
}

.frm_vv_unlock a.forgot:hover {
    text-decoration: underline;
}

.vv_status {
    min-height: 2em;
    text-align: center;
    font-size: 12pt;
}

.vv_status .vv_error {
    display: none;
    color: #ff2000;
    font-weight: 700;
}

h1 {
    font-size: 20pt;
    text-align: center;
    font-weight: 700;
    margin-bottom: 36px;
}

h2 {
    font-size: 16pt;
    text-align: center;
    font-weight: 700;
    color: #002145;
}
h2.low {
    margin-top: 40px;
}

h3 {
    font-size: 14pt;
    text-align: left;
    color: #0f005f;
    margin: 8px 16px 0 16px;
}

form {
    width: 100%;
    margin: 8px auto 8px auto;
}

label {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 12pt;
    margin: 8px auto 8px auto;
}

label input, label select, label button {
    display: block;
    width: 100%;
    margin: auto;
    font-size: 16pt;
    border-width: 1px;
    border-style: inset;
    border-color: #1f1f1f;
    border-radius: 8px;
    box-sizing: border-box;
}

label input.email {
}

label input.pin {
    max-width: 288px;
    font-size: 36px;
    height: 50px;
    padding: 0 0 0 8px;
    font-family: "Roboto Mono", monospace;
    background-image: url(/assets/img/vv/pin-cell.svg);
    background-size: 36px 80%;
    background-repeat: repeat-x;
    background-position: left center;
    background-color: #ffffff;
    letter-spacing: 14px;
    line-height: normal;
    box-sizing: border-box;
}

label input.otp {
    max-width: 224px;
    font-size: 36px;
    height: 50px;
    padding: 0 0 0 8px;
    font-family: "Roboto Mono", monospace;
    background-color: #ffffff;
    letter-spacing: 14px;
    line-height: normal;
    color: #0000bf;
    box-sizing: border-box;
}

label .prompt {
    font-style: italic;
    font-size: 10pt;
}

button {
    border-radius: 24px;
    border: solid 1px #0099ff;
	background-color:  #0099ff;
	color: white;
}
input:focus {
    box-shadow: 0 0 0 3px #7fbfff;
    outline: none;
}
button:hover {
	border: solid 1px #015085;
    background-color: #015085;
}
.vv_page a:focus {
    outline-color: #7fbfff;
}
.vv_page a{
    color: blue;
	text-decoration: none;
}
.vv_page a:hover {
    text-decoration: underline;
}
button.continue {
    width: 100%;
    max-width: 288px;
    display: block;
    margin: auto;
    font-size: 18pt;
    padding: 8px;
	/*color: #1f1f9f;*/
	cursor: pointer;
}
a.continue {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #002145;
	color: blue !important;
    font-size: 14pt;
    margin-top: 20px;
}
a.continue:hover {
    text-decoration: underline;
}
a.continue.import_done {
    width: 100%;
    max-width: 288px;
    display: block;
    margin: auto;
    font-size: 16pt;
    padding: 8px;
	/*border: solid 1px #002145;*/
    border-radius: 24px;
    /*background: linear-gradient(#f8f8f8, #cfcfcf);*/
	text-decoration: none;
	border: solid 1px #0099ff;
	background-color:  #0099ff;
	color: white !important;
}
a.continue.import_done:hover{
    border: solid 1px #015085;
    background-color: #015085;
}
p.import_done{
	text-align: center;
}

.frm_vv_new_pin button.continue {
    margin-top: 24px;
}

.frm_vv_export_link textarea {
    width: 100%;
    height: 80px;
    word-break: break-all;
}

.vv_qrcode {
    height: 344px;
    text-align: center;
    margin: 16px auto 16px auto;
    position: relative;
}

.vv_qrcode img {
    margin: auto;
    padding: 12px;
    background-color: #ffffff;
}

.vv_qrcode .prompt {
    display: block;
    z-index: -100;
    margin-top: 128px;
    color: #7f7f7f;
    font-style: italic;
    font-size: 10pt;
    position: absolute;
    width: 100%;
}

.vv_app {
    display: block;
    width: 100%;
    min-height: 128px;
    margin: 16px auto 0 auto;
    border: solid 0.5px #3f007f;
    position: relative;
    box-sizing: border-box;
    padding: 4px 8px 4px 136px;
    overflow: hidden;
}
.vv_app_trust {
    display: block;
    font-size: 10pt;
    font-style: italic;
    color: #3f3f3f;
    margin-bottom: 8px;
    padding: 4px;
    text-align: center;
}
.trust_level_trusted .trust {
    color: #007fbf;
}
.trust_level_notice .trust {
    background-color: #FFFFDF;
    color: #1f1f3f;
}
.trust_level_warning .trust {
    background-color: #FFEFDF;
}
.trust_level_error .trust {
    background-color: #FFBFBF;
    color: #3F0000;
    font-weight: 700;
}
.trust_level_error .trust_ifnot_error {
    display: none;
}
.vv_scope_item .trust_scope_vault .trust {
    display: none;
}
.vv_app .icon {
    position: absolute;
    width: 128px;
    left: 0px;
    top: 0px;
    bottom: 0;
    border-right: dotted 1px #00003f;
    background-color: #dfdfdf;
}
.vv_app .icon img {
    display: block;
    width: 128px;
    height: 128px;
}
.vv_app .name, .vv_app .provider, .vv_app .url {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #002145;
    font-size: 11pt;
}
.vv_app .name {
    font-size: 14pt;
}
.vv_app .provider {
    font-weight: 700;
}
.vv_app .provider::before {
    display: inline;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #002145;
    content: 'by ';
    font-weight: 400;
}
.vv_app .url {
    font-size: 11pt;
    color: #005f3f;
}
.vv_app .desc {
    display: block;
    font-size: 10pt;
    font-style: italic;
    color: #3f3f3f;
    margin-top: 4px;
}
.vv_app .loading {
    position: absolute;
    left: 128px;
    right: 0;
    top: 28px;
    bottom: 0;
    text-align: center;
    padding-top: 48px;
    background-color: #9f9f9f;
}

.vv_grant {
    display: block;
    width: 100%;
    margin: 48px auto 48px auto;
}
.vv_grant label {
    text-align: left;
    display: block;
    width: 100%;
    margin: 0 0 16px 0;
}
.vv_grant label input {
    display: none;
    width: auto;
}
.vv_grant_container_hide .vv_grant_content, .vv_grant_container_hide .hide, .vv_unlock .show {
    display: none;
}
.vv_unlock .vv_grant_container_hide .show {
    display: inline;
}
.vv_grant_container>a {
    display: block;
    margin: 0 16px 0 16px;
    font-size: 10pt;
}
.vv_unlock .summary .xchg {
    display: block;
    margin: 0 -16px 16px -16px;
    text-align: center;
    min-height: 128px;
    font-size: 36pt;
}
.vv_unlock .summary .xchg img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 128px;
    vertical-align: middle;
}

.vv_grant .vault {
    font-size: 14pt;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.vv_grant .vault .app {
    font-weight: 700;
}
.vv_grant .vault .extid {
    display: block;
    font-size: 12pt;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.vv_grant .vault .dst::before {
    display: block;
    font-size: 10pt;
    content: "section for";
    color: #002145;
    font-weight: 400;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.vv_grant .vault .dst {
    display: block;
    font-size: 12pt;
    font-weight: 700;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.vv_grant .vault .creator::before {
    display: block;
    font-size: 10pt;
    content: "created by";
    color: #002145;
    font-weight: 400;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.vv_grant .vault .creator {
    display: block;
    font-size: 12pt;
    font-weight: 700;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.warn {
    background-color: #ffdfbf;
    padding: 8px 16px 24px 16px;
    border: solid 1px #ff9f3f;
    border-left: solid 4px #ff9f3f;
    font-style: italic;
    font-size: 12pt;
    position: relative;
    overflow: hidden;
}
.warn a.dismiss {
    display: block;
    position: absolute;
    right: 8px;
    bottom: 4px;
    font-style: normal;
    text-decoration: none;
    color: #00007f;
}
.warn a.dismiss:hover {
    text-decoration: underline;
}
.warn b {
    text-transform: uppercase;
}

.vv_change_pin .frm_vv_unlock label span {
    display: none;
}

.vv_recovery_friends {
    margin: 8px auto 8px auto;
}

.vv_recovery_friends .friend {
    display: block;
    margin: 4px 0 4px 2em;
    font-size: 14pt;
    position: relative;
    height: 24pt;
}

.friend .email {
    display: inline-block;
    position: absolute;
    max-width: 100%;
    box-sizing: border-box;
    padding-right: 1em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.friend a.delete {
    position: absolute;
    right: 0;
    color: #bf0000;
    text-decoration: none;
}

.friend a.delete:hover {
    font-weight: 900;
}

.vv_recovery_friends .friend::before {
    position: absolute;
    display: block;
    border-radius: 7px;
    width: 13px;
    height: 13px;
    left: -1em;
    top: 7px;
    content: ' ';
}

.vv_recovery_friends .friend_current::before {
    background-color: #009f00;
    border: solid 1px #009f00;
}
.vv_recovery_friends .friend_pending::before {
    background-color: #ff0000;
    border: solid 1px #ff0000;
}
.vv_recovery_friends .friend_lost::before {
    background-color: #1f1f1f;
    border: solid 1px #1f1f1f;
}
.vv_recovery_friends .friend_assisted::before {
    background-color: #ffffff;
    border: solid 1px #1f1f1f;
}

.legend_container {
    margin: 0 1em 12px 1em;
    text-align: left;
}
.legend_container .show, .vv_page .legend_show .hide {
    display: inline-block;
    font-size: 10pt;
    font-style: italic;
    color: blue;
    margin: 0 8px 0 0;
	text-decoration: none;
}
.legend_container a:hover {
    text-decoration: underline;
}
.vv_page .legend_show .show, .legend_container .hide {
    display: none;
}
.vv_page .legend {
    display: inline-block;
    text-align: left;
}
.vv_page .legend div {
    display: none;
    font-size: 10pt;
}
.vv_page .legend div.friend {
    display: inline-block;
    height: .9em;
    margin: 2px 0 2px 0.8em;
    position: relative;
}
.legend span {
    display: none;
}
.vv_page .legend_show .legend {
    display: block;
    background-color: #cfcfcf;
    padding: 8px 16px 8px 16px;
}
.vv_page .legend_show .legend div {
    display: block;
    margin: 2px 0 2px 0;
    height: auto;
}
.vv_page .legend_show .legend div.friend {
    margin-left: 1em;
}
.vv_page .legend_show .legend div.tip {
    text-align: justify;
}
.legend_show .legend span {
    display: inline;
}
.vv_recovery_friends .legend div.friend::before {
    position: absolute;
    display: block;
    border-radius: 5px;
    width: 9px;
    height: 9px;
    left: -1em;
    top: 4px;
    content: ' ';
}

.frm_vv_add_friend {
    width: auto;
    margin: 8px 16px 8px 16px;
}
.frm_vv_add_friend button {
    margin-top: 16px;
}

.vv_recovery_sectn {
    margin-bottom: 48px;
}
.vv_page .vv_recovery_sectn hr {
    margin: 56px auto 0 auto;
}

.vv_recovery_friends_head, .vv_recovery_0 .vv_recovery_friends_none {
    display: block;
}

.vv_recovery_0 .vv_recovery_friends_head, .vv_recovery_friends_none {
    display: none;
}

.vv_recovery_n {
    text-align: center;
    margin-bottom: 20px;
}

.vv_recovery_n>a {
    display: inline-block;
    box-sizing: border-box;
    padding: 4px 12px 4px 12px;
    border: dotted 1px #3f3f3f;
    text-decoration: none;
    color: #3f3f3f;
    margin: 2px;
}

.vv_recovery_n>a.active {
    border: solid 3px #3f3f3f;
    margin: 0;
	background-color: #ffff7f;
}

.vv_recovery_t_container {
    height: 92px;
}

.vv_recovery_t {
    width: 90%;
    height: 48px;
    border: none;
    border-bottom: solid 1px #3f3f3f;
    position: relative;
    overflow: visible;
    margin: 0 auto 24px auto;
}

.vv_recovery_t::before {
    content: '\02240\02240';
    position: absolute;
    left: 8px;
    bottom: -11px;
}

.vv_recovery_t .tick {
    position: absolute;
    width: 1px;
    height: 12px;
    border: none;
    border-left: solid 1px #3f3f3f;
    bottom: -6px;
    overflow: visible;
}

.vv_recovery_t .tick>a {
    position: absolute;
    top: -16px;
    left: -24px;
    width: 48px;
    font-size: 7pt;
    text-align: center;
    text-decoration: none;
    z-index: 300;
	color: blue;
}

.vv_recovery_t .tick>a.odd {
    top: -24px;
}

.vv_recovery_t .tick>a:hover {
    text-decoration: underline;
}

.vv_recovery_t .slider {
    position: absolute;
    bottom: -24px;
}
.vv_recovery_t .slider>div {
    position: absolute;
    width: 32px;
    left: -16px;
    bottom: 0;
    text-align: center;
}
.vv_recovery_t .slider a {
    color: #bf0000;
	color: blue;
    text-decoration: none;
    outline: none;
	font-size: 20pt;
}
.vv_recovery_t .scale {
    position: absolute;
    left: -1em;
    right: -1em;
    bottom: -20px;
    height: 32px;
    overflow: hidden;
    cursor: crosshair;
	cursor: pointer;
    margin: 0;
    z-index: 200;
}
.vv_recovery_t .txt {
    position: absolute;
    left: 0;
    right: 0;
    top: 68px;
    text-align: center;
    font-weight: 700;
    font-style: italic;
	background-color: #ffff7f;
	width: fit-content;
	margin: auto;
}

.vv_recovery_info .vv_recovery_info_n, .vv_recovery_info .vv_recovery_info_t {
    display: inline-block;
    text-align: center;
    font-size: 15pt;
    padding: 0 8px 0 8px;
    background-color: #ffff7f;
}

.vv_veskey_action {
    display: none;
    width: 90%;
    margin: 24px auto 0 auto;
}
.frm_vv_veskey button {
    margin-top: 24px;
}
.vv_page .frm_vv_veskey p {
    margin: 0 auto 20px auto;
}
.frm_vv_recover {
    margin: 24px auto 24px auto;
}

.vv_assist_user {
    margin: 8px 16px 24px 16px;
}
.vv_assist_user .email {
    color: #002145;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-weight: 700;
    font-size: 14pt;
	width: 100%;
	max-width: 330px;
    display: inline-block;
	vertical-align: top;
}
.vv_assist_action {
    position: relative;
    width: 100%;
    max-width: 11em;
    margin: 0 auto 0 0;
    min-height: 1em;
    overflow: visible;
    display: inline-block;
    white-space: nowrap;
    vertical-align: top;
}

.vv_assist_action .status {
    display: inline;
    font-size: 14pt;
    font-style: italic;
    padding: 0 0px 0 0px;
	margin-left: 10px;
	white-space: nowrap;
}
.vv_assist_action .status_requested {
    color: #9f0000;
}
.vv_assist_action .action {
	display: block;
    position: relative;
	color: #002145;
	font-size: 14pt;
    width: 100%;
	margin: -2px auto -2px 10px;
	padding: 1px 4px 1px 4px;
	cursor: pointer;
	border-radius: 18px;
	border: solid 1px #0099ff;
	background-color:  #0099ff;
	color: white;
	text-decoration: none;
	text-align: center;
}

.vv_assist_action .action:hover {
	border: solid 1px #015085;
	background-color: #015085 !important;
}
.vv_assist_action .dismiss {
    font-style: italic;
    font-size: 10pt;
    padding-left: 12px;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    height: 0;
}
.vv_assist_action .dismiss:hover {
	text-decoration: underline;
}

.vv_assist_action .vv_alert {
    top: 0;
    right: 0;
    font-style: normal;
}
.vv_assist_action .status_requested, .vv_assist_action .status_assisted,
.vv_assist_user_requested .status_none, .vv_assist_user_assisted .status_none,
.vv_assist_action .action_assist, .vv_assist_action .action_revoke{
    display: none;
}
.vv_assist_action .alert {
    display: none;
}
.vv_assist_user_requested .vv_assist_action .status_requested, .vv_assist_user_assisted .vv_assist_action .status_assisted,
.vv_assist_user_revoke .vv_assist_action .action_revoke, .vv_assist_user_assist .vv_assist_action .action_assist {
    display: inline-block;
}
.vv_assist_user_alert .vv_assist_action .alert {
    display: block;
}
.vv_assist_user .error {
    font-size: 10pt;
    color: #bf0000;
}

.vv_view_keys {
    padding-bottom: 240px;
}
.vv_view_keys h2 {
    margin-top: 40px;
}
.vv_view_key_ctl {
    position: fixed;
    bottom: 40px;
    left: 0;
    right: 0;
    pointer-events: none;
}
.vv_view_key_unlock, .vv_view_key_lock {
    max-width: 320px;
    margin: auto;
    padding: 0 8px 16px 8px;
    background-color: rgba(248, 248, 248, 0.9);
    border-radius: 8px;
    pointer-events: all;
}
.vv_view_key_lock {
    padding-top: 8px;
}
.vv_view_key_lock button {
    margin-top: 16px;
}
.vv_view_key_lock, .unlocked .vv_view_key_unlock {
    display: none;
}
.vv_view_key_unlock, .unlocked .vv_view_key_lock {
    display: block;
}
.vv_view_keys .veskey_field {
    font-family: monospace;
}
.vv_view_keys .error, .vv_view_keys .error a {
    color: #ff2000;
}
.vv_view_keys .error a:hover {
    color: #ff7f00;
}
@media print {
    .vv_view_key_ctl, .warn {
	display: none;
    }
    .vv_view_keys {
	padding-bottom: 0;
    }
}

.vv_key {
    margin: 8px auto 8px auto;
    padding: 8px 16px 8px 16px;
    position: relative;
    border: dotted 1px #002145;
}
.vv_key .title {
    color: #002145;
    font-size: 14pt;
    font-weight: 700;
    overflow: hidden;
    margin-bottom: 8px;
}
.vv_key .url {
    font-size: 11pt;
    color: #005f1f;
    font-weight: 700;
    word-break: break-all;
}
.vv_key .info {
    font-size: 11pt;
    color: #002145;
    font-weight: 400;
}
.vv_key .veskey_field {
    font-family: monospace;
}
.vv_key .ctl {
    text-align: center;
}
.vv_key .ctl button {
    padding: 8px;
    width: 5em;
    font-size: 18pt;
}
.vv_key .error {
    font-size: 10pt;
    color: #bf0000;
    min-height: 16px;
}
.vv_key_unlock {
    position: absolute;
    z-index: 150;
    top: 8px;
    bottom: 8px;
    left: 8px;
    right: 8px;
    overflow: hidden;
    background-color: #dfdfdf;
    border: dotted 1px #002145;
}
.vv_key_unlock .close {
    position: absolute;
    top: 0;
    right: 12px;
    color: #002145;
    text-decoration: none;
    font-size: 24pt;
    font-weight: 900;
}
.vv_key_current label.veskey::before {
    content: 'VESkey:';
}
.vv_key_secondary label.veskey::before {
    content: 'App Key:';
}
.vv_key .veskey_ctl_hide, .vv_key_show .veskey_ctl_view {
    display: none;
}
.vv_key_show .ctl .veskey_ctl_hide {
    display: inline;
}
.veskey .vault .extid::before {
    content: " | ";
}
.veskey .vault .dst::before{
    content: " \02192 \000a0";
}
 .veskey .vault .creator::before {
    content: " \000ab \x00a0";
}

.vv_lost .togo, .vv_lost .delay, .vv_lost .vv_key_togo .ready, .vv_lost .vv_key_delay .ready {
    display: none;
}
.vv_lost .vv_key_togo .togo, .vv_lost .vv_key_delay .delay {
    display: block;
}
.vv_lost hr {
    margin: 40px auto 40px auto;
}
.vv_lost .frm_vv_veskey button {
    margin-top: 0;
}

.vv_keys h2 {
    margin-top: 32px;
}
.vv_keys label>a {
    display: block;
    text-align: center;
    font-weight: 700;
    color: blue;
    font-size: 12pt;
    margin: 0 auto 24px auto;
	text-decoration: none;
}
.vv_keys label>a:hover {
    text-decoration: underline;
}
.vv_rekey h1 {
    margin-bottom: 0;
}
.vv_rekey h2 {
    margin-top: 4px;
    color: #000000;
    margin-bottom: 40px;
}

.vv_account_sync_msg h2 {
    margin-top: 40px;
}
.vv_account_sync_msg hr {
    margin-top: 56px;
}
.vv_account_sync_msg hr.vv_account_sync_hr {
    margin-top: 40px;
}
.vv_account_sync_msg ol{
	padding-bottom: 0px;
	margin-bottom: 0px;
}
.vv_page .note_warning {
    font-weight: 700;
    color: #ff2000;
    font-style: normal !important;
}

.vv_footer_row {
    height: 40px;
}

.vv_footer {
    height: 100%;
    background-color: #303030;
    position: relative;
}

.vv_footer .vv_copyright {
    position: absolute;
    right: 8px;
    bottom: 8px;
    color: #dfdfdf;
    padding: 4px;
    font-size: 10pt;
}
.vv_footer .vv_copyright {
    position: absolute;
    right: 8px;
    bottom: 8px;
    color: #dfdfdf;
    padding: 4px;
    font-size: 10pt;
}
.vv_footer_line_link a:first-of-type {
    border-left: 0;
}
.vv_footer_line_link a{
	display: inline-block;
	font-size: 10pt;
	padding: 0 6px;
    border-left: 1px solid rgba(255,255,255,0.7);
	color: white;
	text-decoration: none;
}
.vv_footer_line_link a:hover{
	text-decoration: underline;
}
.vv_footer_line_link{
	padding: 10px;
}
.vv_footer_coll_link a{
	display: inline-block;
	font-size: 10pt;
	padding: 0 6px;
    color: white;
	text-decoration: none;
	padding-left: 10px;
}
.vv_footer_coll_link a:hover{
	text-decoration: underline;
}
.vv_footer_coll_link{
	padding: 10px;
}
.vv_footer_coll_link a:first-of-type {
    padding-left: 10px;
}
.vv_home .front_page_vesnw {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("/assets/img/intro/vesvault-logo-1920.png"),url("/assets/img/intro/vesvault-logo-480.png");
    background-size: cover;
    height: 33vw;
    min-height: 360px;
    margin: -20px 0 -20px 0;
    background-color: #000000;
    border-bottom: 0px solid #282828;
    text-align: center;
}


.vv_home h1 {
    font-size: 36pt;
}

.vv_home h2 {
    color: #000000;
}

.vv_home h2.sub {
    position: relative;
    top: -48px;
}

.vv_home h1, .vv_home strong {
    color: #0063cf;
    font-weight: 900;
}

.vv_home b {
    font-weight: 700;
}

.sync_code {
    font-family: "Roboto Mono", monospace;
    font-size: 22pt;
    height: 40px;
    text-align: center;
    margin: 8px;
}

.sync_code span {
    font-size: 10pt;
    font-style: italic;
}

a.msgcode {
    display: inline-block;
    width: 6em;
    overflow: hidden;
    text-align: center;
    font-family: "Roboto Mono", monospace;
    font-size: 14pt;
}
.vv_msgcodes a.msgcode {
    visibility: visible;
}

.vv_msgcodes .msgcode_noclick, .vv_msgcodes_empty .msgcode_nonempty,
.vv_msgcodes_enter .msgcode_noenter, a.msgcode {
    visibility: hidden;
}

#vv_msgcodes {
    position: relative;
    padding: 8px 0 8px 0;
}
.vv_msgcodes_empty_msg a {
    display: block;
    text-decoration: none;
	font-size: 14pt !important;
	padding-top: 10px;
	color: blue;
}
.vv_msgcodes_empty_msg a:hover {
    text-decoration: underline;
}

.vv_msgcodes_empty_msg {
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    font-size: 16pt;
    text-align: center;
	color:  #B7410E;
}

.vv_msgcodes_enter_frm {
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
}
.vv_msgcodes_enter_frm  label, .vv_msgcodes_enter_frm  input, .vv_msgcodes_enter_frm button {
    display: inline-block;
    width: auto;
    padding: 4px;
    font-size: 12pt;
}

.vv_rinfo::before {
    display: inline-block;
    margin-right: 12px;
}
.vv_rinfo_ua::before {
    content: "Browser:";
}
.vv_rinfo_remote::before {
    content: "IP Address:";
}

.g-recaptcha {
    margin-top: 24px;
    margin-bottom: 24px;
    text-align: center;
}
.g-recaptcha>* {
    margin: auto;
}

.vv_login_app {
    margin-bottom: 24px;
    text-align: justify;
}
.vv_login_app .message-container {
    line-height: 1.1;
    text-align: center;
}
.vv_login_app .message {
    font-size: 14pt;
}
.vv_login_app a {
    font-size: 14pt;
}
.vv_login_app .explain {
    margin-top: 0px;
	margin-left: 16px;
    font-size: 12pt;
    text-align: center;
	color: blue;
	font-style:italic;
}
.vv_page .explain {
    margin-left: 16px;
	margin-top: 16px;
}
.vv_grant .app_vault {
    font-weight: 700;
}
.vv-unlock-img{
	display: block;
    margin-left: auto;
    margin-right: auto;
}

.trust_level_trusted .vv_app {
    border: none;
    padding: 0;
}

.trust_level_trusted .vv_app>* {
    display: none;
}

.trust_level_trusted .vv_app>.icon {
    display: block;
    position: static;
    margin: 32px auto 0 auto;
}

.trust_level_trusted .vv_app>.name {
    display: block;
    position: relative;
    top: -160px;
    margin: 0 auto 0 auto;
    height: 2px;
    overflow: visible;
    text-align: center;
}
body.loading .vv_app {
    visibility: hidden;
}
label .acct-simple-label input{
	display: inline;
	width: 70%;
}

.vv_app_info .prompt {
    display: none;
}
.vv_app_info .signup_prompt {
    font-size: 11pt;
}

.vv_page_select .sel_acct {
    display: block;
}
.vv_page_select #sel_acct{
    width: 100%;
    height: 100%;
    bottom: 100%;
    overflow-y: auto;
	margin-left: 50px;
}
.vv_page_select a.sel_acct {
    width: 100%;
    height: 100%;
    bottom: 100%;
    overflow-y: auto;
	
}
.sel_acct_create_new{
	display: table;
    margin: 0 auto;
}
.vv_page_select #sel_acct a {
    display: block;
    position: relative;
    width: 100%;
    height: 36px;
    box-sizing: border-box;
    text-decoration: none;
    padding: 4px 8px 4px 8px;
    color: #00005f;
    font-weight: 700;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vv_page_select #sel_acct a:hover {
    text-decoration: underline;
    background-color: #efefef;
	background-color: white;
}

.vv_page_select a.sel_acct span {
    display: inline-block;
    position: relative;
    overflow: visible;
    max-width: 100%;
    padding-top: 3px;
	color: #00005f;
}
.vv_page_select .sel_acct.sel_acct_new {
	height: 36px;
	padding: 4px 8px 4px 8px;
    text-align: center;
	text-align: left;
    font-weight: 400;
	color: #00005f;
}
.vv_page_select .sel_acct.sel_acct_new:hover {
    text-decoration: underline;
    background-color: white;
}
.vv_account_title{
	font-size: 24px;
	font-weight: 700;
	margin-left: 16px;
	margin-right: 16px;
	margin-top: 40px;
}
.vv_account_recover_link {
    text-align: center;
}
.vv_account_recover_link a {
    font-size: 10pt;
    text-decoration: none;
    font-style: italic;
}
.vv_account_recover_link a:hover {
    text-decoration: underline;
}

.privacy_page_title {
        font-weight: 900;
        font-size: 20pt;
        margin: 40px 0 20px 0;
}
.privacy_title {
        font-size: 16pt;
        color: #4682b4;
        margin: 20px 0 20px 0;
}
.privacy_subtitle {
        font-size: 14pt;
        color: #4682b4;
        margin: 20px 0 10px 0;
}
.privacy p, .privacy li {
        font-size: 12pt;
        margin-left: 0px;
    margin-right: 0px;
}
.vv_tip_center {
    display: block;
    font-size: 10pt;
    text-align: center;
	text-decoration: none;
	font-style: italic;
}
.vv_tip_center:hover{
	text-decoration: underline;
	cursor: pointer;
}
.warn_export {
    margin-top: -16px;
}
.vv_rinfo {
    margin: 0 0 0 48px;
    font-size: 10pt;
}
.add_new_device a{
	text-align: left;
	color: blue !important;
	text-decoration: none;
	margin-top: 80px;
    width: fit-content;
	
}
.add_new_device a:hover{
	text-decoration: underline;
	cursor: pointer;
}
.recovery_edit_title{
	font-size: 16pt;
    font-weight: 700;
    color: #002145;
    text-align: left;
	padding-left: 16px;
}
.recovery_step{
	font-size: 16pt;
	font-style: italic;
	padding: 0 0 0 4px;
	color: #b2b2b2;
}
.recover_option{
	font-size: 16pt;
	font-style: italic;
	padding: 0 0 0 0px;
	color: #b2b2b2;
	text-align: center;
	margin-top: -15px;
}
