/**
 * Basic theme
 */

html {
    height: 100%;
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    background: #f0f0f0;
    height: 100%;
    margin: 0;
    font-size: 16px;
    color: #333;
    line-height: 190%;
    font-family: 'Lato', sans-serif;
    padding-top: 86px;
}

body.white {
    background: #fff;
}

a:link, a:visited, a:hover, a:active {
    color: #5931c7;
}

a:hover, a:active {
    color: #441196;
    text-decoration: none;
}

p a {
    text-decoration: underline;
}

a.btn {
    text-decoration: none;
}

/**
 * Fix footer to bottom
 */

body {
    /*min-height: 100%;*/
    /*display: grid;*/
    /*grid-template-rows: 1fr auto;*/
}

.footer {
    grid-row-start: 2;
    grid-row-end: 3;
}

.footer-plain {
    margin: 20px 20px 20px 20px;
    padding: 20px;
    border-top: 1px solid #ddd;
    text-align: center;
    color: #444;
}

.footer-plain ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-plain ul > li {
    display: inline-block;
    margin: 0 10px;
}

.footer-plain a {
    color: #222;
    text-decoration: underline;
}


/**
 * Stop AddThis from appearing over our mega-menu
 */
.atss {
    z-index: auto !important;
}

/**
 * Mega menu
 */

.navbar .nav,
.navbar .collapse,
.navbar .dropdown-full-width.dropup,
.navbar .dropdown-full-width.dropdown {
    position: static;
}

.navbar .container {
    position: relative;
}

.navbar .dropdown-full-width .dropdown-menu {
    left: auto;
    padding: 20px;
    border: 0;
    color: #fff;
    background: #441196;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    border-radius: 0;
}

.navbar .dropdown-full-width .dropdown-menu h3 {
    color: rgba(255, 255, 255, 0.7);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 20px;
    padding: 0 0 5px;
    margin: 0 0 10px;
}

.navbar .dropdown-full-width .dropdown-menu {
    left: 0;
    right: 0;
}

.navbar .dropdown-full-width .dropdown-menu ul {
    column-count: 5;
    list-style: none;
    padding: 0;
}

/**
 * Responsive
 */

@media (max-width: 1200px) {
    .navbar .dropdown-full-width .dropdown-menu ul {
        column-count: 4;
    }
}

@media (max-width: 920px) {
    .navbar .dropdown-full-width .dropdown-menu ul {
        column-count: 3;
    }
}

.navbar .dropdown-full-width .dropdown-menu ul.no-cols {
    column-count: 1;
}

.navbar .dropdown-full-width .dropdown-menu ul li {
    break-inside: avoid-column;
}

.navbar .dropdown-full-width .dropdown-menu a {
    display: block;
    color: #fff;
    padding: 5px 10px;
}

.navbar .dropdown-full-width .dropdown-menu a small {
    font-size: inherit;
    color: #fff;
    opacity: 0.5;
}

.navbar .dropdown-full-width .dropdown-menu a:hover {
    background: rgba(255, 255, 255, 0.2);
}

.navbar .dropdown .dropdown-menu {
    border-radius: 0;
}

.navbar ul.nav.navbar-nav > li > a {
    background: transparent;
}

.navbar ul.nav.navbar-nav > li:hover > a {
    color: #fff;
}

.navbar ul.nav li.dropdown:hover > ul.dropdown-menu {
    display: block;
}

.account-menu > a {
    /*border: 1px solid #fff;*/
}

.dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover {
    background: #5bc0de;
    color: #fff;
}

/**
 * Flex
 */

.flex {
    display: flex;
    align-items: center;
}

.flex.flex-top {
    align-items: start;
}

.flex > * {
    flex: 0 0 auto;
    margin-left: 10px;
}

.flex > *:first-child {
    flex: 0 0 auto;
    margin-left: 0;
}

.flex > .flex-stretch {
    flex: 1 1 auto;
}

/**
 * Section types
 */

.section-type {
    column-count: 3;
    margin-bottom: 60px;
}

.section-type-industries {
    column-count: unset;
    margin-bottom: 60px;
}

.section-type-industries .section-wrapper {
    column-count: 3;
}

@media (max-width: 1024px) {
    .section-type {
        column-count: 2;
    }
    .section-type-industries .section-wrapper {
        column-count: 2;
    }
}

