:root {
    --main-bg-color: #FFFFFF;
    --main-font-color: #73879C;
    --main-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.1);
    --aux-bg-color: #EEEEEE;
    --aux-font-color: #888888;
    --pop-box-border: 1px solid rgba(90, 115, 142, 0.2);
    --pop-box-hover: rgba(90, 115, 142, 0.2);
    --table-bg-color: #F9F9FB;
    --title-font-size: 22px;
    --title-font-weight: 500;
    --title-letter-spacing: 1.2px;
    --subtitle-font-size: 14px;
    --subtitle-font-weight: 400;
    --subtitle-border: 1px solid #DDDDDD;
    --header-action-font-color: #5A738E;
    --header-action-font-size: 12px;
    --header-action-font-weight: 300;
    --kpi-big-font-size: 32px;
    --kpi-big-font-weight: 400;
    --kpi-big-letter-spacing: 0.8px;
    --kpi-small-font-size: 10px;
    --kpi-small-font-weight: 100;
    --kpi-small-letter-spacing: 0.1px;
}

.iplocator-about-logo {
    width: 128px;
    float: right;
    margin: -20px 8px 8px 20px;
    transition: opacity 1.4s ease-in;
}

#iplocator_test_ip_flag{
    width:120px;
    float:left;
    padding-right:16px;
}

#iplocator_test_ip_maintext {
    display: inline-grid;
}

#iplocator_test_ip_country{
    font-size: xx-large;
    white-space: nowrap;
    line-height: 1.2em;
    text-align: center;
}

#iplocator_test_ip_language{
    font-size: x-large;
    white-space: nowrap;
    line-height: 1.8em;
    width: 100%;
    text-align: center;
}

#iplocator_test_ip_language em{
    font-family: dashicons,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
}

#iplocator_test_ip_language:before {
    vertical-align: middle;
    margin-left: 6px;
}


.iplocator_test_ip_container {
    padding: 8px;
}

#iplocator_test_ip_cdescriber {
    display: flex;
    justify-content: center;
}

#iplocator_test_ip_describer {
    padding: 20px 20px 16px 20px;
    background-color: #FFF;
    width: max-content;
    margin-top: 40px;
    border-radius: 4px;
    border: 1px solid #DDD;
}

#iplocator_test_ip_action {
    margin: 8px;
    width: 160px;
}

#iplocator_test_ip_value {
    width: 78%;
    margin: 8px;
}

@media only screen and (max-width: 780px) {
    #iplocator_test_ip_value {
        width: 98%;
    }
}

.markdown ul{
    list-style: disc;
    margin-left: 20px;
}

.markdown h3 {
    margin: 40px 0 0 0;
}

.markdown blockquote {
    border-left: 4px solid rgba(0,0,0,.07);
    padding-left: 10px;
    margin-left: 20px;
}

.markdown blockquote p,
.markdown blockquote code {
    font-size: smaller !important;
}

.markdown pre code {
    display: block;
    padding: 14px;
    border-radius: 4px;
    padding-left: 36px;
}

.markdown code.language-console {
    background-color: #23282d;
    color:#AAAAAA;
}

.markdown code.language-bash {
    background-color: #23282d;
    color:#AAAAAA;
    padding-left: 36px;
}

@media (min-width: 783px) {
    .widefat.fixed.scripts .column-hit{
        width: 10%;
    }

    .widefat.fixed.scripts .column-memory{
        width: 15%;
    }

    .widefat.fixed.scripts .column-timestamp,
    .widefat.fixed.scripts .column-used{
        width: 20%;
    }

    .widefat.fixed.scripts .column-script{
        width: 50%;
    }
}

.iplocator-row {
    margin-bottom: 10px;
    width: 100%;
}

.last-row {
    margin-top: -8px;
}

.iplocator-box-full-line {
    display: inline-block;
    padding: 8px;
    background-color: var(--main-bg-color);
    border-radius: 2px;
    box-shadow: var(--main-box-shadow);
}

