/* Copyright (c) 2015 The Chromium Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

.security-main-view {
    -webkit-user-select: text;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: var(--toolbar-bg-color);
}

.security-main-view > div {
    flex-shrink: 0;
}

.security-summary-section-title {
    font-size: 15px;
    margin: 12px 16px;
}

.lock-spectrum {
    margin: 8px 16px;
    display: flex;
    align-items: flex-start;
}

.security-summary .lock-icon {
    flex: none;
    width: 16px;
    height: 16px;
    margin: 0 0;
}

/* Separate the middle icon from the other two. */
.security-summary .lock-icon-neutral {
    margin: 0 16px;
}

.security-summary:not(.security-summary-secure) .lock-icon-secure,
.security-summary:not(.security-summary-neutral) .lock-icon-neutral,
.security-summary:not(.security-summary-insecure) .lock-icon-insecure {
    background-color: rgba(90, 90, 90, 0.25);
}

.triangle-pointer-container {
    margin: 8px 24px 0;
    padding: 0 0;
}

.triangle-pointer-wrapper {
    /* Defaults for dynamic properties. */
    transform: translateX(0);
    transition: transform 0.3s;
}

.triangle-pointer {
    width: 12px;
    height: 12px;
    margin-bottom: -6px;
    margin-left: -6px;
    transform: rotate(-45deg);
    border-style: solid;
    border-width: 1px 1px 0 0;

    background: #fff;
    border-color: rgb(217, 217, 217);
}

.security-summary-secure .triangle-pointer-wrapper {
    transform: translateX(0px);
}

.security-summary-neutral .triangle-pointer-wrapper {
    transform: translateX(32px);
}

.security-summary-insecure .triangle-pointer-wrapper {
    transform: translateX(64px);
}

.security-summary-text {
    padding: 16px 24px;
    border-style: solid;
    border-width: 1px 0;
    font-size: 15px;

    background: #fff;
    border-color: rgb(217, 217, 217);
    color: rgba(0, 0, 0, 36);
}

.security-summary-secure .triangle-pointer,
.security-summary-secure .security-summary-text,
.security-explanation-title-secure {
    color: #0b8043;
}

.security-summary-neutral .triangle-pointer,
.security-summary-neutral .security-summary-text {
    color: rgb(253, 177, 48);
}

.security-summary-insecure .triangle-pointer,
.security-summary-insecure .security-summary-text,
.security-explanation-title-neutral,
.security-explanation-title-insecure {
    color: #cb3626;
}

.security-explanation-list {
    padding-bottom: 16px;
}

.security-explanation-list:empty {
    border-bottom: none;
    padding: 0px;
}

.security-explanations-main {
    margin-top: -5px;
    background-color: #fff;
    border-bottom: 1px solid rgb(230, 230, 230);
}

.security-explanations-extra {
    background-color: transparent;
}

.security-explanation {
    padding: 11px;
    display: flex;
    white-space: nowrap;
    border: none;
    color: #8c8c8c;
}

.security-explanation-text {
    flex: auto;
    white-space: normal;
    max-width: 400px;
}

.security-certificate-button {
    margin-top: 8px;
}

.security-explanation .security-property {
    flex: none;
    width: 16px;
    height: 16px;
    margin-right: 16px;
}

.security-explanation-title {
    color: rgb(90, 90, 90);
    margin-top: 1px;
    margin-bottom: 8px;
}

.security-explanation-neutral .security-section-title,
.security-explanation-warning .security-section-title
{
    color: #cb3626;
    font-weight: bold;
}
.security-explanation-insecure .security-section-title
{
    color: rgb(216, 71, 60);
    font-weight: bold;
}

.security-mixed-content {
    margin-top: 8px;
}
