/* 'UTILITY' CLASSES */
.clear
{
  clear: both;
}

/* OVERRIDE SOME OF THE RESET STUFF */
em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

.hidden,
.wgethidden {
  display: none;
}

body {
  font-family: Arial, Tahoma, Times;
  font-size: 75%;
}

#wrap {
  margin: 0 auto;
  min-width: 785px;
  width: 785px;
}

#header {
  min-height: 137px;
  height: auto !important;
  height: 137px;
  background-color: #fff;
  position: relative;
  z-index: 100;
}

  #header img.logo {
    margin: 10px 0px;
    float: left;
  }  
  
  #header img.flag {
    margin: 10px 0px;
    float: right;
  }

  #header #quote {
    position: absolute;
    left: 540px;
    top: 7px;
  }

  #header #nav1 {
    height: 39px;
    clear: both;
  }
  
  #header #nav1 li {
    list-style: none;
    float: left;
  }

#middle {
  background: #fff url( '../images/bg/home.gif' ) no-repeat scroll left top;
  min-height: 440px;
  height: auto !important;
  height: 440px;
}

  #middle #sidebar {
    width: 235px;
    float: left;
    height: 340px;
    padding-top: 23px;
  }
  
  #middle #main {
    width: 532px; /* 785 - 235 (left) - 18px (padding on the right) */ 
    float: left;
    height: 420px; /* min-height van #middle - padding */
    padding: 20px 0px 0px 0px;
  }
  
    #main #maincontent {
      padding-left: 17px;
      height: 100%;
    }
  
      #maincontent h2 {
        color: #fc1921;
        font-size: 1.25em;
        padding: 5px 0px;
        float: left;
        /* used to be:
         * 
         * font-size: 1.3em;
         * font-variant: small-caps;
         */
      }
      
      #maincontent h2.subjecttitle a {
        text-decoration: none;
        color: #fc1921;
        float: left;
      }
    
      #maincontent h2.subjecttitle a.print-icon {
        display: block;
        width: 19px;
        height: 19px;
        margin-left: 12px;
        background: transparent url(../images/subject/student/print.gif) scroll no-repeat 0px 0px;
      }
      
      #maincontent h2.subjecttitle a.print-icon:hover {
        background-position: 0px -51px;
      }
      
      #maincontent h2.subjecttitle a.print-icon.teacher {
        background-image: url(../images/subject/teacher/print.gif);
      }

      #maincontent h2.subjecttitle a.print-icon span {
        padding: 2px 9px;
      }

      #maincontent h3 {
        font-size: 1.1em;
        font-weight: bold;
        padding-bottom: 0.5em;
      }

      #maincontent #text {
        overflow: auto;
        height: 350px;
        font-family: Verdana, Arial;
        line-height: 1.5em;
        letter-spacing: 0.03em;
        margin-top: 5px;
      }
      
      /* some views have a little more room */
      #maincontent #text.article,
      #maincontent #text.form,
      #maincontent #text.faq-list {
        height: 360px;
      }

        #text #textcontent {
          padding-right: 10px;
        }

      #maincontent #text.article .glossary-section {
        font-weight: bold;
        font-size: 1.3em;
        padding: 0.2em;
        background-color: #fff; 
        color: #000;
      }

      #maincontent #text.article .glossary-item {
        margin-bottom: 0.5em;
      }

  #middle #flashmovie {
    position: relative;
    top: 44px;
    left: 26px; 
    width: 730px;
    height: 320px;
  }

/******************************************************************************/
/* 'SUBJECT' ICON NAVIGATION                                                  */
/******************************************************************************/
#maincontent #navicons {
  float: right;
}

  #navicons li {
    text-align: center;
    list-style: none;
    padding: 0px 4px;
    float: left;
  }
  
  #navicons li.first {
    padding-left: 0;
  }
  
  #navicons li a {
    display: block;
    color: #000;
    font-size: 0.9em;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: bold;
    padding-top: 25px;
    background-color: transparent;
    background-attachment: scroll;
    background-position: 50% 0px;
    background-repeat: no-repeat;
  }

  #navicons li a:hover,
  #navicons li a.active { /* currently selected + hover */
    background-position: 50% -48px;
    color: #fc1921;
  }
  
  /* 'do' activity needs a little more room for the icon */
  #navicons li a.do {
    width: 32px; /* this is the width of the do-icon */
  }
  
  #navicons li a span {
    padding-top: 25px;
  }

