/* BE and FE - do not wrap styles in @media {} for BE use! */

.align-center { text-align: center; }
.align-left { text-align: left; }
.align-justify { text-align: justify; }
.align-right { text-align: right; }

.ul-no-bullet {
    padding: 0;
    list-style: none;
}

.fa-rotate-45::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
}

.fa-rotate-315::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    display: inline-block;
}

.fa:not(i) {
    display:inline;
    font-style:inherit;
    font-weight:inherit;
    font-family:inherit;
}

.fa:not(i)::before,
.btn::before,
.link-internal::before,
.link-internal-blank::before,
.link-external::before,
.link-external-blank::before,
.link-download::before,
.link-mail::before {
    display: inline-block;
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    margin-right: 0.25em;
    text-decoration: none;
}

.btn::before,
.link-internal::before {
    content: '\f0a9';
}
.link-external::before {
    content: '\f0aa';
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
}

.link-mail::before {
    content: '\f003';
}

.link-download::before {
    content: '\f019';
}
.link-download[href$="pdf"]::before {
    content: '\f1c1';
}
.link-download[href$="docx"]::before,
.link-download[href$="doc"]::before {
    content: '\f1c2';
}
.link-download[href$="xlsx"]::before,
.link-download[href$="xls"]::before {
    content: '\f1c3';
}
.link-download[href$="pptx"]::before,
.link-download[href$="ppt"]::before {
    content: '\f1c4';
}

.link-download[href$="psd"]::before,
.link-download[href$="tiff"]::before,
.link-download[href$="tif"]::before,
.link-download[href$="bmp"]::before,
.link-download[href$="jpg"]::before,
.link-download[href$="png"]::before {
    content: '\f1c5';
}
.link-download[href$="zip"]::before {
    content: '\f1c6';
}
.link-download[href$="webm"]::before,
.link-download[href$="mov"]::before,
.link-download[href$="mp4"]::before {
    content: '\f1c8';
}

.p-big { font-size: 125%; }
.p-tiny { font-size: 87.5%; }

/* (partial, adepted) bootstrap btn rules */

a.btn {
    text-shadow: none !important;
}

