<?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.

-->
<mx:Application backgroundColor="0xFFFFFF" backgroundImage="" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" width="600" height="600" >
    <mx:Style source="Assets/myStyles.css" />
   	<mx:Style>
	
		@namespace s "library://ns.adobe.com/flex/spark";
		@namespace mx "library://ns.adobe.com/flex/mx";
	
		@font-face {
			src: url("../../../../Assets/Fonts/PT_Serif/PT_Serif-Web-Regular.ttf");
			fontFamily: EmbeddedArial;
			embedAsCFF: false;
		}

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

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

        mx|Accordion{
            fontFamily: MyVerdana;
            fontAntiAliasType: normal;
        }
   	 </mx:Style>
<AccordionComp id="mybox"  />   
</mx:Application>