.iplocator-box-50-50-line {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    padding: 8px;
    margin-bottom: -8px;
}

.iplocator-50-module-left {
    flex-grow: 1;
    flex-shrink: 1;
    background-color: var(--main-bg-color);
    border-radius: 2px;
    box-shadow: var(--main-box-shadow);
    margin-left: -8px;
    margin-top: -8px;
    margin-right: 10px;
    padding: 8px;
    height:290px;
    width: 47.5%;
}

.iplocator-50-module-right {
    flex-grow: 1;
    flex-shrink: 1;
    background-color: var(--main-bg-color);
    border-radius: 2px;
    box-shadow: var(--main-box-shadow);
    margin-left: 0px;
    margin-top: -8px;
    margin-right: -8px;
    padding: 8px;
    height:290px;
    width: 47.5%;
}

.iplocator-box-60-40-line {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    padding: 8px;
    margin-bottom: -8px;
}

.iplocator-40-module {
    flex-grow: 2;
    flex-shrink: 2;
    background-color: var(--main-bg-color);
    border-radius: 2px;
    box-shadow: var(--main-box-shadow);
    margin-right: -8px;
    margin-top: -8px;
    padding: 8px;
    width: 38%;
}

.iplocator-60-module {
    flex-grow: 3;
    flex-shrink: 3;
    background-color: var(--main-bg-color);
    border-radius: 2px;
    box-shadow: var(--main-box-shadow);
    margin-left: -8px;
    margin-top: -8px;
    margin-right: 10px;
    padding: 8px;
    height:400px;
    width: 58%;
}

.iplocator-box-33-33-33-line {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    padding: 8px 8px 0 8px;
}

.iplocator-33-module {
    background-color: var(--main-bg-color);
    border-radius: 2px;
    box-shadow: var(--main-box-shadow);
    margin-top: -8px;
    padding: 8px;
    width: 31%;
}

.iplocator-33-left-module {
    flex-grow: 1;
    margin-left: -8px;
    margin-right: 10px;
}

.iplocator-33-center-module {
    flex-grow: 1;
    margin-left: 0px;
    margin-right: 0px;
}

.iplocator-33-right-module {
    flex-grow: 1;
    margin-left: 10px;
    margin-right: -8px;
}

.iplocator-box-25-25-25-25-line {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    padding: 8px;
}

.iplocator-25-module {
    background-color: var(--main-bg-color);
    border-radius: 2px;
    box-shadow: var(--main-box-shadow);
    margin-top: -8px;
    padding: 8px;
    width: 22.5%;
}

.iplocator-25-left-module {
    flex-grow: 1;
    margin-left: -8px;
    margin-right: 10px;
}

.iplocator-25-center-left-module {
    flex-grow: 1;
    margin-left: 0px;
    margin-right: 10px;
}

.iplocator-25-center-right-module {
    flex-grow: 1;
    margin-left: 0px;
    margin-right: 0px;
}

.iplocator-25-right-module {
    flex-grow: 1;
    margin-left: 10px;
    margin-right: -8px;
}

.iplocator-multichart-handler {
    display: block;
    height: 300px;
}

.iplocator-multichart-item {
    position: absolute;
    height: 200px;
    visibility:hidden;
    opacity:0;
    width: 94%;
    left: 2.4%;
}

.iplocator-multichart-item svg {
    overflow: visible;
}

.iplocator-multichart-item.active {
    visibility:visible;
    opacity:1;
    transition:visibility 0.6s linear,opacity 0.6s linear;
}

.iplocator-module-title-bar {
    border-bottom: var(--subtitle-border);
    margin-left: 6px;
    margin-right: 6px;
    padding-bottom: 6px;
}

.iplocator-module-title {
    margin-left: 2px;
    font-size: var(--subtitle-font-size);
    font-weight: var(--subtitle-font-weight);
    color: var(--main-font-color);
}

