/* === Icons === */ 

.kontakt-contacts-icon{ background-image: url(/kontakt/img/contacts.png); }
.kontakt-emails-icon{ background-image: url(/kontakt/img/emails.png); }
.kontakt-users-icon{ background-image: url(/kontakt/img/users.png); }
.kontakt-cast-icon{ background-image: url(/kontakt/img/cast.png); }

.kontakt-organization-icon{ background-image: url(/kontakt/img/organization.png); }
.kontakt-individual-icon{ background-image: url(/kontakt/img/individual.png); }
.kontakt-type-icon{ background-image: url(/kontakt/img/type.png); }

.kontakt-tags-icon{ background-image: url(/kontakt/img/tags.png); }
.kontakt-qualifiers-icon{ background-image: url(/kontakt/img/qualifiers.png); }
.kontakt-types-icon{ background-image: url(/kontakt/img/types.png); }
.kontakt-transitions-icon{ background-image: url(/kontakt/img/transitions.png); }
.kontakt-mode-list-icon{ background-image: url(/kontakt/img/list.png); }
.kontakt-mode-tree-icon{ background-image: url(/kontakt/img/tree.png); }
.kontakt-expand-icon{ background-image: url(/kontakt/img/expand.png); }

/* === Buttons === */

.kontakt-types-button:before{ background-image: url(/kontakt/img/types.png); }
.kontakt-tags-button:before{ background-image: url(/kontakt/img/tags.png); }
.kontakt-qualifiers-button:before{ background-image: url(/kontakt/img/qualifiers.png); }
.kontakt-transitions-button:before{ background-image: url(/kontakt/img/transitions.png); }

/**
 * Action: kontakt.contact/list
 **/

