<?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:s="library://ns.adobe.com/flex/spark"
	xmlns:mx="library://ns.adobe.com/flex/mx"
	width="800" height="600"
	xmlns:comps="comps.*"
    	xmlns:local="*">
	<fx:Style>
	    @namespace s "library://ns.adobe.com/flex/spark";
	    @namespace mx "library://ns.adobe.com/flex/mx";
		@font-face {
			src: url("../../../../../Assets/Fonts/Cousine/Cousine-Regular.ttf");
			fontFamily: EmbeddedArno;
			embedAsCFF: true;
		}

	    s|Button{
		fontFamily: EmbeddedArno;
		fontLookup: embeddedCFF;
		fontAntiAliasType: normal;
	    }
	    global{
	        kerning: "off";    
	    }

	</fx:Style>
	<fx:Script>
		<![CDATA[
		   import spark.components.*;
		   import mx.core.UIComponent;
			public function boundsWidthGap(element1:UIComponent,element2:UIComponent):Number
			{
				return element1.width-element2.width;
			}
			public function boundsHeightGap(element1:UIComponent,element2:UIComponent):Number
			{
				return element1.height-element2.height;
			}
			

		]]>
	</fx:Script>
	<comps:DefaultGroup id="parentGroup"/>
</s:Application>