.iplocator-module-more {
    margin-right: 2px;
    float: right;
}

.iplocator-module-more a:focus{
    color: transparent;
    box-shadow: none;
    outline: none;
}

.iplocator-chart-button {
    cursor: pointer;
}

.iplocator-chart-button.not-ready {
    filter: opacity(30%);
    pointer-events: none;
}

.iplocator-chart-button img {
    padding: 3px;
    background-color: transparent;
    top: -2px;
    border-radius: 2px;
}

.iplocator-chart-button.active {
    cursor: default;
}

.iplocator-chart-button.active img{
    background-color: #CCCCCC;
    filter: opacity(50%) grayscale(100%);
    transition: all 0.6s linear ;
}

.iplocator-module-content {
    padding: 8px;
}

.iplocator-kpi-bar {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}

.iplocator-home {
    vertical-align: text-bottom;
}

.iplocator-title {
    font-size: var(--title-font-size);
    font-weight: var(--title-font-weight);
    letter-spacing: var(--title-letter-spacing);
    color: var(--main-font-color);
    padding: 2px 8px;
    vertical-align: text-bottom;
}

.iplocator-subtitle {
    font-size: var(--subtitle-font-size);
    font-weight: var(--subtitle-font-weight);
    color: var(--aux-font-color);
    vertical-align: middle;
}

.iplocator-site {
    font-size: var(--subtitle-font-size);
    font-weight: var(--subtitle-font-weight);
    vertical-align: baseline;
}

.iplocator-site-text {
    background-color: var(--main-font-color);
    color: var(--main-bg-color);
    border-radius: 2px;
    padding: 3px 14px;
}

.iplocator-site-button {
    background-color: var(--main-font-color);
    color: var(--main-bg-color);
    border-radius: 2px;
    padding: 3px 4px 3px 14px;
}

.iplocator-site-button img {
    display: inline-block;
    width: 12px;
    vertical-align: text-top;
    margin-left: 6px;
}

.iplocator-datepicker {
    margin-right: 8px;
    float: right;
    cursor: pointer;
    vertical-align: text-bottom;
    color: var(--header-action-font-color);
    font-size: var(--header-action-font-size);
}

.iplocator-datepicker-value {
    vertical-align: text-top;
}

.iplocator-switch {
    margin-right: 16px;
    float: right;
    cursor: pointer;
    vertical-align: text-bottom;
    color: var(--header-action-font-color);
    font-size: var(--header-action-font-size);
}

.iplocator-switch span {
    vertical-align: middle;
}

.iplocator-text-inbound-switch,
.iplocator-text-outbound-switch {
    cursor: default;
}

.iplocator-kpi-bar {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}

.iplocator-kpi-large {
    flex-grow: 1;
    position: relative;
    text-align: center;
}

.iplocator-kpi-large:before {
    content: "";
    position: absolute;
    left: -1px;
    top: 15%;
    height: 70%;
    vertical-align: middle;
    border-left: 2px solid var(--main-font-color);
    box-sizing: border-box;
}

.iplocator-kpi-large-top-text {
    font-size: 12px;
    vertical-align: bottom;
    color: var(--main-font-color);
}

.iplocator-kpi-large-bottom-text {
    font-size: 10px;
    vertical-align: bottom;
    color: var(--main-font-color);
}

.iplocator-kpi-large-top {
    padding: 4px;
}

.iplocator-kpi-large-middle {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 4px;
    margin-top: 8px;
}

.iplocator-kpi-large-bottom {
    padding: 4px;
}

.iplocator-kpi-large-middle-left {
    color: var(--main-font-color);
    font-size: var(--kpi-big-font-size);
    font-weight: var(--kpi-big-font-weight);
    letter-spacing: var(--kpi-big-letter-spacing);
}