.contact-list-view{ height: 100%; width: 100%; position: relative; display: flex; flex-direction: column; overflow: hidden; background: #fff; }
.contact-list-center{ flex-grow: 1; display: flex; position: relative; overflow: hidden; }

.contact-list-expand{ position: absolute; top: 0em; left: 0em; z-index: 50; height: 4em; width: 4em; }
.contact-list-expand{ transform: rotate(0deg); transition: all .25s; cursor: pointer; }
.contact-list-expand{ background-repeat: no-repeat; background-size: 2em 2em; background-position: center center; }
.contact-list-expand{ background-color: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-expand.expand{ transform: rotate(180deg); background-color: transparent; box-shadow: none; }

.contact-list-title{ font-size: 1.75em; font-weight: bold; text-align: center; }

.contact-list-paging{ text-align: center; padding: 1em; width: 16em; }
.contact-list-paging{ position: absolute; bottom: 0em; left: 50%; margin-left: -8em; }
.contact-list-paging{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.contact-list-buttons{ display: flex; align-items: center; justify-content: center; }
.contact-list-buttons>*{ margin-left: .5em; }
.contact-list-buttons>*:first-child{ margin-left: 0em; }

/* Filters */

.contact-list-filters{ padding: 1.5em; text-align: left; flex-grow: 1; overflow-x: hidden; overflow-y: scroll; }
.contact-list-filters-title{ text-align: center; line-height: .625em; font-size: 2em; font-weight: bold; }
.contact-list-filters-title{ padding-bottom: .5em; margin-bottom: .625em; border-bottom: dashed 3px #dcdcdc; }
.contact-list-filter{ display: block; margin-bottom: 1em; }
.contact-list-filter-label{ display: block; margin-bottom: .5em; font-weight: bold; }

.contact-list-search{ display: inline-flex; position: relative; width: 12em; }
.contact-list-search-filter .contact-list-search{ width: 100%; }
.contact-list-search-input{ padding-right: 2.5em; width: 100%; }
.contact-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }

.contact-list-mode-filter{ text-align: center; display: flex; white-space: nowrap; }
.contact-list-mode-filter{ border: 1px solid #dcdcdc; }
.contact-list-mode-radio{ width: 50%; padding: .5em; text-align: center; }
.contact-list-mode-radio{ background-repeat: no-repeat; background-size: 2em 2em; background-position: center .5em; }
.contact-list-mode-radio{ border-right: 1px dashed #dcdcdc; cursor: pointer; }
.contact-list-mode-radio:last-child{ border-right: none; }
.contact-list-mode-radio[checked]{ background-color: #f0ffe3; }
.contact-list-mode-radio:focus{ background-color: #000; color: #fff; }
.contact-list-mode-radio-icon{ margin: auto; margin-bottom: .125em; transition: none; }
.contact-list-mode-radio:focus .contact-list-mode-radio-icon{ filter: grayscale(1) brightness(10); }

.contact-list-types-list{ white-space: nowrap; display: flex; align-items: center; text-align: center; }
.contact-list-types-list{ border: 1px solid #dcdcdc; }
.contact-list-types-item{ width: 50%; padding: .5em; }
.contact-list-types-item{ cursor: pointer; border-right: 1px dashed #dcdcdc; }
.contact-list-types-item:last-child{ border-right: none; }
.contact-list-types-item[checked]{ background-color: #f0ffe3; }
.contact-list-types-item:focus{ background-color: #000; color: #fff; }
.contact-list-types-item>*{ display: inline-block; vertical-align: middle; }
.contact-list-types-item-icon{ height: 2.5em; width: 100%; display: block; }
.contact-list-types-item-text{ display: block; margin-top: .25em; }

.contact-list-subtypes-list{ border: 1px solid #dcdcdc; }
.contact-list-subtypes-item{ display: flex; align-items: center; overflow: hidden; padding: .5em; cursor: pointer; }
.contact-list-subtypes-item{ border-bottom: 1px dashed #dcdcdc; }
.contact-list-subtypes-item:last-child{ border-bottom: none; }
.contact-list-subtypes-item[checked]{ background-color: #f0ffe3; }
.contact-list-subtypes-item:focus{ background-color: #000; color: #fff; }
.contact-list-subtypes-item-check{ margin-right: .5em; }
.contact-list-subtypes-item-text{ flex-grow: 1; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }

.contact-list-tags-list{ border: 1px solid #dcdcdc; }
.contact-list-tags-item{ display: flex; align-items: center; overflow: hidden; padding: .5em; cursor: pointer; }
.contact-list-tags-item{ border-bottom: 1px dashed #dcdcdc; }
.contact-list-tags-item:last-child{ border-bottom: none; }
.contact-list-tags-item[checked]{ background-color: #f0ffe3; }
.contact-list-tags-item:focus{ background-color: #000; color: #fff; }
.contact-list-tags-item:last-child{ margin-bottom: 0em; }
.contact-list-tags-item-check{ margin-right: .5em; }
.contact-list-tags-item-text{ flex-grow: 1; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }

/* Icons */ 

.contact-list-icons{ white-space: nowrap; }
.contact-list-icon{ display: inline-block; vertical-align: middle; margin-right: .25em; cursor: pointer; }
.contact-list-icon:last-child{ margin-right: 0em; }
.contact-list-icon[disabled]{ filter: grayscale(1); opacity: .25; }

@media (max-width: 1100px){
	.contact-list-icon{ margin-right: .5em; }
	.contact-list-icon:last-child{ margin-right: 0em; }
}

/* Mode "list" with "row" repeated */

.contact-list-body{ flex-grow: 1; overflow: hidden; }
.contact-list-table{ height: 100%; width: 100%; position: relative; overflow: hidden; }
.contact-list-table{ display: flex; flex-direction: column; overflow: hidden; border: 1px solid #dcdcdc; }
.contact-list-head{ padding: 0em calc(1em + 8px) 0em 1em; position: relative; }
.contact-list-head{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-rows{ flex-grow: 1; overflow-y: scroll; background: #dcdcdc; padding: 1em; }
.contact-list-row{ display: table; table-layout: fixed; width: 100%; }
.contact-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.contact-list-brow:last-child{ margin-bottom: 0em; }
.contact-list-brow[tabindex]{ cursor: pointer; }
.contact-list-brow:focus{ outline: 3px solid #aaa; }
.contact-list-brow[checked]{ background-color: #f0ffe3; outline: 3px solid #779b59; }
.contact-list-td{ display: table-cell; vertical-align: middle; text-align: left; position: relative; }
.contact-list-td{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-list-td:last-child{ border-right: none; }
.contact-list-th{ padding: .5em; text-align: center; font-weight: bold; }

.contact-list-col-check{ width: 3em; }
.contact-list-td-check{ text-align: center; }
.contact-list-col-type{ width: 4em; }
.contact-list-td-type{ background-repeat: no-repeat; background-size: 2em 2em; background-position: center center; }
.contact-list-col-subtype{ width: 4em; display: none; }
.contact-list-td-subtype{ background-repeat: no-repeat; background-size: 2em 2em; background-position: center center; }
.contact-list-td-name{ padding: 1em; vertical-align: middle; }
.contact-list-td-name-value{ font-weight: bold; font-size: 1.125em; }
.contact-list-td-name-value{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-list-td-subtype-value{ margin-top: .25em; font-style: italic; }
.contact-list-email{ margin-bottom: .25em; font-weight: bold; }
.contact-list-email{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-list-phone{ margin-bottom: .25em; }
.contact-list-phone{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-list-phone-value{ font-weight: bold; }
.contact-list-mobile{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-list-mobile-value{ font-weight: bold; }
.contact-list-street{ margin-bottom: .25em; }
.contact-list-street{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-list-city{ margin-bottom: .25em; }
.contact-list-col-tags{ width: 5em; }
.contact-list-td-tags{ text-align: center; }
.contact-list-tags-tooltip{ padding: 1em; border-right: 2.5em solid #e13500; }
.contact-list-tags-tooltip-edit{ position: absolute; right: -2.5em; top: .5em; filter: grayscale(1) brightness(10); }
.contact-list-tags-tooltip-join{ max-width: 25em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.contact-list-col-icons{ width: 11em; }
.contact-list-td-icons{ text-align: center; overflow: visible; }
.contact-list-td-icons .contact-list-more{ display: none; }
.contact-list-td-icons .contact-list-icons{ position: static !important; box-shadow: none; background: none; padding: 0em; text-align: center; }
.contact-list-td-icons .contact-list-icons{ display: block !important; }

@media (max-width: 1100px){
	.contact-list-td-icons{ background: #ececec; }
	.contact-list-td-icons .contact-list-more{ display: inline-block; vertical-align: middle; }
	.contact-list-td-icons .contact-list-icons{ position: absolute !important; left: auto !important; right: 100% !important; top: 0 !important; }
	.contact-list-td-icons .contact-list-icons{ height: 100%; display: flex !important; align-items: center; padding: 1em; }
	.contact-list-td-icons .contact-list-icons{ border-left: 1px dotted #dcdcdc; border-right: 1px dotted #dcdcdc; }
	.contact-list-td-icons .contact-list-icons{ background: #ececec; }
	.contact-list-td-icons .contact-list-icons.off{ display: none !important; }
}

/* Mode "tree" with "item" repeated */

.contact-list-tree{ height: 100%; width: 100%; background: #dcdcdc; position: relative; }
.contact-list-root{ height: 100%; width: 100%; padding: 1em 1em 5.25em 1em; overflow-y: scroll; }
.contact-list-node{ margin-bottom: 1em; }
.contact-list-root>.contact-list-node:last-child{ margin-bottom: 0em; }

/* Mode "list" or "tree" with "item" repeated */

.contact-list-item{ padding: 1em; position: relative; display: block; }
.contact-list-item{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-item:focus{ outline: 3px solid #aaa; }
.contact-list-item[checked]{ background-color: #f0ffe3; outline: 3px solid #779b59; }
.contact-list-item:before{ content: ""; position: absolute; left: -3em; top: 0em; height: 100%; width: 3em; } 
.contact-list-item:before{ background: url(/kontakt/img/child.png) no-repeat .75em center / 1.5em 1.5em; }
.contact-list-root>.contact-list-node>.contact-list-item:before{ display: none; }
.contact-list-rows .contact-list-item:before{ display: none; }
.contact-list-item-top{ display: flex; align-items: center; }
.contact-list-item-top>*{ margin-right: 1em; }
.contact-list-item-top>*:last-child{ margin-right: 0em; }
.contact-list-item-data{ display: flex; align-items: center; overflow: hidden; }
.contact-list-item-data>*{ margin-right: .5em; }
.contact-list-item-data>*:last-child{ margin-right: 0em; }
.contact-list-item-check{ height: 1.5em; width: 1.5em; flex: 0 0 1.5em; }
.contact-list-item-type{ height: 1.5em; width: 1.5em; flex: 0 0 1.5em; }
.contact-list-item-type{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-list-item-name{ font-size: 1.5em; font-weight: bold; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.contact-list-item-count{ font-size: 1.5em; font-weight: bold; }
.contact-list-item-subtype{ font-size: 1.5em; color: #555; }
.contact-list-item-tags{ display: flex; align-items: center; margin-top: .5em; }
.contact-list-item-tags-join{ padding: .25em .5em; color: #000; background: #ececec; }
.contact-list-item-tags-edit{ margin-left: .5em; height: 1.5em; width: 1.5em; flex: 0 0 1.5em; }
.contact-list-item-center{ display: flex; margin-top: .5em; }
.contact-list-item-center>*{ width: 20em; padding: 0.5em 0.5em 0.5em 4em; margin-right: 1em; }
.contact-list-item-center>*{ border: 1px dashed #dcdcdc; }
.contact-list-item-center>*{ background-repeat: no-repeat; background-position: .5em center; background-size: 3em 3em; }
.contact-list-item-center>*:last-child{ margin-right: 0em; }
.contact-list-item-center>*{ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.contact-list-item-center>*>*{ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.contact-list-item-write{ background-image: url(/kontakt/img/write.png); }
.contact-list-item-call{ background-image: url(/kontakt/img/call.png); }
.contact-list-item-place{ background-image: url(/kontakt/img/place.png); }
.contact-list-item-fill{ flex-grow: 1; }
.contact-list-item-icons{ display: flex; align-items: center; }
.contact-list-nodes{ margin-top: 1em; padding-left: 3em; }
.contact-list-nodes.off{ display: none; }

@media (max-width: 1100px){
	.contact-list-item-subtype{ display: none; }
	.contact-list-tree .contact-list-nodes{ padding-left: 0em; }
	.contact-list-tree .contact-list-item{ padding: 0em; }
	.contact-list-tree .contact-list-item:before{ display: none; }
	.contact-list-tree .contact-list-item-top{ flex-direction: column; align-items: flex-start; }
	.contact-list-tree .contact-list-item-data{ padding: .5em; }
	.contact-list-tree .contact-list-item-icons{ padding: .5em; width: 100%; justify-content: center; background: #ececec; }
	.contact-list-tree .contact-list-item-center{ flex-direction: column; margin-top: 0em; }
	.contact-list-tree .contact-list-item-center>*{ border-left: none; border-right: none; border-bottom: none; }
	.contact-list-tree .contact-list-item-center>*:first-child{ border-top: none; }

}

/* Mode "grid" with "cell" repeated */

.contact-list-grid{ height: 100%; width: 100%; background: #dcdcdc; }
.contact-list-cells{ display: grid; grid-template-columns: repeat(6, 16.66%); grid-auto-rows: min-content; }
.contact-list-cells{ height: 100%; width: 100%; padding: .5em .5em 5em .5em; overflow-y: auto; }
.contact-list-li{ margin: .5em; }
.contact-list-cell{ height: 100%; padding: 1px; display: block; position: relative; overflow: hidden; }
.contact-list-cell{ box-shadow: 0px 0px 3px #aaa; background: #fff; }
.contact-list-cell[checked]{ background-color: #f0ffe3; outline: 3px solid #779b59; }
.contact-list-cell:focus{ outline: 1px dashed #000; }
.contact-list-cell-check{ position: absolute; top: 0; left: 0; padding: .5em; }
.contact-list-cell-image{ height: 10em; border-bottom: 1px solid #dcdcdc; }
.contact-list-cell-image{ background-repeat: no-repeat; background-size: cover; background-position: center center; }
.contact-list-cell-texts{ padding: .5em; overflow: hidden; text-align: center; }
.contact-list-cell-texts>*{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: .125em; }
.contact-list-cell-texts>*:first-child{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0em; }
.contact-list-cell-name{ font-weight: bold; font-size: 1.25em; }
.contact-list-cell-uid{ display: none; }
.contact-list-cell-alias{ display: none; }
.contact-list-cell-icons{ position: absolute; top: 0em; right: 0em; padding: .5em; }
.contact-list-cell-icons{ display: flex; align-items: center; }
.contact-list-cell-icons{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-cell-icons>*{ margin-right: .25em; }
.contact-list-cell-icons>*:last-child{ margin-right: 0em; }

.mi-zoom .contact-list-cell-image{ border: none; height: 50vh; width: 50vw; background-size: contain; }

@media (max-width: 2200px){ .contact-list-cells{ grid-template-columns: repeat(5, 20%); } }
@media (max-width: 1500px){ .contact-list-cells{ grid-template-columns: repeat(4, 25%); } }
@media (max-width: 1250px){ .contact-list-cells{ grid-template-columns: repeat(3, 33.33%); } }
@media (max-width: 850px){ .contact-list-cells{ grid-template-columns: repeat(2, 50%); } }
@media (max-width: 1100px){ .contact-list-cell-name{ font-size: 1em; } }

/* Style "row" */

.contact-list-row-center{ flex-direction: row; }
.contact-list-row-title{ padding: .5em; line-height: 1em; text-align: center; position: relative; }
.contact-list-row-title{ z-index: 30; background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-list-row-nav{ display: flex; flex-direction: column; position: relative; overflow: hidden; }
.contact-list-row-nav{ height: 100%; flex: 0 0 0em; width: 0em; opacity: 0; }
.contact-list-row-nav{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-row-nav.expand{ opacity: 1; flex: 0 0 25em; width: 25em; }
.contact-list-row-buttons{ padding: .625em; position: absolute; top: 0; right: 0; z-index: 40; }

@media (max-width: 1100px){
	.contact-list-row-nav{ position: absolute; left: 0; top: 0; z-index: 20; }
	.contact-list-row-body{ width: 100%; }
}

/* Style "col" */

.contact-list-col-center{ flex-direction: column; }
.contact-list-col-nav{ text-align: center; }
.contact-list-col-title{ padding: .5em; position: relative; z-index: 40; }
.contact-list-col-title{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-col-buttons{ position: relative; z-index: 30; padding: 1em; }
.contact-list-col-buttons{ background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-list-col-filters{ display: flex; flex-direction: column; overflow-x: hidden; overflow-y: scroll; }
.contact-list-col-filters{ height: 100%; width: 0em; flex: 0 0 0em; position: absolute; top: 0; right: 0; z-index: 20; }
.contact-list-col-filters{ padding: 0em; text-align: left; opacity: 0; }
.contact-list-col-filters{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-col-filters.expand{ display: flex; opacity: 1; flex: 0 0 28em; width: 28em; padding: 1em; }

@media (max-width: 1100px){
	.contact-list-col-type{ display: none; }
	.contact-list-col-tags{ display: none; }
	.contact-list-col-place{ display: none; }
	.contact-list-col-icons{ width: 5em; }
}

/* Expand */ 

@media (max-width: 1100px){
	.contact-list-expand{ display: block; background-color: #fff; box-shadow: 0px 0px 3px #aaa; }
	.contact-list-expand.expand{ box-shadow: none; background-color: transparent; }
}

/* Dialog */

.contact-list-dialog-window{ width: 65em; }
.contact-list-dialog-body{ height: calc(100vh - 4em); overflow: hidden; }
.contact-list-dialog .contact-list-title{ display: none; }
.contact-list-dialog .contact-list-row-nav{ position: absolute; z-index: 2; top: 0em; right: 0em; }
.contact-list-dialog .contact-list-row-buttons{ background: #fff; }
.contact-list-dialog .contact-list-col-buttons{ background: #fff; }
.contact-list-dialog .contact-list-cells{ grid-template-columns: repeat(3, 33.33%); }

@media (max-width: 1100px){
	.contact-list-dialog .contact-list-nav{ left: -75%; width: 75%; }
	.contact-list-dialog-window{ height: calc(100vh - 2em); }
	.contact-list-dialog .contact-list-cells{ grid-template-columns: repeat(2, 50%); }
}

/** 
 * View: contact/list/add (dialog add choice: new or existing contact)
 **/

.contact-list-add-dialog-window{ width: 35em; }
.contact-list-add-dialog-body{ background: #ececec; padding: 2em; }
.contact-list-add-choices{ display: flex; flex-direction: row; align-items: center; justify-content: center; }
.contact-list-add-choice{ margin-right: 2em; padding: 2em; text-align: center; width: 15em; }
.contact-list-add-choice{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-add-choice{ transition: all .25s; cursor: pointer; }
.contact-list-add-choice:last-child{ margin-right: 0em; }
.contact-list-add-choice:hover, .contact-add-choice:focus{ background: #f0ffe3; outline: 3px solid #779b59; }
.contact-list-add-choice-icon{ width: 3em; height: 3em; margin: 0em auto 1em auto; }
.contact-list-add-choice-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-list-add-choice-title{ font-size: 1.25em; font-weight: bold; }
.contact-list-add-choice-title{ font-weight: bold; }
.contact-list-add-choice-text{ margin-top: 1em; }

/** 
 * View: contact/type (dialog type choice: type of contact to add)
 **/

.contact-list-type-dialog-window{ width: fit-content; }
.contact-list-type-dialog-body{ background: #ececec; }
.contact-list-type-choices{ display: flex; align-items: center; padding: 1em; }
.contact-list-type-choices{ max-width: 40em; overflow-x: auto;  }
.contact-list-type-choice{ margin: .5em; padding: 1em; text-align: center; width: 15em; }
.contact-list-type-choice{ cursor: pointer; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-list-type-choice:hover, .contact-add-choice:focus{ background: #f0ffe3; outline: 3px solid #779b59; }
.contact-list-type-none{ outline: 1px dashed #dcdcdc; width: 15em; margin: .5em; } 
.contact-list-type-choice-icon{ width: 3em; height: 3em; margin: 0em auto .5em auto; }
.contact-list-type-choice-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-list-type-choice-title{ font-size: 1.25em; font-weight: bold; }
.contact-list-type-choice-title{ font-weight: bold; }

/**
 * Action: kontakt.contact/edit
 **/

.contact-edit-expand{ position: absolute; top: 0em; left: 0em; height: 4em; width: 4em; z-index: 2; }
.contact-edit-expand{ background-color: #fff; box-shadow: 0px 0px 5px #aaa; outline: 1px solid #dcdcdc; }
.contact-edit-expand{ background-repeat: no-repeat; background-size: 2em 2em; background-position: center center; }
.contact-edit-expand{ display: none; transition: all .25s; }
.contact-edit-expand:focus{ background-color: #f0ffe3; background-size: 2.5em 2.5em; }

.contact-edit-view{ height: 100%; width: 100%; padding: 0em; }
.contact-edit-view .off{ display: none; }
.contact-edit-view fieldset:focus{ outline: 3px solid #aaa; }

.contact-edit-submit{ display: block; text-align: center; }
.contact-edit-save{ width: 12em; }
.contact-edit-title{ font-size: 2em; line-height: 1em; text-align: center; display: block; font-weight: bold; }

.contact-edit-tab-title{ margin-bottom: 1em; }
.contact-edit-tab{ height: 100%; width: 100%; display: flex; flex-direction: row; }
.contact-edit-tab-nav{ position: relative; z-index: 1; flex: 0 0 20em; overflow: hidden; }
.contact-edit-tab-nav{ display: flex; flex-direction: column; }
.contact-edit-tab-nav{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-edit-tab-buttons{ flex-grow: 1; padding: 1em; }
.contact-edit-tab-button{ padding: .75em 1.5em; margin-bottom: .5em; white-space: nowrap; cursor: pointer; font-size: 1.125em; }
.contact-edit-tab-button{ background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-edit-tab-button:last-child{ margin-bottom: 0em; }
.contact-edit-tab-button.selected{ background: #f0ffe3; outline: 3px solid #779b59; color: #000; }
.contact-edit-tab-button:focus{ background: #000; color: #fff; }
.contact-edit-tab-title{ font-size: 1.5em; padding: .5em 1em 0em 1em; margin-bottom: 0em; }
.contact-edit-tab-views{ flex-grow: 1; position: relative; }
.contact-edit-tab-view{ width: 100%; height: 100%; padding: 2em; overflow-y: scroll; }
.contact-edit-tab-view{ background: #dcdcdc; }
.contact-edit-tab-submit{ padding: 1em; width: 100%; }
.contact-edit-tab-submit{ border-top: 3px dashed #dcdcdc; }
.contact-edit-tab-save{ width: 100%; }

.contact-edit-raw{ display: flex; flex-direction: column; }
.contact-edit-raw-title{ padding: .375em; position: relative; z-index: 1; }
.contact-edit-raw-title{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-edit-raw-views{ flex-grow: 1; overflow-y: scroll; padding: 2em 2em 0em 2em; }
.contact-edit-raw-views{ background: #dcdcdc; }
.contact-edit-raw-view{ width: 100%; margin-bottom: 2em; }
.contact-edit-raw-view>*{ max-width: 60em; width: 100% !important; margin: auto; }
.contact-edit-raw-submit{ padding: .75em; position: relative; z-index: 1; }
.contact-edit-raw-submit{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.contact-edit-parent{ border-top: 3px dashed #dcdcdc; padding: 1em; width: 100%; }
.contact-edit-parent-label{ display: block; margin-bottom: .25em; }
.contact-edit-parent-name{ background: #ececec; padding: .5em; font-weight: bold; }

.contact-edit-view{ margin-top: 2em; }
.contact-edit-view:first-child{ margin-top: 0em; }
.contact-edit-block{ margin-top: 2em; padding: 2em; }
.contact-edit-block{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-edit-block:first-child{ margin-top: 0em; }
.contact-edit-row{ margin-top: 1em; position: relative; }
.contact-edit-row:first-child{ margin-top: 0em; }
.contact-edit-help{ font-style: italic; margin-top: 1em; display: block; }
.contact-edit-help:first-child{ margin-top: 0em; }
.contact-edit-cols{ display: flex; align-items: center; margin-top: 1em; }
.contact-edit-cols:first-child{ margin-top: 0em; }
.contact-edit-col{ margin-right: .5em; }
.contact-edit-col:last-child{ margin-right: 0em; }
.contact-edit-label{ display: block; white-space: nowrap; margin-bottom: .5em; font-weight: bold; }
.contact-edit-label sup{ font-weight: bold; display: inline-block; line-height: 0em; }
.contact-edit-input{ width: 100%; }
.contact-edit-icon{ cursor: pointer; height: 1.5em; width: 1.5em; }
.contact-edit-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-edit-subtitle{ display: block; font-weight: bold; padding-bottom: .5em; margin-bottom: .875em; }
.contact-edit-subtitle{ font-size: 1.125em; border-bottom: 3px dashed #dcdcdc; }

@media (max-width: 1100px){
	.contact-edit-expand{ display: block; }
	.contact-edit-expand.expand{ transform: rotate(180deg); cursor: pointer; box-shadow: none; }
	.contact-edit-tab-nav{ position: absolute; top: 0em; left: 0em; height: 100%; width: 0em; }
	.contact-edit-tab-nav{ padding: 0em; opacity: 0; }
	.contact-edit-tab-nav .contact-edit-tab-button{ display: none; }
	.contact-edit-tab-nav .contact-edit-submit{ display: none; }
	.contact-edit-tab-nav.expand{ width: 24em; padding: 5.25em 1em 1em 1em; opacity: 1; }
	.contact-edit-tab-nav.expand .contact-edit-tab-button{ display: block; }
	.contact-edit-tab-nav.expand .contact-edit-tab-submit{ display: block; }
}

/* Tab "types" */

.contact-edit-types-view{ display: flex; align-items: center; justify-content: center; flex-direction: column; }
.contact-edit-types-section{ width: 40em; }
.contact-edit-types-fieldset{ padding: 2em; }
.contact-edit-types-fieldset{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

@media (max-width: 1100px){
	.contact-edit-types-view{ align-items: flex-start; }
	.contact-edit-types-section{ display: block; width: 100%; }
}

.contact-edit-types-block{ box-shadow: none; margin: 0em; padding: 0em; }
.contact-edit-type-list{ display: flex; width: 100%; white-space: nowrap; margin-top: .5em; text-align: center; }
.contact-edit-type-none{ margin-top: .5em; padding: 1.125em; background: #ececec; }
.contact-edit-type-item{ margin-right: 1em; padding: .5em; flex-grow: 1; }
.contact-edit-type-item{ cursor: pointer; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-edit-type-item[disabled]{ background: #ececec; }
.contact-edit-type-item[checked]{ background: #f0ffe3; outline: 1px solid #779b59; }
.contact-edit-type-item:focus{ background: #000; color: #fff; }
.contact-edit-type-item:last-child{ margin-right: 0em; }
.contact-edit-type-item>*{ display: block; text-align: center; }
.contact-edit-type-item-icon{ height: 3em; width: 3em; margin: auto; }
.contact-edit-type-item-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-edit-type-item-text{ margin-top: .25em; }
.contact-edit-type-item[disabled] .contact-edit-type-item-icon{ filter: grayscale(1); }
.contact-edit-type-item[checked] .contact-edit-type-item-icon{ filter: none; }

@media (max-width: 1100px){
	.contact-edit-types-block{ border-bottom: none; }
}

.contact-edit-subtype-block{ margin: 2em 0em 0em 0em; padding: 1em 0em 0em 0em; }
.contact-edit-subtype-block{ border-top: 3px dashed #dcdcdc; box-shadow: none; }
.contact-edit-subtype-list{ margin-top: .5em; padding: .5em; height: 12em; overflow-y: scroll; background: #ececec; }
.contact-edit-subtype-item{ display: flex; align-items: center; margin-bottom: .5em; padding: .5em; }
.contact-edit-subtype-item{ cursor: pointer; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-edit-subtype-item[disabled]{ background: #ececec; }
.contact-edit-subtype-item[checked]{ background: #f0ffe3; outline: 1px solid #779b59; }
.contact-edit-subtype-item:focus{ background: #000; color: #fff; }
.contact-edit-subtype-item:last-child{ margin-bottom: 0em; }
.contact-edit-subtype-item-check{ margin-right: .5em; flex: 0 0 1.5em; }
.contact-edit-subtype-item-text{ flex-grow: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.contact-edit-subtype-none{ margin-top: .5em; height: 12em; overflow-y: scroll; background: #ececec; padding: 1.125em; }

.contact-edit-tags-list{ margin-top: .5em; padding: .25em; height: 12em; overflow-y: scroll; background: #ececec; }
.contact-edit-tags-item{ display: flex; align-items: middle; margin-bottom: .5em; padding: .5em; }
.contact-edit-tags-item{ cursor: pointer; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-edit-tags-item[disabled]{ background: #ececec; }
.contact-edit-tags-item[checked]{ background: #f0ffe3; outline: 1px solid #779b59; }
.contact-edit-tags-item:focus{ background: #000; color: #fff; }
.contact-edit-tags-item:last-child{ margin-right: .5em; flex: 0 0 1.5em; }
.contact-edit-tags-item-check{ margin-right: .5em; flex: 0 0 1.5em; }
.contact-edit-tags-item-text{ flex-grow: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.contact-edit-tags-none{ margin-top: .5em; height: 12em; overflow-y: scroll; background: #ececec; padding: 1.125em; }

@media (max-width: 1100px){
	.contact-edit-subtypes-block{ display: block; }
	.contact-edit-subtype-row{ display: block; width: 100%; padding: 0em 2em 2em 2em; }
	.contact-edit-tags-row{ display: block; width: 100%; padding: 0em 2em 2em 2em; }
}

/* Tab "main" */

.contact-edit-main-section{ width: 100%; max-width: 60em; margin: auto; }

.contact-edit-image-input{ height: 5em; cursor: pointer; position: relative; }
.contact-edit-image-input{ background-repeat: no-repeat; background-size: auto 4em; background-position: center; }
.contact-edit-image-input{ background-color: #ececec; }
.contact-edit-image-zoom{ position: absolute; top: .5em; right: .5em; }
.mi-zoom .contact-edit-image-input{ height: 20em !important; width: 20em !important; background-size: contain; background-color: transparent; }
.mi-zoom .contact-edit-image-zoom{ display: none; }

.contact-edit-title-col{ width: 5em; }
.contact-edit-firstname-col{ width: calc(50% - 3em); }
.contact-edit-firstname-input{ text-transform: capitalize; }
.contact-edit-lastname-col{ width: calc(50% - 3em); }
.contact-edit-lastname-input{ text-transform: uppercase; }

.contact-edit-email-input{ text-transform: lowercase; }
.contact-edit-emails-more{ color: #e13500; text-decoration: underline; cursor: pointer; }
.contact-edit-emails-more:focus{ font-weight: bold; }
.contact-edit-emails-form{ margin-top: .5em; width: 100%; }
.contact-edit-emails-form{ background: #ececec; padding: .5em; }
.contact-edit-view[disabled] .contact-edit-emails-form{ display: none !important; }
.contact-edit-emails-list{ margin-top: .5em; width: 100%; }
.contact-edit-emails-list{ box-shadow: 0px 0px 3px #aaa; padding: .5em; }
.contact-edit-emails-item{ display: table; table-layout: fixed; width: 100%; }
.contact-edit-emails-item>*{ display: table-cell; vertical-align: middle; padding: .25em; }
.contact-edit-emails-name{ width: 12em; }
.contact-edit-emails-name-input{ width: 100%; }
.contact-edit-emails-value-input{ width: 100%; text-transform: lowercase; }
.contact-edit-emails-icon{ width: 2em; text-align: center; }
.contact-edit-emails-icon>*{ margin: auto; }
	
.contact-edit-phone-col{ width: calc(50% - .25em); }
.contact-edit-mobile-col{ width: calc(50% - .25em); }
.contact-edit-phones-more{ color: #e13500; text-decoration: underline; cursor: pointer; }
.contact-edit-phones-more:focus{ font-weight: bold; }
.contact-edit-phones-form{ margin-top: .5em; width: 100%; }
.contact-edit-phones-form{ background: #ececec; padding: .5em; }
.contact-edit-view[disabled] .contact-edit-phones-form{ display: none !important; }
.contact-edit-phones-list{ margin-top: .5em; width: 100%; }
.contact-edit-phones-list{ box-shadow: 0px 0px 3px #aaa; padding: .5em; }
.contact-edit-phones-item{ display: table; table-layout: fixed; width: 100%; }
.contact-edit-phones-item>*{ display: table-cell; vertical-align: middle; padding: .25em; }
.contact-edit-phones-name{ width: 12em; }
.contact-edit-phones-name-input{ width: 100%; }
.contact-edit-phones-value-input{ width: 100%; text-transform: lowercase; }
.contact-edit-phones-icon{ width: 2em; text-align: center; }
.contact-edit-phones-icon>*{ margin: auto; }

.contact-edit-postalcode-col{ width: 7.5em; }
.contact-edit-city-col{ width: calc(100% - 8em); }
.contact-edit-city-input{ text-transform: uppercase; }
.contact-edit-country-input{ text-transform: uppercase; }

/* Tab "password" */

.contact-edit-password-row{ display: flex; align-items: center; }
.contact-edit-password-input{ flex-grow: 1; margin-right: 1em; }
.contact-edit-password-input:last-child{ margin-right: 0em; }

.contact-edit-view[disabled] .contact-edit-password-view{ display: none; }

/* Tab "mentions" */

.contact-edit-mention{ margin-bottom: 1em; }
.contact-edit-mention:last-child{ margin-bottom: 0em; }
.contact-edit-mention-label{ display: flex; width: 100%; align-items: center; }
.contact-edit-mention-check{ margin-right: 1em; }
.contact-edit-mention-text{ flex-grow: 1; text-align: justify; }

/* Tab "notes" */

.contact-edit-notes-view{ padding: 0; overflow: hidden; }
.contact-edit-notes-section{ height: 100%; width: 100%; box-shadow: 0px 0px 3px #aaa; }

/* Tab "medias" */

.contact-edit-medias-view{ padding: 0; overflow: hidden; }
.contact-edit-medias-section{ height: 100%; width: 100%; box-shadow: 0px 0px 3px #aaa; }

/* Tab "parents", "children", "contacts", "referers" */

.contact-edit-parents-view{ padding: 0em; overflow: hidden; }
.contact-edit-parents-section{ height: 100%; width: 100%; }
.contact-edit-parents-view .contact-relation-list-title{ display: none; }
.contact-edit-children-view{ padding: 0em; overflow: hidden; }
.contact-edit-children-section{ height: 100%; width: 100%; }
.contact-edit-children-view .contact-relation-list-title{ display: none; }
.contact-edit-contacts-view{ padding: 0em; overflow: hidden; }
.contact-edit-contacts-section{ height: 100%; width: 100%; }
.contact-edit-contacts-view .contact-relation-list-title{ display: none; }
.contact-edit-referers-view{ padding: 0em; overflow: hidden; }
.contact-edit-referers-section{ height: 100%; width: 100%; }
.contact-edit-referers-view .contact-relation-list-title{ display: none; }

/* Dialog */

.contact-edit-dialog .contact-edit-title{ display: none; }
.contact-edit-tabs-dialog-window{ height: calc(100vh - 2em); width: 100%; }
.contact-edit-raw-dialog-window{ max-height: calc(100vh - 2em); max-width: 60em; }
.contact-edit-raw-dialog-window .contact-edit-raw{ max-height: calc(100vh - 4.5em); }

/* Subscription */

.contact-subscribe-view .contact-edit-types-section{ width: 100%; }

/**
 * Action: kontakt.contact/cast
 **/

.contact-cast-form{ padding: 1em; background: #ececec; }
.contact-cast-row{ display: block; margin-bottom: 1em; }
.contact-cast-row:last-child{ margin-bottom: 0em; }
.contact-cast-help{ font-size: .875em; font-style: italic; }
.contact-cast-mode-list{ padding: 1em; background: #dcdcdc; }
.contact-cast-mode-list:focus{ background: #000; }
.contact-cast-mode-item{ display: flex; align-items: center; padding: .5em; margin-bottom: 1em; }
.contact-cast-mode-item{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-cast-mode-item:last-child{ margin-bottom: 0em; }
.contact-cast-mode-item:focus{ background: #000; color: #fff; }
.contact-cast-mode-check{ margin-right: .5em; }
.contact-cast-password-row{ display: flex; align-items: center; }
.contact-cast-password-col{ margin-right: 1em; }
.contact-cast-password-col:last-child{ margin-right: 0em; }
.contact-cast-password-label{ display: block; margin-bottom: .25em; }
.contact-cast-password-input{ width: 100%; }
.contact-cast-notify-row{ display: flex; align-items: center; padding: 1em; background: #dcdcdc; }
.contact-cast-notify-row:focus{ background: #000; color: #fff; }
.contact-cast-notify-check{ margin-right: .5em; }
.contact-cast-submit{ padding: .5em; display: flex; align-items: center; justify-content: flex-end; }
.contact-cast-submit{  border-top: 1px dashed #dcdcdc; }

/* Dialog */

.contact-cast-dialog .contact-cast-title{ display: none; }
.contact-cast-dialog-window{ width: 30em; }

/**
 * Action: kontakt.contact/config (dialog config choice: types, qualifiers, tags...)
 **/

.contact-config-view{ height: 100%; width: 100%; display: flex; flex-direction: column; }
.contact-config-top{ padding: .75em; position: relative; z-index: 10; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-config-title{ font-size: 1.75em; line-height: 1em; text-align: center; }
.contact-config-body{ padding: 1em; flex-grow: 1; background: #ececec; display: flex; align-items: center; justify-content: center; }

.contact-config-items{ width: 100%; }
.contact-config-item{ display: flex; align-items: center; padding: .75em 1.5em; margin: 1em; }
.contact-config-item{ cursor: pointer; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-config-icon{ height: 2.5em; width: 2.5em; margin-right: 1em; }
.contact-config-text{ flex-grow: 1; font-size: 1.25em; }

.contact-config-dialog-window{ width: 26em; }
.contact-config-dialog .contact-config-top{ display: none; }
.contact-config-dialog .contact-config-body{ padding: 0em; }

/**
 * Action: kontakt.relation/list
 **/

.contact-relation-list-view{ height: 100%; width: 100%; position: relative; display: flex; flex-direction: column; }
.contact-relation-list-view .off{ display: none; }
.contact-relation-list-body{ flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }
.contact-relation-list-table{ flex-grow: 1; overflow-y: scroll; background: #dcdcdc; padding: 1em; }

.contact-relation-list-title{ font-size: 1.75em; font-weight: bold; padding: .5em; text-align: center; }
.contact-relation-list-title{ position: relative; z-index: 2; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-relation-list-subtitle{ font-size: 1.25em; margin-bottom: .8em; text-align: center; }

.contact-relation-list-filters{ display: flex; align-items: center; justify-content: center; padding: .75em; }
.contact-relation-list-filters{ position: relative; z-index: 1; background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-relation-list-filters>*{ margin-right: 1em; }
.contact-relation-list-filters>*:last-child{ margin-right: 0em; }
.contact-relation-list-filter{ display: flex; align-items: center; }
.contact-relation-list-filter-label{ display: inline-flex; margin-right: .5em; }

.contact-relation-list-search{ position: relative; }
.contact-relation-list-search-input{ padding-right: 2.5em; width: 15em; }
.contact-relation-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }
.contact-relation-list-search-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }

.contact-relation-list-form{ width: 30em; padding: 0em; }

.contact-relation-list-paging{ text-align: center; padding: .5em; width: 16em; z-index: 1; }
.contact-relation-list-paging{ position: absolute; bottom: 0em; left: 50%; margin-left: -8em; }
.contact-relation-list-paging{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

/* Icons */ 

.contact-relation-list-icons{ white-space: nowrap; }
.contact-relation-list-icon{ display: inline-block; vertical-align: middle; margin-right: .25em; cursor: pointer; }
.contact-relation-list-icon:last-child{ margin-right: 0em; }
.contact-relation-list-icon[disabled]{ filter: grayscale(1); opacity: .25; }

@media (max-width: 1100px){
	.contact-relation-list-icon{ margin-right: .5em; }
	.contact-relation-list-icon:last-child{ margin-right: 0em; }
}

/* 'item' repeated */

.contact-relation-item{ display: block; padding: 1em; margin-bottom: 1em; position: relative; }
.contact-relation-item{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-relation-item:focus{ outline: 3px solid #aaa; }
.contact-relation-item:last-child{ margin-bottom: 0em; }
.contact-relation-item-top{ margin-bottom: .5em; }
.contact-relation-item-top>*{ display: inline-block; vertical-align: middle; }
.contact-relation-item-type{ height: 1.5em; width: 1.5em; margin-right: .5em; }
.contact-relation-item-type{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-relation-item-name{ font-size: 1.5em; font-weight: bold; }
.contact-relation-item-tags{ margin-left: .5em; padding: .25em .5em; color: #000; background: #ececec; }
.contact-relation-item-tags>*{ display: inline-block; vertical-align: middle; margin-right: .125em; }
.contact-relation-item-tags>*:last-child{ margin-right: 0em; }
.contact-relation-item-tags-join{ max-width: 20em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.contact-relation-item-qualifier{ display: inline-flex; align-items: center; margin-left: .5em; }
.contact-relation-item-qualifier-name{ font-size: 1.5em; font-style: italic; font-weight: bold; }
.contact-relation-item-qualifier-edit{ margin-left: .5em; }
.contact-relation-item-center{ display: flex; align-items: center; }
.contact-relation-item-center>*{ padding: .5em .5em .5em 2.5em; margin-right: .5em; border: 1px dashed #dcdcdc; }
.contact-relation-item-center>*{ background-repeat: no-repeat; background-position: .5em center; background-size: 1.5em 1.5em; }
.contact-relation-item-center>*:last-child{ margin-right: 0em; }
.contact-relation-item-write{ background-image: url(/kontakt/img/write.png); }
.contact-relation-item-call{ background-image: url(/kontakt/img/call.png); }
.contact-relation-item-place{ background-image: url(/kontakt/img/place.png); }
.contact-relation-item-icons{ position: absolute; top: 1em; right: 1em; }

.contact-relation-item-icon{ display: inline-block; vertical-align: middle; margin-right: .5em; cursor: pointer; }
.contact-relation-item-icon:last-child{ margin-right: 0em; }
.contact-relation-item-icon[disabled]{ filter: grayscale(1); opacity: .25; }

/* 'row' repeated */

.contact-relation-list-body{ flex-grow: 1; overflow: hidden; }
.contact-relation-list-table{ height: 100%; width: 100%; position: relative; overflow: hidden; }
.contact-relation-list-table{ display: flex; flex-direction: column; overflow: hidden; border: 1px solid #dcdcdc; }
.contact-relation-list-head{ padding: 0em calc(1em + 8px) 0em 1em; position: relative; }
.contact-relation-list-head{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-relation-list-rows{ flex-grow: 1; overflow-y: scroll; background: #dcdcdc; padding: 1em; }
.contact-relation-list-row{ display: table; table-layout: fixed; width: 100%; }
.contact-relation-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.contact-relation-list-brow:last-child{ margin-bottom: 0em; }
.contact-relation-list-brow[tabindex]{ cursor: pointer; }
.contact-relation-list-brow:focus{ outline: 3px solid #aaa; }
.contact-relation-list-brow[checked]{ background-color: #f0ffe3; outline: 3px solid #779b59; }
.contact-relation-list-td{ display: table-cell; vertical-align: middle; text-align: left; position: relative; }
.contact-relation-list-td{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-relation-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-relation-list-td:last-child{ border-right: none; }
.contact-relation-list-th{ padding: .5em; text-align: center; font-weight: bold; }

.contact-relation-list-col-check{ width: 3em; }
.contact-relation-list-td-check{ text-align: center; }
.contact-relation-list-col-type{ width: 4em; }
.contact-relation-list-td-type{ background-repeat: no-repeat; background-size: 2em 2em; background-position: center center; }
.contact-relation-list-col-subtype{ width: 4em; display: none; }
.contact-relation-list-td-subtype{ background-repeat: no-repeat; background-size: 2em 2em; background-position: center center; }
.contact-relation-list-td-name{ padding: 1em; vertical-align: middle; }
.contact-relation-list-td-name-value{ font-weight: bold; font-size: 1.125em; }
.contact-relation-list-td-name-value{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-relation-list-td-subtype-value{ margin-top: .25em; font-style: italic; }
.contact-relation-list-email{ margin-bottom: .25em; font-weight: bold; }
.contact-relation-list-email{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-relation-list-phone{ margin-bottom: .25em; }
.contact-relation-list-phone{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-relation-list-phone-value{ font-weight: bold; }
.contact-relation-list-mobile{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-relation-list-mobile-value{ font-weight: bold; }
.contact-relation-list-street{ margin-bottom: .25em; }
.contact-relation-list-street{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-relation-list-city{ margin-bottom: .25em; }
.contact-relation-list-col-tags{ width: 7em; }
.contact-relation-list-td-tags{ text-align: center; }
.contact-relation-list-tags-tooltip{ padding: 1em; border-right: 2.5em solid #e13500; }
.contact-relation-list-tags-tooltip-edit{ position: absolute; right: -2.5em; top: .5em; filter: grayscale(1) brightness(10); }
.contact-relation-list-tags-tooltip-join{ max-width: 25em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.contact-relation-list-col-icons{ width: 8em; }
.contact-relation-list-td-icons{ text-align: center; overflow: visible; }
.contact-relation-list-td-icons .contact-relation-list-more{ display: none; }
.contact-relation-list-td-icons .contact-relation-list-icons{ position: static !important; box-shadow: none; background: none; padding: 0em; text-align: center; }
.contact-relation-list-td-icons .contact-relation-list-icons{ display: block !important; }

@media (max-width: 1100px){
	.contact-relation-list-td-icons{ background: #ececec; }
	.contact-relation-list-td-icons .contact-relation-list-more{ display: inline-block; vertical-align: middle; }
	.contact-relation-list-td-icons .contact-relation-list-icons{ position: absolute !important; left: auto !important; right: 100% !important; top: 0 !important; }
	.contact-relation-list-td-icons .contact-relation-list-icons{ height: 100%; display: flex !important; align-items: center; padding: 1em; }
	.contact-relation-list-td-icons .contact-relation-list-icons{ border-left: 1px dotted #dcdcdc; border-right: 1px dotted #dcdcdc; }
	.contact-relation-list-td-icons .contact-relation-list-icons{ background: #ececec; }
	.contact-relation-list-td-icons .contact-relation-list-icons.off{ display: none !important; }
}

/* Dialog */

.contact-relation-dialog-window{ width: 60em; }
.contact-relation-dialog-body{ height: 75vh; overflow: hidden; }
.contact-relation-dialog .contact-relation-title{ display: none; }

/**
 * Action: kontakt.relation/edit
 **/

.contact-relation-edit-view{ padding: 1em; }
.contact-relation-edit-label{ display: block; margin-bottom: .25em; }
.contact-relation-edit-row{ margin-bottom: .5em; }
.contact-relation-edit-row:last-child{ margin-bottom: 0em; }
.contact-relation-edit-contact-input{ display: flex; width: 100%; cursor: pointer; }
.contact-relation-edit-contact-input[disabled]{ cursor: default; }
.contact-relation-edit-contact-name{ flex-grow: 1; height: 2.25em; padding: .5em; border: 1px dashed #dcdcdc; background: #fff; }
.contact-relation-edit-contact-name[disabled]{ background: #ececec; }
.contact-relation-edit-contact-input:hover .contact-relation-edit-contact-name{ border: 1px dashed #aaa; } 
.contact-relation-edit-contact-input:focus .contact-relation-edit-contact-name{ border: 1px dashed #aaa; } 
.contact-relation-edit-contact-search{ margin-left: .25em; }
.contact-relation-edit-qualifier-input{ width: 100%; }
.contact-relation-edit-qualifier-input[disabled]{ height: 2.25em; padding: .5em; border: 1px dashed #dcdcdc; background: #ececec; }
.contact-relation-edit-comment-input{ height: 10em; }
.contact-relation-edit-submit{ padding-top: 1em; text-align: right; }

/* Dialog */

.contact-relation-edit-dialog-window{ width: 30em; }

/**
 * Action: kontakt.type/list
 **/

.contact-type-list-view{ height: 100%; width: 100%; }
.contact-type-list-view{ display: flex; flex-direction: column; overflow: hidden; }
.contact-type-list-top{ position: relative; }
.contact-type-list-view .off{ display: none; }

.contact-type-list-icon{ transition: .25s; }
.contact-type-list-icon:hover, .contact-type-list-icon:focus{ transform: scale(1.25); }

.contact-type-list-title{ padding: .5em; text-align: center; position: relative; }
.contact-type-list-title{ font-size: 1.75em; font-weight: bold; position: relative; z-index: 2; }
.contact-type-list-title{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.contact-type-list-filters{ display: flex; align-items: center; justify-content: center; }
.contact-type-list-filters{ padding: .75em; position: relative; z-index: 1; }
.contact-type-list-filters{ background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-type-list-filters>*{ margin-right: 1em; position: relative; }
.contact-type-list-filters>*:last-child{ margin-right: 0em; }

.contact-type-list-body{ flex-grow: 1; overflow: hidden; display: flex; flex-direction: column; }
.contact-type-list-head{ padding: 0em calc(.5em + 8px) 0em .5em; border: 1px solid #dcdcdc; background: #fff; }
.contact-type-list-rows{ flex-grow: 1; overflow-y: scroll; background: #ececec; padding: .5em; }
.contact-type-list-row{ display: table; table-layout: fixed; width: 100%; }
.contact-type-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.contact-type-list-brow:last-child{ margin-bottom: 0em; }
.contact-type-list-brow:hover, .contact-type-list-brow:focus{ outline: 3px solid #aaa; }
.contact-type-list-brow[checked]{ background: #f0ffe3; outline: 3px solid #779b59; }
.contact-type-list-td{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-type-list-td{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-type-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-type-list-td:last-child{ border-right: none; }
.contact-type-list-th{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-type-list-th{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-type-list-th{ text-align: center; font-weight: bold; }
.contact-type-list-icon{ display: inline-block; vertical-align: middle; margin-right: .5em; cursor: pointer; }
.contact-type-list-icon{ height: 1.75em; width: 1.75em; }
.contact-type-list-icon:last-child{ margin-right: 0em; }

.contact-type-list-search-input{ display: inline-block; vertical-align: middle; padding-right: 2.5em; width: 12em; }
.contact-type-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }
.contact-type-list-search-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-type-list-type-icon{ width: 2.5em; transition: all .05s; position: relative; background-color: #e13500; border: none; }
.contact-type-list-type-icon{ background-repeat: no-repeat; background-size: 1.5em 1.5em; background-position: center center; }

.contact-type-list-col-check{ width: 3em; }
.contact-type-list-td-check{ text-align: center; }
.contact-type-list-name{ font-weight: bold; }
.contact-type-list-code{ font-size: .75em; color: #666; }
.contact-type-list-col-icons{ width: 7em; }
.contact-type-list-td-icons{ text-align: center; }

/* Dialog */

.contact-type-list-dialog-window{ width: 35em; }
.contact-type-list-dialog-body{ height: 30em; }
.contact-type-list-dialog .contact-type-list-title{ display: none; }

/**
 * Action: kontakt.type/edit
 **/

.contact-type-edit-view{ height: 100%; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.contact-type-edit-block{ max-width: 40em; }
.contact-type-edit-title{ display: block; width: 100%; text-align: center; white-space: nowrap; }
.contact-type-edit-title{ font-size: 1.75em; padding: .5em; font-weight: bold; }
.contact-type-edit-title{ position: relative; box-shadow: 0px 0px 3px #aaa; }
.contact-type-edit-rows{ padding: 2em; width: 100%; }
.contact-type-edit-row{ margin-bottom: 1em; }
.contact-type-edit-row:last-child{ margin-bottom: 0em; }
.contact-type-edit-tabs{ width: 100%; flex-grow: 1; overflow: hidden; padding: 1em; background: #dcdcdc; }
.contact-type-edit-tabs{ display: flex; flex-direction: column; }
.contact-type-edit-tab-buttons{ display: flex; align-items: center; background: #dcdcdc; }
.contact-type-edit-tab-button{ padding: .5em 1em; margin-right: .5em; cursor: pointer; background: #fff; }
.contact-type-edit-tab-button:last-child{ margin-right: 0em; }
.contact-type-edit-tab-views{ flex-grow: 1; overflow-y: auto; background: #fff; }
.contact-type-edit-help{ display: block; font-style: italic; margin-top: .5em; }
.contact-type-edit-label{ display: block; white-space: nowrap; margin-bottom: .5em; font-weight: bold; }
.contact-type-edit-submit{ text-align: right; width: 100%; padding: .5em; position: relative; box-shadow: 0px 0px 3px #aaa; }

.contact-type-edit-code-input{ width: 100%; text-transform: uppercase; background: #ececec; }
.contact-type-edit-name-input{ width: 100%; }
.contact-type-edit-type-list{ padding: .75em; background: #ececec; }
.contact-type-edit-type-item{ display: flex; align-items: center; padding: .5em; margin-bottom: .75em; }
.contact-type-edit-type-item{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-type-edit-type-item:last-child{ margin-bottom: 0em; }
.contact-type-edit-type-item[checked]{ background: #f0ffe3; }
.contact-type-edit-type-item:focus{ background: #000; color: #fff; }
.contact-type-edit-type-icon{ height: 1.5em; width: 1.5em; margin-right: .75em; }
.contact-type-edit-type-icon{ background-repeat: no-repeat; background-position: center center; background-size: contain; }

.contact-type-edit-option{ display: flex; align-items: center; padding: .5em; background: #ececec; }
.contact-type-edit-option-check{ display: block; margin-right: .5em; }
.contact-type-edit-option-text{ display: block; }

/* Dialog */

.contact-type-edit-dialog-window{ width: 40em; }
.contact-type-edit-dialog .contact-type-edit-title{ display: none; }
.contact-type-edit-dialog .contact-type-edit-view{ padding: 0em; height: 35em; }
.contact-type-edit-dialog .contact-type-edit-tabs{ padding: 0em; }
.contact-type-edit-dialog .contact-type-edit-tab-buttons{ padding: .5em .5em 0em .5em; }

@media (max-width: 1100px){
	.contact-type-edit-dialog .contact-type-edit-view{ height: auto; height: calc(100vh - 5em); }
}

/**
 * Action: kontakt.tag/list
 **/

.contact-tag-list-view{ height: 100%; width: 100%; overflow: hidden; display: flex; flex-direction: column; }
.contact-tag-list-top{ position: relative; }
.contact-tag-list-view .off{ display: none; }

.contact-tag-list-title{ text-align: center; position: relative; z-index: 2; font-size: 1.75em; padding: .5em; }
.contact-tag-list-title{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.contact-tag-list-filters{ display: flex; align-items: center; justify-content: center; padding: .75em; }
.contact-tag-list-filters{ position: relative; z-index: 1; }
.contact-tag-list-filters{ background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-tag-list-filters>*{ margin-right: 1em; position: relative; }
.contact-tag-list-filters>*:last-child{ margin-right: 0em; }

.contact-tag-list-body{ flex-grow: 1; overflow: hidden; display: flex; flex-direction: column; }
.contact-tag-list-head{ padding: 0em calc(.5em + 8px) 0em .5em; border: 1px solid #dcdcdc; background: #fff; }
.contact-tag-list-rows{ flex-grow: 1; overflow-y: scroll; background: #ececec; padding: .5em; }
.contact-tag-list-row{ display: table; table-layout: fixed; width: 100%; }
.contact-tag-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.contact-tag-list-brow:last-child{ margin-bottom: 0em; }
.contact-tag-list-brow:hover, .contact-tag-list-brow:focus{ outline: 3px solid #aaa; }
.contact-tag-list-brow[checked]{ background: #f0ffe3; outline: 3px solid #779b59; }
.contact-tag-list-td{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-tag-list-td{ line-height: 1.125em; padding: .5em 1em; border-right: 1px dotted #dcdcdc; }
.contact-tag-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-tag-list-td:last-child{ border-right: none; }
.contact-tag-list-th{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-tag-list-th{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-tag-list-th{ text-align: center; font-weight: bold; }
.contact-tag-list-icon{ display: inline-block; vertical-align: middle; margin-right: .5em; cursor: pointer; }
.contact-tag-list-icon{ height: 1.75em; width: 1.75em; }
.contact-tag-list-icon:last-child{ margin-right: 0em; }

.contact-tag-list-search-input{ display: inline-block; vertical-align: middle; padding-right: 2.5em; width: 12em; }
.contact-tag-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }
.contact-tag-list-search-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-tag-list-type-icon{ width: 2.5em; transition: all .05s; position: relative; background-color: #e13500; border: none; }
.contact-tag-list-type-icon{ background-repeat: no-repeat; background-size: 1.5em 1.5em; background-position: center center; }

.contact-tag-list-col-check{ width: 3em; }
.contact-tag-list-td-check{ text-align: center; }
.contact-tag-list-name{ font-weight: bold; }
.contact-tag-list-code{ font-size: .75em; color: #666; }
.contact-tag-list-col-icons{ width: 7em; }
.contact-tag-list-td-icons{ text-align: center; }

/* Dialog */

.contact-tag-list-dialog-window{ width: 35em; }
.contact-tag-list-dialog-body{ height: 30em; }
.contact-tag-list-dialog .contact-tag-list-title{ display: none; }

/**
 * Action: kontakt.tag/edit
 **/

.contact-tag-edit-view{ height: 100%; width: 100%; display: flex; flex-direction: column; }
.contact-tag-edit-title{ display: block; width: 100%; text-align: center; font-size: 1.75em; padding: .5em; }
.contact-tag-edit-title{ position: relative; z-index: 1; box-shadow: 0px 0px 3px #aaa; background: #fff; }
.contact-tag-edit-body{ flex-grow: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.contact-tag-edit-body{ padding: 2em; background: #ececec; }
.contact-tag-edit-rows{ padding: 2em; min-width: 40em; background: #fff; }
.contact-tag-edit-row{ margin-bottom: 1em; }
.contact-tag-edit-row:last-child{ margin-bottom: 0em; }
.contact-tag-edit-help{ display: block; font-style: italic; margin-top: .5em; }
.contact-tag-edit-label{ display: block; white-space: nowrap; margin-bottom: .5em; font-weight: bold; }
.contact-tag-edit-code-input{ width: 100%; text-transform: uppercase; background: #ececec; }
.contact-tag-edit-name-input{ width: 100%; }
.contact-tag-edit-type-list{ padding: .75em; background: #ececec; }
.contact-tag-edit-type-item{ display: flex; align-items: center; padding: .5em; margin-bottom: .75em; }
.contact-tag-edit-type-item{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-tag-edit-type-item:last-child{ margin-bottom: 0em; }
.contact-tag-edit-type-item[checked]{ background: #f0ffe3; }
.contact-tag-edit-type-item:focus{ background: #000; color: #fff; }
.contact-tag-edit-type-icon{ height: 1.5em; width: 1.5em; margin-right: .75em; }
.contact-tag-edit-type-icon{ background-repeat: no-repeat; background-position: center center; background-size: contain; }
.contact-tag-edit-submit{ display: flex; align-items: center; justify-content: center; padding: .75em; }
.contact-tag-edit-submit{ position: relative; z-index: 1; box-shadow: 0px 0px 3px #aaa; background: #fff; }

@media (max-width: 1100px){
	.contact-tag-edit-rows{ min-width: auto; width: 100%; }
}

/* Dialog */

.contact-tag-edit-dialog .contact-tag-edit-title{ display: none; }
.contact-tag-edit-dialog .contact-tag-edit-body{ padding: 1em; }
.contact-tag-edit-dialog .contact-tag-edit-rows{ padding: 1em; min-width: auto; width: 100%; }
.contact-tag-edit-dialog-window{ width: 30em; }

/**
 * Action: kontakt.qualifier/list
 **/

.contact-qualifier-list-view{ height: 100%; width: 100%; display: flex; flex-direction: column; overflow: hidden; }
.contact-qualifier-list-top{ position: relative; }

.contact-qualifier-list-title{ padding: .5em; text-align: center; position: relative; z-index: 2; font-size: 1.75em; }
.contact-qualifier-list-title{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.contact-qualifier-list-filters{ display: flex; align-items: center; justify-content: center; padding: .75em; }
.contact-qualifier-list-filters{ position: relative; z-index: 1; background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-qualifier-list-filters>*{ margin-right: 1em; position: relative; }
.contact-qualifier-list-filters>*:last-child{ margin-right: 0em; }

.contact-qualifier-list-body{ flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }
.contact-qualifier-list-head{ padding: 0em calc(.5em + 8px) 0em .5em; border: 1px solid #dcdcdc; background: #fff; }
.contact-qualifier-list-rows{ flex-grow: 1; overflow-y: scroll; background: #ececec; padding: .5em; }
.contact-qualifier-list-row{ display: table; table-layout: fixed; width: 100%; }
.contact-qualifier-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.contact-qualifier-list-brow:last-child{ margin-bottom: 0em; }
.contact-qualifier-list-brow:hover, .contact-qualifier-list-brow:focus{ outline: 3px solid #aaa; }
.contact-qualifier-list-brow[checked]{ background: #f0ffe3; outline: 3px solid #779b59; }
.contact-qualifier-list-td{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-qualifier-list-td{ line-height: 1.125em; padding: .5em 1em; border-right: 1px dotted #dcdcdc; }
.contact-qualifier-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-qualifier-list-td:last-child{ border-right: none; }
.contact-qualifier-list-th{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-qualifier-list-th{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-qualifier-list-th{ text-align: center; font-weight: bold; }
.contact-qualifier-list-icon{ display: inline-block; vertical-align: middle; margin-right: .5em; cursor: pointer; }
.contact-qualifier-list-icon{ height: 1.75em; width: 1.75em; }
.contact-qualifier-list-icon:last-child{ margin-right: 0em; }

.contact-qualifier-list-search-input{ display: inline-block; vertical-align: middle; padding-right: 2.5em; width: 12em; }
.contact-qualifier-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }
.contact-qualifier-list-search-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-qualifier-list-type-icon{ width: 2.5em; transition: all .05s; position: relative; background-color: #e13500; border: none; }
.contact-qualifier-list-type-icon{ background-repeat: no-repeat; background-size: 1.5em 1.5em; background-position: center center; }

.contact-qualifier-list-col-check{ width: 3em; }
.contact-qualifier-list-td-check{ text-align: center; }
.contact-qualifier-list-name{ font-weight: bold; }
.contact-qualifier-list-code{ font-size: .75em; color: #666; }
.contact-qualifier-list-col-icons{ width: 7em; }
.contact-qualifier-list-td-icons{ text-align: center; }

/* Dialog */

.contact-qualifier-list-dialog-window{ width: 35em; }
.contact-qualifier-list-dialog-body{ height: 30em; }
.contact-qualifier-list-dialog .contact-qualifier-list-title{ display: none; }

/**
 * Action: kontakt.qualifier/edit
 **/

.contact-qualifier-edit-view{ height: 100%; width: 100%; display: flex; flex-direction: column; }
.contact-qualifier-edit-title{ text-align: center; font-size: 1.75em; padding: .5em; position: relative; z-index: 1; }
.contact-qualifier-edit-title{ box-shadow: 0px 0px 3px #aaa; background: #fff; }
.contact-qualifier-edit-body{ flex-grow: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.contact-qualifier-edit-body{ padding: 2em; background: #ececec; }
.contact-qualifier-edit-rows{ padding: 2em; min-width: 40em; background: #fff; }
.contact-qualifier-edit-row{ margin-bottom: 1em; }
.contact-qualifier-edit-row:last-child{ margin-bottom: 0em; }
.contact-qualifier-edit-help{ display: block; font-style: italic; margin-top: .5em; }
.contact-qualifier-edit-label{ display: block; white-space: nowrap; margin-bottom: .5em; font-weight: bold; }
.contact-qualifier-edit-code-input{ width: 100%; text-transform: uppercase; background: #ececec; }
.contact-qualifier-edit-name-input{ width: 100%; }
.contact-qualifier-edit-type-list{ padding: .75em; background: #ececec; }
.contact-qualifier-edit-type-item{ display: flex; align-items: center; padding: .5em; margin-bottom: .75em; }
.contact-qualifier-edit-type-item{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-qualifier-edit-type-item:last-child{ margin-bottom: 0em; }
.contact-qualifier-edit-type-item[checked]{ background: #f0ffe3; }
.contact-qualifier-edit-type-item:focus{ background: #000; color: #fff; }
.contact-qualifier-edit-type-icon{ height: 1.5em; width: 1.5em; margin-right: .75em; }
.contact-qualifier-edit-type-icon{ background-repeat: no-repeat; background-position: center center; background-size: contain; }
.contact-qualifier-edit-submit{ display: flex; align-items: center; justify-content: center; padding: .75em; }
.contact-qualifier-edit-submit{ position: relative; z-index: 1; background: #fff; box-shadow: 0px 0px 3px #aaa; }

@media (max-width: 1100px){
	.contact-qualifier-edit-rows{ min-width: auto; width: 100%; }
}

/* Dialog */

.contact-qualifier-edit-dialog .contact-qualifier-edit-title{ display: none; }
.contact-qualifier-edit-dialog .contact-qualifier-edit-body{ padding: 1em; }
.contact-qualifier-edit-dialog .contact-qualifier-edit-rows{ padding: 1em; min-width: auto; width: 100%; }
.contact-qualifier-edit-dialog-window{ width: 30em; }

/**
 * Action: kontakt.transition/list
 **/

.contact-transition-list-view{ height: 100%; width: 100%; display: flex; flex-direction: column; overflow: hidden; }

.contact-transition-list-title{ text-align: center; position: relative; z-index: 2; font-size: 1.75em; }
.contact-transition-list-title{ padding: .5em; background: #fff; box-shadow: 0px 0px 3px #aaa; }

.contact-transition-list-filters{ display: flex; align-items: center; justify-content: center; padding: .75em; }
.contact-transition-list-filters{  background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.contact-transition-list-filters>*{ margin-right: 1em; position: relative; }
.contact-transition-list-filters>*:last-child{ margin-right: 0em; }

.contact-transition-list-body{ flex-grow: 1; overflow: hidden; display: flex; flex-direction: column; }
.contact-transition-list-head{ padding: 0em calc(.5em + 8px) 0em .5em; border: 1px solid #dcdcdc; background: #fff; }
.contact-transition-list-rows{ flex-grow: 1; overflow-y: scroll; background: #ececec; padding: .5em; }
.contact-transition-list-row{ display: table; table-layout: fixed; width: 100%; }
.contact-transition-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.contact-transition-list-brow:last-child{ margin-bottom: 0em; }
.contact-transition-list-brow:hover, .contact-transition-list-brow:focus{ outline: 3px solid #aaa; }
.contact-transition-list-td{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-transition-list-td{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-transition-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-transition-list-td:last-child{ border-right: none; }
.contact-transition-list-th{ display: table-cell; vertical-align: middle; text-align: left; }
.contact-transition-list-th{ line-height: 1.125em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.contact-transition-list-th{ text-align: center; font-weight: bold; }
.contact-transition-list-icon{ display: inline-block; vertical-align: middle; margin-right: .5em; cursor: pointer; }
.contact-transition-list-icon{ height: 1.5em; width: 1.5em; }
.contact-transition-list-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.contact-transition-list-icon:last-child{ margin-right: 0em; }

.contact-transition-list-search-label{ margin-right: .5em; }
.contact-transition-list-search-input{ display: inline-block; vertical-align: middle; padding-right: 2.5em; width: 12em; }
.contact-transition-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }
.contact-transition-list-search-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }

.contact-transition-list-col-icons{ width: 4em; }
.contact-transition-list-td-icons{ text-align: center; }

@media (max-width: 1100px){
	.contact-transition-list-search-label{ display: none; }
}

/* Dialog */

.contact-transition-list-dialog-window{ width: 35em; }
.contact-transition-list-dialog-body{ height: 30em; }
.contact-transition-list-dialog .contact-transition-list-title{ display: none; }

/**
 * Action: kontakt.transition/edit
 **/

.contact-transition-edit-view{ height: 100%; width: 100%; display: flex; flex-direction: column; overflow: hidden; }
.contact-transition-edit-view .off{ display: none; }
.contact-transition-edit-title{ font-size: 1.75em; padding: .5em; text-align: center; }
.contact-transition-edit-title{ position: relative; z-index: 1; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.contact-transition-edit-body{ flex-grow: 1; overflow-y: auto; padding: 2em; background: #ececec; }
.contact-transition-edit-body{ display: flex; align-items: center; justify-content: center; }
.contact-transition-edit-rows{ min-width: 40em; padding: 2em; background: #fff; }
.contact-transition-edit-row{ margin-bottom: 1em; }
.contact-transition-edit-label{ display: block; white-space: nowrap; margin-bottom: .25em; }
.contact-transition-edit-label>*{ display: inline-block; vertical-align: middle; margin-right: .5em; }
.contact-transition-edit-type-input{ display: inline-block; vertical-align: middle; width: 9em; margin-right: 1em; }
.contact-transition-edit-subtype-input{ display: inline-block; vertical-align: middle; width: calc(100% - 10em); }
.contact-transition-edit-hierarchic-inputs{ padding: .5em; border: 1px dashed #dcdcdc; }
.contact-transition-edit-hierarchic-input{ display: inline-flex; vertical-align: middle; align-items: center; margin-right: .5em; }
.contact-transition-edit-hierarchic-input:last-child{ margin-right: 0em; }
.contact-transition-edit-hierarchic-radio{ margin-right: .5em; }
.contact-transition-edit-qualifier-input{ width: 100%; }
.contact-transition-edit-value-input{ width: 100%; font-weight: bold; text-align: center; }
.contact-transition-edit-submit{ display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; }
.contact-transition-edit-submit{ padding: .75em; background: #fff; box-shadow: 0px 0px 3px #aaa; }

@media (max-width: 1100px){
	.contact-transition-edit-rows{ min-width: auto; width: 100%; }
}

/* Dialog */

.contact-transition-edit-dialog .contact-transition-edit-title{ display: none; }
.contact-transition-edit-dialog .contact-transition-edit-body{ padding: 1em; }
.contact-transition-edit-dialog .contact-transition-edit-rows{ padding: 1em; min-width: auto; width: 100%; }
.contact-transition-edit-dialog-window{ width: 35em; }