@media (max-width: 768px) {
    .section-type {
        column-count: 1;
    }
    .section-type-industries .section-wrapper {
        column-count: 1;
    }
}

.section-type .section {
    break-inside: avoid-column;
    background: #fff;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 30px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.section-type .section .section-domain {
    margin-bottom: 10px;
}

.section-type .section .section-domain:last-child {
    margin-bottom: 0;
}

.section-type .section .section-domain-thumbnail {
    max-width: 120px;
    border: 1px solid #ddd;
}

.section-type .section h3 {
    margin: 0 0 20px;
}

.section-type .section h4 {
    font-size: 18px;
    margin: 0;
}

.section-type .section h3 a, .section-type .section h4 a {
    color: #444;
}

.section-type .section ul {
    margin-bottom: 20px;
}

/**
 * Blocks: Stream
 */

.block-stream {

}

/**
 * Blocks: Masthead
 */

.block-masthead {
    margin: -25px -25px 20px -25px;
    min-height: 240px;
    position: relative;
    background-color: #e0e0e0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.block-masthead-footer h1 {
    font-size: 20px;
    margin: 0;
}

.block-masthead > div {
    position: absolute;
    height: 80px;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #fff;
    text-shadow: #000;
}

.block-masthead h1 {
    font-weight: bold;
    font-size: 28px;
}

.block-masthead p {
    font-size: 18px;
}

.block-masthead > div > div > *:last-child {
    margin-bottom: 0;
}

.block-masthead.block-masthead-light > div {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    color: #fff;
    text-shadow: #000;
}

.block-masthead.block-masthead-dark {
    border-bottom: 1px solid #ddd;
}

.block-masthead.block-masthead-dark > div {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%);
    color: #000;
    text-shadow: #fff;
}

.block-masthead.block-masthead-plain {
    min-height: 80px;
}

.block-masthead.block-masthead-plain > div {
    top: 0;
    height: auto;
    color: #000;
    border-bottom: 1px solid #bbb;
}

/**
 * Jumbotron
 */