.iplocator-kpi-large-middle-right {
    color: var(--main-font-color);
    font-size: var(--kpi-small-font-size);
    font-weight: var(--kpi-small-font-weight);
    letter-spacing: var(--kpi-small-letter-spacing);
    padding-left: 4px;
    top: -5px;
    position: relative;
}

.iplocator-top-line {
    margin-bottom: -8px;
}

.iplocator-top-line-title {
    color: var(--aux-font-color);
}

.iplocator-top-line-content {
    margin-bottom: 16px;
    margin-top: -2px;
}

.iplocator-top-line-title-text {
    vertical-align: baseline;
}

.iplocator-top-line-title-text a {
    text-decoration: none;
    color: var(--aux-font-color);
}

.iplocator-list-text {
    vertical-align: baseline;
}

.iplocator-list-text a {
    text-decoration: none;
    color: var(--main-font-color);
}

.iplocator-bar-graph {
    display: inline-block;
    width: 87%;
    height: 6px;
    border-radius: 2px;
    background-color: var(--aux-bg-color);
}

.iplocator-bar-graph-value {
    height: 6px;
    border-radius: 2px;
    background-color: var(--main-font-color);
}

.iplocator-bar-detail {
    float: right;
    display: inline-block;
    color: var(--main-font-color);
    font-size: var(--subtitle-font-size);
    font-weight: var(--subtitle-font-weight);
    margin-top: -8px;
}

.ct-labels foreignObject:first-child {
    display: none;
}

#iplocator-chart-memory .ct-labels foreignObject:first-child,
#iplocator-chart-buf .ct-labels foreignObject:first-child,
#iplocator-chart-key .ct-labels foreignObject:first-child{
    display: block !important;
}

.ct-labels .ct-horizontal {
    transform: translateX(-32px);
}

.ct-labels .ct-vertical {
    transform: translateX(-6px) translateY(6px);
}

.iplocator-minor-data {
    opacity: 0.4;
}

.iplocator-table {
    width:100%;
    border-spacing: 0px;
}

.iplocator-table th {
    display: none;
    font-size: var(--header-action-font-size);
    color: var(--aux-font-color);
    font-weight: var(--header-action-font-weight);
    text-align: left;
}
.iplocator-table td {
    color: var(--main-font-color);
}

.iplocator-table tr:nth-child(even) {
    background: var(--table-bg-color);
}

.iplocator-table-text a {
    text-decoration: none;
    color: var(--aux-font-color);
}

.iplocator-table small {
    font-size: xx-small;
}

.iplocator-pie-box {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: center;
}

.iplocator-pie-graph {
    flex-grow: 1;
    margin-right: 10%;
}

.iplocator-pie-legend {
    flex-grow: 1;
    float: left;
    margin-left: 10%;
}

.iplocator-pie-graph-handler-120 {
    width: 120px;
    height: 120px;
    float:right;
}

.iplocator-pie-graph-handler-220 {
    width: 220px;
    height: 220px;
    float:right;
    padding-top: 60px;
}

.iplocator-pie-graph-handler-100 {
    width: 100px;
    height: 100px;
    float:right;
}

.iplocator-pie-graph-nodata-handler-120 {
    width: 100%;
    height: 120px;
    text-align:center;
    color: #73879C;
    font-style: italic;
}

.iplocator-pie-graph-nodata-handler-220 {
    width: 100%;
    height: 220px;
    text-align:center;
    color: #73879C;
    font-style: italic;
}

.iplocator-pie-graph-nodata-handler-100 {
    width: 100%;
    height: 100px;
    text-align:center;
    color: #73879C;
    font-style: italic;
}

.iplocator-pie-legend-item {
    display: flex;
    color: var(--aux-font-color);
}

.iplocator-map-handler {
    vertical-align: middle;
    text-align: center;
    height: 354px;
    width: 100%;
    display: inline-block;
}

