<?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:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark">
    
    <!-- Properties of the parent ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    <!-- All skins requires a states property that includes at least the normal state -->
    
    <s:states>
        <s:State name="normal" />
        <s:State name="disabled" />
    </s:states>
    
    <!-- Metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    <!-- The Metadata block contains the HostComponent directive, which declares which component this skin will be applied to -->
    
    <fx:Metadata> 
        [HostComponent("spark.components.Application")]
    </fx:Metadata>
    
    <!-- This section defines the background shape and colors for the skin -->
    
    <s:Rect horizontalCenter="0" 
			top="20" 
        	width="750" height="{contentGroup.height}"
			radiusX="10">
        
        <s:fill>
            <s:SolidColor color="#FFFBCF" />
        </s:fill>
        
        <s:stroke>
            <s:SolidColorStroke color="#AAAAAA" />
        </s:stroke>
        
    </s:Rect>
    
    <!-- 
    The Group container must have an id property with a value of contentGroup.
    This defines the container display layout and properties for the Application 
    container's content children.
    -->
    
    <s:Group id="contentGroup"
       		 top="20" bottom="20"
       		 horizontalCenter="0">		
        
    </s:Group>	
    
</s:SparkSkin>
