/* 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 {
    -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,
.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-certificate-button {
    margin-top: 8px;
    margin-left: 0;
}

.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;
}
