/* Reusable, object-oriented CSS base components for the Zulip redesign */

.flex {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hide {
    display: none;
}

.light {
    font-weight: 300;
}

.display-none {
    display: none;
}

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

.box-shadow {
    box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

.bg-white {
    background-color: #FFF;
}

.clear-float {
    clear: both;
}

.invisible {
    visibility: hidden;
}

/* -- base button styling -- */
.new-style .button {
    padding: 8px 15px;
    margin: 0;
    min-width: 130px;

    font-weight: 400;
    text-align: center;

    background-color: #478fca;
    color: #FFF;
    outline: none;
    border: none;
    border-radius: 2px;

    cursor: pointer;
    transition: all 0.3s ease;
}

/* -- button states -- */
.new-style .button:hover {
    -webkit-filter: brightness(1.1);
    -moz-filter: brightness(1.1);
    filter: brightness(1.1);
}

.new-style .button:active {
    -webkit-filter: brightness(0.9);
    -moz-filter: brightness(0.9);
    filter: brightness(0.9);
}

/* -- button style variations -- */
.new-style .button.no-style {
    padding: 0px;
    background-color: transparent;
    border: none;
    min-width: 0px;
    width: auto;
    outline: none;
    box-shadow: none !important;
}

.new-style .button.green {
    background-color: #64ad89;
}

.new-style .button.grey {
    background-color: #aaa;
}

.new-style .button.white {
    background-color: #fff;
    color: inherit;
    border: 1px solid #CCC;
    box-shadow: none;
}

.new-style .button.standalone {
    margin-top: 10px;
}

.new-style .button.small {
    font-size: 0.8rem;
    min-width: inherit;
    padding: 6px 10px;
}

.new-style .button.btn-danger {
    color: #fff;
    background-color: #d9534f;
    border-color: #d43f3a;
}

.new-style .button.btn-warning {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #eea236;
}

.new-style .button.sea-green {
    background-color: #24cac2;
    color: #fff;
}

.new-style .button.small-flex {
    width: auto;
    min-width: inherit;
}

/* -- tab switcher -- */

.new-style .tab-switcher {
    font-weight: initial;
    margin: 2px 4px;
    display: inline-block;
}

.new-style .tab-switcher .ind-tab {
    display: inline-block;
    width: 90px;
    margin: 0px -2px;
    text-align: center;
    padding: 3px 10px;
    background-color: #fff;
    cursor: pointer;
}

.new-style .tab-switcher .ind-tab:not(.selected) {
    border: 1px solid #ccc;
}

.new-style .tab-switcher .ind-tab.first {
    border-radius: 5px 0px 0px 5px;
    border-right: none;
}

.new-style .tab-switcher .ind-tab.second {
    border-radius: 0px 5px 5px 0px;
    border-left: none;
}

.new-style .tab-switcher .ind-tab.selected {
    position: relative;
    background: #888;
    color: #fff;
    border: 1px solid #777;
    z-index: 2;
}

.new-style .tab-switcher .ind-tab.disabled {
    pointer-events: none;
    color: #CCC;
    border-color: #DDD;
}

.new-style label.checkbox {
    padding: 0px;
    display: inline-block;
    vertical-align: top;
}

.new-style label.checkbox input[type=checkbox] {
    display: none;
}

.new-style label.checkbox + label {
    width: calc(100% - 40px);
}

.new-style label.checkbox input[type=checkbox] ~ span {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: 0px;

    padding: 1px;
    margin: 0px 5px 0px 0px;
    height: 12px;
    width: 12px;

    font-weight: 300;
    line-height: 0.8;
    font-size: 1.3rem;
    text-align: center;
    border: 2px solid #ccc;
    color: #ccc;

    border-radius: 4px;

    cursor: pointer;
}

.new-style label.checkbox input[type=checkbox]:checked ~ span {
    color: transparent;

    background-image: url(/static/images/checkbox-green.png);
    background-size: 85%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    -webkit-filter: grayscale(1);
}

.new-style label.checkbox input[type=checkbox]:disabled ~ span {
    opacity: 0.3;
}

.new-style a.no-style {
    color: inherit;
}
