/* Generated by Apache Royale Compiler */
.Application * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
}


.royale * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
}


.royale *:before {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
}


.royale *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
}


.unselectable {
        -moz-user-select: -moz-none;
        -o-user-select: none;
        -webkit-user-select: none;
        user-select: none;
        -khtml-user-select: none;
}


.Application {
        padding: 0px;
        margin: 0px;
}


.ButtonBar {
                                    border-style: none;
}


.opt_org-apache.royale-html-ComboBox_Button {
        padding: 0px;
        margin: 0px;
}


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


.DataContainer {
                    border-color: #222222;
                border-width: 1px;
                    border-style: solid;
}


.DataGrid {
            border: 1px solid #222222;
        background-color: #FFFFFF;
                    width: 200px;
            height: 200px;
}


.DataGridButtonBar {
                min-height: 40px;
        flex-grow: 0;
                            border-style: none;
        height: 40px;
}


.DataGridColumnList {
                    background-color: #FFFFFF;
                                border-style: none;
}


.opt_org-apache.royale-html-DataGrid_ListArea {
            background-color: #FFFFFF;
        flex-grow: 1;
        }


.DynamicDataGrid {
            border: 1px solid #222222;
        background-color: #FFFFFF;
                    -column-class-name: DynamicDataGridColumnList;
    }


.DynamicDataGridColumnList {
                    background-color: #FFFFFF;
                                border-style: none;
}


.opt_org-apache.royale-html-DateChooser_MonthButtons {
            height: 20px;
}


.Group {
            border-width: 1px;
}


.List {
                    border: 1px solid #222222;
                        }


.DynamicList {
                    border-color: #222222;
        background-color: #FFFFFF;
                                border-style: solid;
}


.TreeGrid .TreeGridColumn {
        border: none;
}


.opt_org-apache.royale-html-TreeGrid_ListArea {
            background-color: #FFFFFF;
        flex-grow: 1;
                position: absolute;
}


.Panel .TitleBar {
        border-bottom: 1px solid #333333;
}


.PanelContent {
        background-color: #FFFFFF;
}


.PopUpList {
        background-color: #fff;
        position: absolute;
}


.SliderTrack {
        position: absolute;
}


.SliderThumb {
        position: absolute;
}


.SpinnerButton {
        padding: 0;
        margin: 0;
        font-size: 6px;
}


.SpinnerButton:hover {
        padding: 0;
        margin: 0;
        font-size: 6px;
}


.StringItemRenderer {
        cursor: pointer;
        padding-bottom: 4px;
        flex-grow: 1;
        font-family: sans-serif;
        flex-shrink: 0;
            font-size: 12px;
        padding-top: 4px;
}


.TextInput {
        border: 1px solid #808080;
        padding: 4px;
        margin: 0px;
        border-radius: 2px;
}


.TitleBar .TitleBarCloseButton {
        margin: 0px;
        width: 16px;
        height: 16px;
}


.TitleBar .TitleBarTitle {
        padding: 0;
        margin: 0;
        font-weight: bold;
}


.toggleTextButton {
        border: 1px solid #808080;
        padding: 4px;
        background-color: #f8f8f8;
}


.toggleTextButton:hover {
        border: 1px solid #808080;
        padding: 4px;
        background-color: #e8e8e8;
}


.toggleTextButton_Selected {
        border: 1px solid #808080;
        padding: 4px;
        background-color: #d8d8d8;
}


.toggleTextButton_Selected:hover {
        border: 1px solid #808080;
        padding: 4px;
        background-color: #e8e8e8;
}


.View {
        }


.global {
        effect-timer-interval: 10;
    }


.DocTagline {
        top: 60px;
        color: #fff;
        font-size: 10px;
        right: 10px;
        position: absolute;
}


.ResponsiveTableTileText {
        margin-top: 16px;
        margin-left: 60px;
}


.ResponsiveTableTileIcon {
        font-size: 40px;
        float: left;
}