button.btn {
    color: var(--main-bg-color);
    background-color: var(--header-action-font-color);
    border: none;
    border-radius: 2px;
}

@media only screen and (max-width: 300px) {
    .iplocator-bar-graph {
        width: 75%;
    }
}

@media only screen and (min-width: 501px) {
    .iplocator-table th {
        display: table-cell;
        padding: .25em 1em;
    }

    .iplocator-table td {
        display: table-cell;
        padding: .25em .5em;
    }
}

@media only screen and (max-width: 500px) {
    .iplocator-table td {
        display: block;
        padding: .25em .5em;
    }
    .iplocator-about-logo {
        width: 92px;
        margin: -16px 6px 6px 16px;
    }
    .iplocator-title,
    .iplocator-subtitle,
    .iplocator-switch {
        float: unset;
        display: block;
        padding: 2px 8px;
    }
    .iplocator-switch,
    .iplocator-datepicker {
        padding: 2px 8px;
    }
    .iplocator-site {
        float: right;
        margin-top: 3px;
    }
}

@media only screen and (min-width: 1101px) {
    .iplocator-kpi-large {
        width: 16.666%;
    }
    .iplocator-kpi-large:first-child:before {
        border: none;
    }
}

@media only screen and (min-width: 501px) and (max-width: 1100px) {
    .iplocator-kpi-large {
        width: 33.333%;
        margin-bottom: 14px;
    }
    .iplocator-kpi-large:nth-child(3n+1):before {
        border: none;
    }
}

@media only screen and (max-width: 500px) {
    .iplocator-kpi-large {
        width: 50%;
        margin-bottom: 14px;
    }
    .iplocator-kpi-large:nth-child(2n+1):before {
        border: none;
    }
    .iplocator-bar-graph {
        width: 80%;
    }
}

@media only screen and (max-width: 300px) {
    .iplocator-kpi-large {
        min-width: 100%;
        margin-bottom: 14px;
    }

    .iplocator-kpi-large:before {
        border: none;
    }

    .iplocator-kpi-large-middle {
        margin-top: 0px;
    }
    .iplocator-bar-graph {
        width: 70%;
    }
}

@media only screen and (max-width: 1100px) {
    .iplocator-40-module {
        margin-left: -8px;
        margin-top: 0px;
        width: 100%;
        height: auto;
    }
    .iplocator-60-module {
        margin-right: -8px;
        margin-bottom: 10px;
        width: 100%;
        height: auto;
    }
    .iplocator-50-module-left {
        margin-right: -8px;
        margin-bottom: 10px;
        width: 100%;
        height: auto;
    }
    .iplocator-50-module-right {
        margin-left: -8px;
        margin-top: 0px;
        height: auto;
    }
    .iplocator-33-module {
        margin-right: -8px;
        margin-bottom: 18px;
        margin-top: -8px;
        width: 100%;
    }
    .iplocator-33-right-module {
        margin-left: -8px;
        margin-bottom: 0;
    }
    .iplocator-33-center-module {
        margin-left: -8px;
    }
    .last-row {
        margin-top: -26px;
    }
    .iplocator-pie-graph-handler-220 {
        padding-top: unset;
    }
}

@media only screen and (max-width: 1400px) {
    .iplocator-25-left-module {
        margin-left: -8px;
        margin-right: 10px;
        margin-bottom: 10px;
        width: 47.5%;
    }
    .iplocator-25-center-left-module {
        margin-left: 0px;
        margin-right: -8px;
        margin-bottom: 10px;
        width: 47.5%;
    }
    .iplocator-25-center-right-module {
        margin-left: -8px;
        margin-right: 10px;
        margin-top: 0px;
        width: 47.5%;
    }
    .iplocator-25-right-module {
        margin-left: 0px;
        margin-right: -8px;
        margin-top: 0px;
        width: 47.5%;
    }
}