/******************************************************************************/
/* DROPDOWN MENU (altered suckerfish)                                         */
/******************************************************************************/
/* positioning / functionality */
#nav2 {
  clear: both;
  line-height: 1;
}
  
  #nav2 li {
    float: left;
    position: relative;
    padding: 0.4em 0.5em;
    list-style: none;
  }
  
  #nav2 li ul {
    display: none;
    position: absolute;
    top: 1.6em;
    left: -1px;
  }
  
  #nav2 li:hover ul, 
  #nav2 li.over ul {
    display: block;
  }

/* layout / color */
#nav2 {
  border-top: 1px solid #000;
}
  #nav2 a {
    text-decoration: none;
    color: #000;
  }
  
  #nav2 li {
    border-right: 1px solid #000;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
  }

  #nav2 li:hover li a:hover,
  #nav2 li.over li a:hover {
    color: #fc1921;
  } 

  #nav2 li ul {
    border: 1px solid #000;
    background-color: #fff;
  }

  #nav2 li ul li {
    float: none;
    border: 0;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: normal;
    cursor: auto;
  }

/******************************************************************************/
/* CONTENT                                                                    */
/******************************************************************************/
#maincontent hr.top {
  clear: both;
  height: 1px;
  border: 0;
  color: #fff;
  background-color: #fff;
}

#maincontent hr.bottom {
  clear: both;
  height: 1px;
  border: 0;
  color: #fff;
  background-color: #fff;
}

#maincontent .subjecttitle {
  position: absolute;
}

#maincontent #text ul {
  margin-left: 3em;
}

  #text ol {
    padding-left: 3em;
  }

  #text .flashcontent {
    margin: 0;
    padding: 0;
    line-height: 0;
  }
  
  #text .flashcontent .alternative {
    position: relative;
    line-height: 1.5;
  }

.relimage {
  margin: 16px 0px 0px 16px;
}

/* 
 * Flash player link when there is alternative content shown.
 */

/* LAL-80: do not show when there is no flash at all */
#noflash .getflashplayer { 
  display: none;
}
 
.getflashplayer {
  position: absolute; 
  right: 0px; /* these are equivalent to the margin-{top,right} of .flashcontent */ 
  top: 0px;
}

.getflashplayer a {
  z-index: 24;
}

  .getflashplayer a:hover {
    /* 
     * don't ask me why, but IE(5.5, 6?) seems to need this 
     * border statement. It probably has to do with the
     * 'hasLayout' property (google it) 
     */
    border: 0px solid blue;
    z-index: 25;
  }
  
  .getflashplayer a span {
    display: none;
  }
  
  .getflashplayer a:hover span {
    position: absolute;
    z-index: 26; 
    display: block;
    top: 36px;
    right: 0px;
    width: 150px;
    background-color: white;
    padding: 4px;
    text-decoration: none;
    border: 1px solid #fc1921;
  }

/******************************************************************************/
/* RESPONSEFORM                                                               */
/******************************************************************************/
.form form {
  margin-top: 1em;
}

.form table {
  width: 96%;
}
  .form table td,
  .form table th {
    vertical-align: top;
  }

  .form table col#labels {
    width: 28%;
  }
  
  .form table col#fields {
    width: 72%;
  }
  
  .form table input,
  .form table textarea,
  .form table select {
    width: 75%;
    margin-bottom: 3px;
  }
  
  .form table input.radio,
  .form table input.checkbox {
    width: auto;
    margin-bottom: auto;
  }

  .form table .error-text {
    font-weight: bold;
  }

/******************************************************************************/
/* XSLT FAQ LIST                                                              */
/******************************************************************************/
.faq-list dl dt {
  font-weight: bold;
  font-size: 1.1em;
  margin-bottom: 0.2em;
  border-top: 1px solid;
  border-bottom: 1px solid;
}

.faq-list dl dd {
  padding-left: 1em;
}

.faq-list dl dd dl dt {
  font-size: 1em;
  border-top: none;
  border-bottom: none;
}

.faq-list dl dd dl dd {
  font-weight: normal;
  margin-bottom: 0.5em;
}

/******************************************************************************/
/* XSLT FAQ LIST                                                              */
/******************************************************************************/
p.question {
  padding-top: 1em;
  font-weight: bold;
}