<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx"
    xmlns:s="library://ns.adobe.com/flex/spark" xmlns:comps="comps.*" height="700">
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>

	<fx:Style>
	    @namespace s "library://ns.adobe.com/flex/spark";
	    @namespace mx "library://ns.adobe.com/flex/mx";

		@font-face
		{
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
			fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
		}

		@font-face
		{
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
			fontWeight: bold;
			fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
		}

		@font-face
		{
			src: url("../../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
			fontStyle: italic;
			fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
		}

		global
		{
			fontFamily: EmbeddedVerdana;
			fontAntiAliasType: normal;
		}	    
	    

	    mx|Panel#myPanel1 {
	        cornerRadius: 10;
	        color: #0000FF;
	    }
        mx|Panel.thisClass {
            color: #FF0000;
            fontWeight: "bold";
        }
        mx|Panel mx|Button {
            fontStyle: "italic";
        }
        mx|Panel,mx|Canvas {
            color: #00FF00;
            selectionColor: #FFFF00;
        }

	    s|SkinnableContainer#container1 {
	        color: #0000FF;
	    }
        s|SkinnableContainer.thisClass {
            color: #FF0000;
            fontWeight: "bold";
        }
        s|SkinnableContainer s|Button {
            fontStyle: "italic";
        }
        s|SkinnableContainer {
            color: #00FF00;
        }

        mx|VBox {
            color:#000000;
        }
		mx|VBox#firstBox {
		    color: #CC3366;
		}

		mx|VBox#firstBox.yellowText {
		    color: #FF0000;
		}

		#firstbox {
		    color: #009900;
		}
		.yellowText {
		    color: #000099;
		}

		mx|Text {
		   color: #3355AA;
		}

        s|NumericStepper.pinkie {
            chromeColor: #FF00FF;
         }

        s|NumericStepper.pinkie {
            symbolColor: #0000FF;
        }

        s|NumericStepper#idNS {
            chromeColor: #FF00FF;
            selectionColor: #6633FF;
         }

        s|NumericStepper#idNS {
            chromeColor: #FF3366;
            symbolColor: #0000FF;
        }

        *.redText {
            color: #FF0000;
        }

        *:down {
          chromeColor: #00CC66;
        }

        s|Panel * {
            chromeColor: #3366CC;
            color: #009999;
        }

        *#track {
            chromeColor: #FFCC66;
        }

	    s|Button.yellowStyle#button1:down {
            chromeColor: #FFFF33;
        }
    </fx:Style>

    <fx:Style source="assets/myStyles.css" />

<s:HGroup>
    <comps:CustomPanel id="myPanel1" styleName="thisClass" />
    <comps:CustomPanel id="myPanel2" />
</s:HGroup>
<s:HGroup>
    <comps:CustomFxContainer id="container1" />
    <comps:CustomFxContainer id="container2" />
</s:HGroup>

<mx:VBox id="firstBox" styleName="yellowText">
    <mx:Label text="Label" />
    <mx:Text text="Text" />
</mx:VBox>
<mx:HBox>
    <s:Button label="submit" id="myButton" />
    <mx:Button label="button" id="oldButton" />
    <s:NumericStepper id="pinkNS" />
    <s:NumericStepper id="idNS" />
</mx:HBox>
<s:Panel id="newPanel" >
    <s:Button label="FxButton in FxPanel" id="buttonInPanel" />
    <mx:Text id="haloText" text="Halo Text" x="200" />
</s:Panel>
<s:HScrollBar id="hscrollBar" />
<mx:HBox>
    <s:Button label="submit" id="myButton2" styleName="yellowStyle" />
    <s:Button label="submit" id="button1" styleName="yellowStyle" />
</mx:HBox>
</s:Application>