@media only screen and (max-width: 700px) {
    .iplocator-25-left-module {
        margin-left: -8px;
        margin-right: -8px;
        margin-bottom: 10px;
        width: 100%;
    }
    .iplocator-25-center-left-module {
        margin-left: -8px;
        margin-right: -8px;
        margin-top: 0px;
        margin-bottom: 10px;
        width: 100%;
    }
    .iplocator-25-center-right-module {
        margin-left: -8px;
        margin-right: -8px;
        margin-top: 0px;
        margin-bottom: 10px;
        width: 100%;
    }
    .iplocator-25-right-module {
        margin-left: -8px;
        margin-right: -8px;
        margin-top: 0px;
        margin-bottom: 10px;
        width: 100%;
    }
}

@media only screen and (min-width: 1801px) {
    .iplocator-box {
        width: 99.5%;
    }
}

@media only screen and (max-width: 1800px) {
    .iplocator-box {
        width: 99%;
    }
}

@media only screen and (max-width: 1400px) {
    .iplocator-box {
        width: 98.5%;
    }
}

@media only screen and (max-width: 1000px) {
    .iplocator-box {
        width: 98%;
    }
}

@media only screen and (max-width: 600px) {
    .iplocator-box {
        width: 97.5%;
    }
}

@media only screen and (max-width: 450px) {
    .iplocator-box {
        width: 97%;
    }
}

@media only screen and (max-width: 375px) {
    .iplocator-box {
        width: 96%;
    }
}

@media only screen and (max-width: 300px) {
    .iplocator-box {
        width: 95.5%;
    }
}

.iplocator-select-wrapper {
    position: relative;
    display: inline-block;
    user-select: none;
}
.iplocator-select-wrapper select {
    display: none;
}
.iplocator-select {
    position: relative;
    display: inline-block;
}
.iplocator-select-trigger {
    position: relative;
    display: block;
    cursor: pointer;
}
.iplocator-options {
    z-index: 3001;
    position: absolute;
    display: block;
    width: max-content;
    margin-top: 7px;
    border: var(--pop-box-border);
    border-radius: 4px;
    box-sizing: border-box;
    background: var(--main-bg-color);
    font-size: var(--header-action-font-size);
    font-weight: var(--subtitle-font-weight);
    letter-spacing: 0px;
    color: #5A738E;
    box-shadow: var(--main-box-shadow);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.iplocator-select.opened .iplocator-options {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}
.iplocator-options:before {
    position: absolute;
    display: block;
    content: '';
    bottom: 100%;
    left: 10px;
    width: 7px;
    height: 7px;
    margin-bottom: -3px;
    border-top: var(--pop-box-border);
    border-left: var(--pop-box-border);
    background: var(--main-bg-color);
    transform: rotate(45deg);
}
.option-hover:before {
    background: #f9f9f9;
}
.iplocator-option {
    position: relative;
    display: block;
    padding: 8px 12px;
    cursor: pointer;
    margin: 8px 0px;
}

.iplocator-option-subtext {
    color: var(--aux-font-color);
    margin-top: -2px;
}

.iplocator-option:hover {
    background-color: var(--pop-box-hover);
}

.iplocator-option.selection {
    background-color: var(--header-action-font-color);
    color: var(--main-bg-color);
}

.iplocator-multichart-handler {
    display: block;
    height: 300px;
}

.iplocator-multichart-item,
.iplocator-multichart-large-item,
.iplocator-multichart-small-item{
    position: absolute;
    height: 200px;
    visibility:hidden;
    opacity:0;
    width: 94%;
    left: 2.4%;
}

.iplocator-multichart-item svg,
.iplocator-multichart-large-item svg,
.iplocator-multichart-small-item svg{
    overflow: visible;
}

.iplocator-multichart-item.active,
.iplocator-multichart-large-item.active,
.iplocator-multichart-small-item.active{
    visibility:visible;
    opacity:1;
    transition:visibility 0.6s linear,opacity 0.6s linear;
}