.ResponsiveTableTileTitle {
        color: #00ffff;
}


.ResponsiveTableTextContent {
}


.big-buttons {
}


.BigButtonContent {
        color: #ffffff;
        text-decoration: none;
}


.red-button {
        background-color: #ff0000;
        border-color: #ff0000;
}


.blue-button {
        background-color: #0000ff;
        border-color: #0000ff;
}


.centerButton {
        display: flex;
        justify-content: center;
}


.white-border-button {
        border-color: #fff;
        border-style: solid;
}


.intro {
        font-family: Verdana, Geneva, sans-serif;
        width: 40%;
}


.DocPage {
        background-image: url('https://royale.apache.org/img/page-bg-1-1920x300.png');
        width: 100%;
        background-size: 100%;
        background-repeat: no-repeat;
        margin-top: 0px;
}


.SocialButtons {
        display: inline;
        margin-top: 0px;
        height: 40px;
}


.SocialButton {
        margin-right: 20px;
        color: inherit;
        display: inline;
        line-height: 70px;
        font-size: 16px;
}


.DocTopBar {
        color: #fff;
        flex-wrap: wrap;
        display: flex;
        padding-right: 54px;
        padding-left: 54px;
        justify-content: space-between;
}


.TopMenu {
        vertical-align: top;
        list-style: none;
        display: inline-block;
        margin-bottom: 0px;
        margin-top: 0px;
        height: 40px;
}


.TopMenuButton {
        margin-right: 20px;
        font-family: Signika;
        color: inherit;
        display: inline;
        letter-spacing: 1px;
        font-size: 14px;
        line-height: 70px;
        font-weight: 600;
}


.TopMenuButtonContent {
        color: inherit;
        text-decoration: none;
}


.orange-box {
        background-color: #F93;
        padding-bottom: 20px;
        width: 100%;
        padding-top: 20px;
}


.orange-box-text {
        margin: 20px 200px;
}


.orange-box-code {
        background-color: #FC0;
        margin: 20px 200px;
        font-family: "Courier New", Courier, monospace;
        text-align: left;
}


.npm-title {
        color: #fff;
        text-align: center;
}


.npm-command {
        background-color: #000;
        margin: 20px 300px;
        color: #fff;
        text-align: center;
}


.apache {
        font-family: Signika;
        color: #a002a0;
        line-height: 30px;
        font-weight: 600;
}


.apacheroyale {
        font-family: Signika;
        color: rgb(250, 70, 30);
        line-height: 30px;
        font-weight: 600;
}


.documentation {
        font-family: Signika;
        color: #000;
        line-height: 30px;
        font-weight: 600;
}


.development {
        font-family: Signika;
        color: rgb(243, 199, 103);
        line-height: 30px;
        font-weight: 600;
}


.community {
        font-family: Signika;
        color: rgb(42, 139, 42);
        line-height: 30px;
        font-weight: 600;
}


.footer-column {
        flex-grow: 1;
}


.footer-list {
        list-style: none;
        margin-bottom: 20px;
        padding-left: 0px;
}


.footer-list_a {
        color: rgb(67, 147, 195);
        text-decoration: none;
        line-height: 26px;
}


.aboutusdiv {
        flex-grow: 1;
        flex-basis: 33%;
        min-width: 150px;
}


.aboutus {
        font-family: Signika;
        color: #000;
        line-height: 30px;
        font-weight: 600;
}


.aboutus_p {
        padding-bottom: 38px;
}


.aboutus_a {
        color: rgb(67, 147, 195);
        text-decoration: none;
}


.aboutus-logo {
        padding-bottom: 14px;
        padding-right: 14px;
        width: 100px;
        float: left;
}


.aboutus-apache-logo {
        padding-bottom: 14px;
        padding-right: 14px;
        width: 100px;
        float: right;
}


.AnchorListContent {
        text-decoration: none;
}


