/* 
	
 *   TestON is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 2 of the License, or
 *   (at your option) any later version.

 *   TestON is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.

 *   You should have received a copy of the GNU General Public License
 *   along with TestON.  If not, see <http://www.gnu.org/licenses/>.


    Document   : wizard
    Created on : 22 Mar, 2013, 11:32:44 AM
    Author     : Raghav Kashyap (raghavkashyap@paxterrasolutions.com)
    Description:
        Purpose of the stylesheet follows.
*/

#pane{
    -fx-background-image: url("/images/TestON.png");
    -fx-background-repeat: stretch;   
    -fx-background-size: 300 200;
    
     
}
.label {
    -fx-font-size: 15px;
    -fx-font-weight: bold;
    -fx-text-fill: #333333;
    -fx-effect: dropshadow( gaussian , rgba(255,255,255,0.5) , 0,0,0,1 );
}

.button {
    -fx-text-fill: black;
    -fx-font-family: "Arial Narrow";
    
    
    -fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 5, 0.0 , 0 , 1 );
}

#testParamsTitle {
   -fx-font-size: 32px;
   -fx-font-family: "Arial Black";
   -fx-fill: #818181;
   -fx-effect: innershadow( three-pass-box , rgba(0,0,0,0.7) , 6, 0.0 , 0 , 2 );
}
