/* 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.
 */

.devtools-link {
  display: inline-block;
}

.security-main-view {
    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,
.security-summary:not(.security-summary-insecure-broken) .lock-icon-insecure-broken {
    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-insecure-broken .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);
}

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

.security-summary-insecure-broken .triangle-pointer,
.security-summary-insecure-broken .security-summary-text,
.security-explanation-title-neutral,
.security-explanation-title-insecure,
.security-explanation-title-insecure-broken {
    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: rgb(90, 90, 90);
}

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

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

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

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

.security-explanation-recommendations {
    padding-inline-start: 16px;
}

.security-explanation-recommendations > li {
    margin-bottom: 4px;
}