.btn {
    display: inline-block;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 2px solid transparent;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    line-height: 1.25;
    border-radius: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

p .btn {
    margin-top: .3125rem;
    margin-bottom: .3125rem;
    margin-right: 0.9375rem;
}

.btn.hover,
.btn.focus,
.btn:focus,
.btn:hover {
    text-decoration: underline;
}

.btn:disabled, .btn.disabled {
    cursor: not-allowed;
    opacity: .65;
}

a.btn.disabled,
fieldset[disabled] a.btn {
    pointer-events: none;
}

.btn-primary ,
.ce-frame-inverted .ce-bg-white-1 .btn-primary ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-primary ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-primary {
    color: rgb(255,255,255);
    background-color: rgb(90,37,114);
    border-color: rgb(90,37,114);
}

.btn-primary:focus, .btn-primary.focus,
.btn-primary:hover, .btn-primary.hover ,
.ce-frame-inverted .ce-bg-white-1 .btn-primary:focus ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-primary:focus ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-primary:focus ,
.ce-frame-inverted .ce-bg-white-1 .btn-primary.focus ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-primary.focus ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-primary.focus ,
.ce-frame-inverted .ce-bg-white-1 .btn-primary:hover ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-primary:hover ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-primary:hover ,
.ce-frame-inverted .ce-bg-white-1 .btn-primary.hover ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-primary.hover ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-primary.hover {
    color: rgb(90,37,114);
    background-color: rgb(255,255,255);
    border-color: currentColor;
}

.btn-primary:active, .btn-primary.active ,
.ce-frame-inverted .ce-bg-white-1 .btn-primary:active ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-primary:active ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-primary:active ,
.ce-frame-inverted .ce-bg-white-1 .btn-primary.active ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-primary.active ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-primary.active {
    color: rgb(90,37,114);
    background-color: rgb(255,255,255);
    border-color: currentColor;
}

.btn-primary:disabled, .btn-primary.disabled {

}

.btn-secondary ,
.ce-frame-inverted .ce-bg-white-1 .btn-secondary ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-secondary ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-secondary {
    color: rgb(90,37,114);
    border-color: currentColor;
}

.btn-secondary:focus, .btn-secondary.focus,
.btn-secondary:hover, .btn-secondary.hover ,
.ce-frame-inverted .ce-bg-white-1 .btn-secondary:focus ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-secondary:focus ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-secondary:focus ,
.ce-frame-inverted .ce-bg-white-1 .btn-secondary.focus ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-secondary.focus ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-secondary.focus ,
.ce-frame-inverted .ce-bg-white-1 .btn-secondary:hover ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-secondary:hover ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-secondary:hover ,
.ce-frame-inverted .ce-bg-white-1 .btn-secondary.hover ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-secondary.hover ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-secondary.hover {
    color: rgb(255,255,255);
    background-color: rgb(90,37,114);
    border-color: rgb(90,37,114);
}

.btn-secondary:active, .btn-secondary.active ,
.ce-frame-inverted .ce-bg-white-1 .btn-secondary:active ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-secondary:active ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-secondary:active ,
.ce-frame-inverted .ce-bg-white-1 .btn-secondary.active ,
.ce-frame-inverted .ce-bg-yellow-1 .btn-secondary.active ,
.ce-frame-inverted .ce-bg-lightgreen-2 .btn-secondary.active {
    color: rgb(255,255,255);
    background-color: rgb(90,37,114);
    border-color: rgb(90,37,114);
}

.btn-secondary:disabled, .btn-secondary.disabled {

}

.btn-link {
    color: rgb(90,37,114);
    background-color: transparent;
}

.btn-link,
.btn-link:active, .btn-link.active,
.btn-link:disabled, .btn-link.disabled {
}

.btn-link:hover, .btn-link.hover,
.btn-link:focus, .btn-link.focus,
.btn-link:active, .btn-link.active {
    border-color: rgb(90,37,114);
}

.btn-link:disabled, .btn-link.disabled {

}

.btn-link:disabled:focus, .btn-link:disabled:hover {
    text-decoration: none;
}


/* on inverted bg */

.ce-frame-inverted .btn-primary {
    color: rgb(90,37,114);
    background-color: rgb(255,255,255);
    border-color: rgb(255,255,255);
}

.ce-frame-inverted .btn-primary:focus, .ce-frame-inverted .btn-primary.focus,
.ce-frame-inverted .btn-primary:hover, .ce-frame-inverted .btn-primary.hover {
    color: rgb(255,255,255);
    background-color: rgb(90,37,114);
    border-color: currentColor;
}

.ce-frame-inverted .btn-primary:active, .ce-frame-inverted .btn-primary.active {
    color: rgb(255,255,255);
    background-color: rgb(90,37,114);
    border-color: currentColor;
}

.ce-frame-inverted .btn-primary:disabled, .ce-frame-inverted .btn-primary.disabled {

}

.ce-frame-inverted .btn-secondary {
    color: rgb(255,255,255);
    border-color: currentColor;
}

.ce-frame-inverted .btn-secondary:focus, .ce-frame-inverted .btn-secondary.focus,
.ce-frame-inverted .btn-secondary:hover, .ce-frame-inverted .btn-secondary.hover {
    color: rgb(90,37,114);
    background-color: rgb(255,255,255);
    border-color: rgb(255,255,255);
}

.ce-frame-inverted .btn-secondary:active, .ce-frame-inverted .btn-secondary.active {
    color: rgb(90,37,114);
    background-color: rgb(255,255,255);
    border-color: rgb(255,255,255);
}

.ce-frame-inverted .btn-secondary:disabled, .ce-frame-inverted .btn-secondary.disabled {

}

.ce-frame-inverted .btn-link {
    color: rgb(255,255,255);
}

.ce-frame-inverted .btn-link,
.ce-frame-inverted .btn-link:active, .ce-frame-inverted .btn-link.active,
.ce-frame-inverted .btn-link:disabled, .ce-frame-inverted .btn-link.disabled {
}

.ce-frame-inverted .btn-link:hover, .ce-frame-inverted .btn-link.hover,
.ce-frame-inverted .btn-link:focus, .ce-frame-inverted .btn-link.focus,
.ce-frame-inverted .btn-link:active, .ce-frame-inverted .btn-link.active {
    border-color: rgb(255,255,255);
}

.ce-frame-inverted .btn-link:disabled, .ce-frame-inverted .btn-link.disabled {

}