.jumbotron {
    background: linear-gradient(to bottom, #441196 20%, #080c47 120%);
    color: #fff;
    text-align: center;
    padding: 50px 10px;
}

.jumbotron p a {
    color: #fff;
}

.jumbotron p a {
    text-decoration: underline;
}

.jumbotron h1 {
    font-size: 35px;
    margin: 0 0 15px;
    padding: 0
}

.jumbotron p {
    opacity: 0.5;
    margin: 0;
    font-size: 20px;
}

@media (max-width: 778px) {
    .jumbotron h1 {
        font-size: 40px;
    }
}

.home .jumbotron {
    margin-bottom: 0;
}

.home .jumbotron .lead {
    opacity: 0.5;
    margin: 30px 0;
}

.jumbotron .search-form {
    margin: 40px auto 0;
}

.jumbotron .search-control {
    max-width: 500px;
    margin: 30px auto 0;
    border: 0;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.jumbotron .search-control input[type=text] {
    color: #444;
    font-size: 20px;
    height: 54px;
}

.jumbotron .search-control input[type=submit] {
    width: 30px;
    height: 30px;
}

.jumbotron.white {
    background: #fff;
    color: #000;
    border-bottom: 1px solid #ddd;
}

.jumbotron.white p a {
    color: #000;
}



/**
 * User details
 */

.user-details a {
    color: #444;
}

/**
 * Tabs
 */

.full-width-tabs {
    display: flex;
}

.full-width-tabs li {
    flex: 1;
    text-align: center;
    font-size: 18px;
}

.full-width-tabs li.active a {
    font-weight: bold;
    text-decoration: none;
}

/**
 * Plain glyphicon
 */

a .glyphicon-mono {
    color: #bbb;
    position: relative;
    top: 2px;
    margin-left: 5px;
}

a:hover .glyphicon-mono {
    color: #666;
}

.glyphicon-circled {
    background: #ef156e;
    color: #fff;
    border-radius: 50%;
    padding: 10px;
    font-size: 20px;
    margin-right: 10px;
}

hr {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
}

/**
 * Tables
 */

.table-fixed {
    table-layout: fixed;
}

.table-fixed td {
    word-break: break-all;
}

table.table-middle > tbody > tr > td, table.table-middle > tbody > tr > th {
    vertical-align: middle;
}

table.table-data {
    background: #fff;
    border: 1px solid #bbb;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

table.table-data tr td, table.table-data tr th {
    border-top: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
}

table.table-data th {
    color: #000;
    font-weight: bold;
    text-align: right;
    width: 140px;
}

@media (max-width: 768px) {
    table.table-data th {
        width: 120px;
    }
}

table.table-data td {
    color: #666;
}

.table h4 {
    font-weight: bold;
}

.table h4:first-of-type {
    margin-top: 0;
}

/**
 * Theme colours
 */

.success, a.success {
    color: #00BB88;
}

.warning, a.warning {
    color: #E0E055;
}

.danger, a.danger {
    color: #DD1D35;
}

/**
 * Buttons
 */

.btn-primary, .btn-primary:visited {
    background: #5931c7;
    border: 1px solid #5931c7;
    color: #fff !important;
}

.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
    background: #441196;
    border: 1px solid #441196;
}

.btn-secondary, .btn-secondary:visited {
    background: #ef156e;
    border: 1px solid #ef156e;
    color: #fff !important;
}

.btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus {
    background: #cf004e;
    border: 1px solid #cf004e;
}

.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
    background: #ef156e;
}

.btn-success {
    background: #00BB88;
    color: #fff;
    border: 0 #00BB88;
}

.btn-success:hover, .btn-success:active, .btn-success:focus {
    background: #009B68;
    border-color: #009B68;
}

.btn-warning {
    background: #E0E055;
    border: 0;
    color: #000;
}

.btn-warning:hover, .btn-warning:active, .btn-warning:focus {
    background: #C0C035;
}

.btn-danger {
    background: #FF3D55;
    border: 0;
    color: #fff;
}

.btn-danger:hover, .btn-danger:active, .btn-danger:focus {
    background: #DF1D35;
}

.btn-info {
    border: 1px solid #5bc0de;
}

.btn-wire-light, .btn-wire-light:active, .btn-wire-light:focus, .btn-wire-light:hover {
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
}

.btn-wire-light:hover {
    background: rgba(0, 0, 0, 0.3);
}

.btn-wire-dark, .btn-wire-dark:link, .btn-wire-dark:visited, .btn-wire-dark:active, .btn-wire-dark:focus, .btn-wire-dark:hover {
    border: 1px solid #555;
    background: transparent;
    color: #555;
}

.btn-wire-dark:hover {
    background: rgba(255, 255, 255, 0.3);
}

/**
 * Notes
 */

.notes {
    color: #444;
    border: 1px solid #DDD;
    background: #F8F8F8;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 30px;
    line-height: 23px;
}

.notes p:last-of-type {
    margin-bottom: 0;
}

.notes h3 {
    margin: 0 0 10px 0;
    font-weight: bold;
    font-size: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #DDA;
}

.notes.notes-purple {
    border-color: #C0B0CF;
    color: #441196;
    background: #F4F0FF;;
}

.notes.notes-purple h3 {
    border-bottom: 1px solid #C0B0CF;
}

.alert.alert-warning {
    color: #442;
    border: 1px solid #DDA;
    background: #F8F8DD;
}

.alert.alert-danger {
    color: #880000;
    background: #FFF0E0;
    border-color: #DFD0C0;
}

.alert.alert-success {
    color: #242;
    border: 1px solid #BDA;
    background: #E0F8DD;
}

/**
 * Labels
 */

.label {
    position: relative;
    top: -2px;
}

.label-primary {
    background: #8800BB;
}

a.label-primary:hover {
    background: #68009B;
}

.label-danger {
    background-color: #ef156e;
}

a.label-danger:hover {
    background-color: #df055e !important;
}

.label-warning {
    background-color: #c0c000;
}

a.label-warning:hover {
    background-color: #a0a000;
}

.label-success {
    background-color: #00BB88;
}

a.label-success:hover {
    background-color: #009B68 !important;
}


/**
 * Utility classes
 */

.faint {
    opacity: 0.5;
}

.long-url {
    display: inline-block;
    width: 800px;
    overflow-x: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.container-narrow {
    max-width: 960px;
}

.container-wide {
    margin: 0 20px;
}

.container.extended {
    width: 100%;
}

@media (min-width: 786px) {
    .container.extended {
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media (min-width: 1440px) {
    .container.extended {
        width: 1440px;
    }
}

/**
 * User levels
 */

.label.label-diamond {
    background: #DFF;
    border: 1px solid #BDD;
    color: #048;
}

.label.label-platinum {
    background: #444;
    color: #fff;
}

.label.label-gold {
    background: #EEDD44;
    color: #202010;
}

.label.label-silver {
    background: #DDD;
    color: #333;
}

.label.label-bronze {
    background: #e2764b;
    color: #fff;
}

/**
 * User profiles
 */

.user-profile {
    display: block;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    width: 50px;
    height: 50px;
    background-size: cover;
}

.user-profile-large {
    width: 80px;
    height: 80px;
}

.user-profile-square {
    border-radius: 0;
}

.user-with-profile {
    display: flex;
    align-items: center;
}

.user-with-profile img.user-profile {
    width: 25px;
    flex: 0 1 auto;
    margin-right: 10px;
}

.user-with-profile span {
    flex: 1 1 auto;
}

/**
 * Popovers
 */

.popover {
    max-width: none !important;
    color: #444;
}

.popover .popover-content {
    padding: 10px;
}

[data-toggle="popover"] {
    cursor: pointer;
}

.label.label-name-pros {
    color: #fff;
    background: #283692;
}

.popover ul {
    margin: 10px 0;
    padding: 0 0 0 20px;
}

.popover .table {
    font-size: 14px;
}

@keyframes highlight-pulse {
    from { background-color: #F0F080; }
    to { background-color: #FFFFC0; }
}
.highlight-pulse {
    animation: highlight-pulse 1s 1;
}

/**
 * Suggestions
 */


ul.suggestions {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.suggestions li {
    background: #F8F8F8;
    color: #444;
    cursor: pointer;
    margin: 2px 0;
    padding: 1px 10px;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
    border: 1px solid #f8f8f8;
}

ul.suggestions li:hover {
    background: #E0E0E0;
}

ul.suggestions li.selected {
    border: 1px solid #d00;
    background: #FFE0E0;
}

ul.suggestions li.recommended {
    border: 1px solid #aaa;
    background: #E0E0E0
}

/**
 * Forms
 */

legend {
    font-size: inherit;
    font-weight: bold;
    border: 0;
    margin: 0;
}

.has-feedback label~.form-control-feedback {
    top: 35px;
}

.form-control:not(.btn) {
    border: 1px solid #aaa;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.form-control:focus {
    border: 1px solid #8440ef;
    box-shadow: 0 0 10px rgba(60, 40, 200, 0.8);
}


/**
 * Full screen modals
 */

.modal-fullscreen {
    z-index: 999999;
    border: 0;
    border-radius: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateY(+100%);
    background: #fff;
    transition: all 0.3s;
}

.modal-fullscreen.open {
    transform: translateY(0);
}

.modal-fullscreen .modal-content {
    border-radius: 0;
}

.modal-fullscreen .modal-header {
    position: fixed;
    border: 0px;
    border-bottom: 1px solid #ddd;
    left: 0;
    right: 0;
    top: 0;
    height: 60px;
    background: #F0F0F0;
    display: flex;
    align-items: center;
}

.modal-fullscreen .modal-header h4 {
    flex: 0 1 auto;
}

.modal-fullscreen .modal-header button {
    flex: 1 1 auto;
    text-align: right;
}

.modal-fullscreen .modal-body {
    background: #fff;
    position: fixed;
    left: 0;
    right: 0;
    top: 60px;
    bottom: 60px;
    overflow-x: hidden;
    overflow-y: scroll;
}

.modal-fullscreen .modal-footer {
    border: 0;
    position: fixed;
    left: 0;
    right: 0;
    height: 60px;
    bottom: 0;
    background: #333;
    padding: 0;
    display: flex;
    align-items: stretch;
}

.modal-fullscreen .modal-footer button {
    flex: 1 1 auto;
    border-radius: 0;
    border: 0;
    margin: 0 !important;
}

.modal-fullscreen .modal-footer .btn-primary {
    background: #6431b6;
}

.modal-fullscreen .modal-footer .btn-primary:hover {
    background: #240076;
}

.modal-fullscreen .modal-footer .btn-default {
    color: #bbb;
    background: #333;
}

.modal-fullscreen .modal-footer .btn-default:hover {
    color: #bbb;
    background: #222;
}

.embedded-help {
    max-width: 650px;
}

.embedded-help p {
    margin: 20px 0;
}