.logo {
        width: 190px;
        margin-bottom: 5px;
        margin-top: 15px;
        height: 40px;
}


Button {
        border: 1px solid #808080;
        padding: 4px;
        background-color: #f8f8f8;
        margin: 0px;
        border-radius: 2px;
}


Button:hover {
        border: 1px solid #808080;
        padding: 4px;
        background-color: #e8e8e8;
}


Button:active {
        border: 1px solid #808080;
        padding: 4px;
        background-color: #d8d8d8;
}


.CheckBox {
        font-family: sans-serif;
        font-size: 12px;
}


.Label {
        font-family: sans-serif;
        font-size: 12px;
}


.RadioButton {
        font-family: sans-serif;
        font-size: 12px;
}


.MXMLItemRenderer {
        font-family: sans-serif;
        font-size: 12px;
}


.Menu {
        font-family: sans-serif;
        font-size: 12px;
}


.DataContainer {
        vertical-align: bottom;
}


.sectionLabel {
        background-color: rgb( 253, 171, 125);
        padding-bottom: 3px;
        text-align: center;
        font-size: 16px;
        padding-top: 3px;
        font-weight: bold;
}


.titleGroup {
        margin-top: 30px;
        margin-left: 5px;
}


.detailsPane {
        padding-right: 10px;
        padding-left: 20px;
}


.paneTitle {
        background-color: rgb( 253, 171, 125);
        font-size: 24px;
        padding-left: 20px;
        font-weight: bold;
}


.paneList {
        margin-right: 20px;
        border-style: solid;
        margin-top: 50px;
        margin-left: 20px;
}


.HashAnchorAnchor {
        text-decoration: none;
}


.HashAnchorStringItemRenderer {
        padding-left: 5px;
}


.OptionalHashAnchorStringItemRenderer {
        padding-right: 3px;
}


.summary {
        padding-bottom: 3px;
        padding-top: 3px;
}


.detailCaption {
        width: 80px;
        line-height: 20px;
        font-weight: bold;
}


.title {
        font-size: 20px;
}


.attributeList {
        margin-bottom: 10px;
        border-style: none;
        margin-top: 10px;
}


.description {
        font-family: sans-serif;
        margin-bottom: 10px;
        font-size: 12px;
        margin-top: 10px;
}


.attributeCaption {
        margin-right: 3px;
        font-weight: bold;
}


.summaryQName {
        text-decoration: none;
        font-weight: bold;
        margin-top: 3px;
        margin-left: 10px;
}


.summaryType {
}


.summaryTypeLink {
        text-decoration: none;
}


.summaryDescription {
        margin-bottom: 3px;
        margin-left: 10px;
}


.summaryList {
        margin-bottom: 20px;
        border-style: solid;
}


.detailList {
        margin-bottom: 20px;
}


.property {
        padding-bottom: 20px;
        border-width: 1px;
        padding-right: 10px;
        border-bottom-style: solid;
        padding-left: 20px;
}


.propertyQName {
        font-family: monospace;
}


.propertyType {
        font-family: monospace;
}


.propertyQNameTitle {
        margin-right: 3px;
        font-size: 18px;
        font-weight: bold;
        margin-top: 3px;
}


.propertyTypeLink {
        font-family: monospace;
        text-decoration: none;
}


.paramName {
        font-family: monospace;
}


.paramType {
        font-family: monospace;
}


.paramLink {
        font-family: monospace;
        text-decoration: none;
}


.eventQName {
        font-weight: bold;
}


.eventLink {
        text-decoration: none;
}


.eventSummaryQName {
        margin-right: 10px;
        width: 120px;
        text-decoration: none;
        font-weight: bold;
        margin-top: 3px;
        margin-left: 10px;
}


.findClassLabel {
        padding-right: 3px;
}


.searchTI {
        width: 300px;
}


.swfonly {
        color: #f00;
}


.jsonly {
        color: #0f0;
}


.loading {
        font-size: 40px;
}


