/* @override http://www.mmop.org.au/css/main-content.css */
/* 	
CSSEdit override:
CSSEdit allows you to edit a local stylesheet (.css file) and view changes immediately in a CSSEdit "Preview" window. Simply add an @override command at the top of the stylesheet with the full URL of the server stylesheet you want to override (see above).   
*/


/* @group GENERAL MARKUP */	

/* @group Heading - level 1 */

/*	
TAGLET NAME: Heading - level 1
TAGLET GROUP: General markup
TAGLET DESCRIPTION: this taglet is used to generate every level 1 heading which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives level 1 heading text from the backend.
MARKUP EXAMPLE:
= Heading Level 1 =
*/

h1 {
	color:#75522f;
	font-size:15px;
	line-height:11px;
	margin:0px 0px 6px 0px;
	font-weight: normal;
	padding-bottom: 4px;
}

/*	
ATTENTION DESIGNERS: 
The dynamic Page Title from the page editor is inserted into a template's <INSERT page-title> tag as raw text. It does not pass through a taglet and get wrapped in any tags. If designers want the dynamically generated page title to be semantically correct and wrapped in <h1></h1> tags - then add the <INSERT page-title> within the following tags to each template: 
<h1 class="dynamic-page-title"><INSERT page-title></h1>   
*/
	
h1.dynamic-page-title {
	border: 1px dashed #DDDDDD;
	margin: 15px;
	padding: 1px;
}

/* @end heading level 1 */



/* @group Heading - level 2 */

/*	
TAGLET NAME: Heading - level 2
TAGLET GROUP: General markup
TAGLET DESCRIPTION: this taglet is used to generate every level 2 heading which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives level 2 heading text from the backend.   
MARKUP EXAMPLE:
== Heading Level 2 ==
*/

h2 {
	font-size:13px;
	line-height:14px;
	margin:0px 0px 0px 0px;
	font-weight: normal;
}

/* @end heading level 2 */



/* @group Heading - level 3 */

/*	
TAGLET NAME: Heading - level 3
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every level 3 heading which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives level 3 heading text from the backend.   
MARKUP EXAMPLE:
=== Heading Level 3 ===
*/

h3 {
	color:#75522f;
	font-size:13px;
	line-height:11px;
	margin:0px 0px 6px 0px;
	font-weight: normal;
	padding:0px;
}

/* @end heading level 3 */



/* @group Heading - masthead */

/*	
TAGLET NAME: Heading - level 4
TAGLET GROUP: General markup
TAGLET DESCRIPTION: this taglet is used to generate every level 4 masthead heading which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives level 4 (masthead) heading text from the backend.   
MARKUP EXAMPLE: 
==== Heading Level 4 (masthead) ====
*/
	
div.masthead {
	text-align: left;
}
h4 {
	color:#75522f;
	font-size:14px;
	line-height:17px;
	margin:0px;
	font-weight: normal;
	padding:4px 0px 8px 0px;
}

/* @end heading masthead */



/* @group Paragraphs */

/*	
TAGLET NAME: Wrapper - paragraph wrapper
TAGLET GROUP: General markup
TAGLET DESCRIPTION: this taglet is used to generate every paragraph which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives paragraph text from the backend.   
*/

p {
	margin: 0px;
	padding: 0px;
}
#content-region p {
	padding:0px 0px 10px 0px;
	margin:0px;
	width: 520px;
	text-align: left;
}
#layout-region {
	padding:0px 0px 0px 0px;
	margin:0px;
	float: right;
}
#layout-region p {
	padding:0px 20px 10px 0px;
	margin-left:169px;
	width: 351px;
	min-height: 154px;
}

/* @end paragraph wrapper */



/* @group Bold ('Strong')*/

/*	
TAGLET NAME: Style - Bold ('Strong')
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every bolded text which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives bold text from the backend.   
MARKUP EXAMPLE:
__Bold text__
*/

b {
	
}

/* @end bold */



/* @group Italic ('Emphasis') */

/*	
TAGLET NAME: Style - Italic ('Emphasis')
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every italicized text which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives italic text from the backend.   
MARKUP EXAMPLE:
**Italic text**
*/

i {
	
}

/* @end italic */



/* @group Unordered list */

/*	
TAGLET NAME: List - Bullet list (unordered)
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every 'unordered list' which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives 'list items' from the "List - item (unordered)" taglet (see below).   
MARKUP EXAMPLE:
- List item
- List item
- List item
*/

ul {
	
}

/*	
TAGLET: List - item (unordered) 
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every 'list item' which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives list item text from the backend.   
*/

ul li {
	
}

/* @end unordered list */



/* @group Numeric Lists */

/*	
TAGLET NAME: List - ordered (numeric) 
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every 'ordered/numbered list' which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives list items.   
MARKUP EXAMPLE:
1) List item 
2) List item
3) List item
*/

ol {
	
}

/*	
TAGLET NAME: List - item (unordered)
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every 'list item' which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives list item text from the backend.   */

ol li {
	
}

/* @end numeric list */



/* @group Multi Level Lists */

/*
MARKUP EXAMPLE:
- Level 1
-- Level 2
-- Level 2
--- Level 3
--- Level 3
- Level 1
*/
ul ul li {
	
}

ul ul ul li {
	
}

ul ul ul ul li {
	
}

/* @end multi level lists */



/* @group Supersript & Subscript */

/*	
TAGLET NAME: Style - Superscript
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every 'superscripted' text which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives superscript text from the backend.   
*/

sup {
	
}

/*	
TAGLET: Style - Subscript
TAGLET GROUP: General markup 
TAGLET DESCRIPTION: this taglet is used to generate every 'subscripted' text which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives subscript text from the backend.   
*/

sub {
	
}

/* @end superscript & subscript */



/* @group Block - Indented content */

/* 	
TAGLET NAME: Block - Indented block
TAGLET GROUP: General markup
TAGLET DESCRIPTION: this taglet is used to generate every 'indented' element (normally a paragraph) which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives indented content.   
*/

div.indent {
	margin-left: 50px;
}

/* @end block - indented block */



/* @group Block - Page summary */

/*	
TAGLET NAME: Block - Page summary
TAGLET GROUP: General Markup
TAGLET DESCRIPTION: this taglet is used to generate every page 'summary' which appears in a web-page of this site.
BACKGROUND: every page can have a page 'summary'. This is entered using the 'summary' field of the page settings editor. To open a page settings editor, click on page's "S" (settings) button in the Pages Catalogue.   
CONTENT EXPRESSION: [[ summary of content-name of pages ]]
*/
		
div.summary-block-wrapper {
	border: 5px solid #A9A9A9;
	margin: 1px;
}

/*	
TAGLET NOTE (1): each summary has a link to a page eg: <a href="?">. Each summary's link address is retrieved from the backend as a parameter value:
<taglet>: <a><attr name="href"><pval desc="The URL of the page which the description is coming from" name="link"/></attr>   
*/

div.summary-block-wrapper a {
	
}

/*	
TAGLET NOTE (2): the page title text for the heading is retrieved from the backend as a parameter value:
<taglet>: <h3><pval desc="The title of the summary/page" name="title"/></h3>   
*/

div.summary-block-wrapper h3 {
	
}

/*	
TAGLET NOTE (3): the <content-slot/> for this taglet receives the page's "summary" from the backend   
*/

div.summary-block-wrapper p {
	
}

/* @end block - page summary */

/* @end taglet group: general markup */






/* @group ADVANCED PUBLISHING TOOLS */

/*	
TAGLET GROUP: Advanced Publishing Tools 
TAGLET BACKGROUND: these advanced publishing tools should be created using the 'Markup Editor' in the pop-up page editor.   
*/
	
/* @group Callout Box */

/* 	
TAGLET NAME: Box - Callout box
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: this taglet is used to generate every 'callout' which appears in a web-page of this site.
TAGLET NOTE: the <content-slot/> for this taglet receives callout text from the backend.  
MARKUP EXAMPLE: 
------/
This is a callout.
/------

*/

div.callout-block-wrapper {
	border-top: 4px solid #808080;
	border-bottom: 4px solid #808080;
	background-color: #CCCCCC;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	padding: 10px;
}

/* @end callout box */



/* @group Block - Code-block (examples) */

/*	
TAGLET NAME: Block - Code-block
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: this taglet is used to generate every 'Markup' upper panel (code-block) which appears in a web-page of this site.
TAGLET BACKGROUND: each 'Markup' example has two panels; an upper panel which displays a [[ content expression ]] and a lower panel displays content (see below). To edit or create new code examples click on the Markup tab (an Admin Tool) in the Admin Portal.  
CONTENT EXPRESSION: ((markup:item-name)) 
*/

div.markup-wrapper {
	border-top: 20px solid #CCCCCC;
	border-right: 20px solid #CCCCCC;
	border-left: 20px solid #CCCCCC;
	border-bottom: 5px solid #CCCCCC;
	margin-left: 1px;
	margin-bottom: 0px;
	margin-right: 1px;
}   

p.markup-header {
	background-color: #CCCCCC;
	border: 1px solid #CCCCCC;
	padding-left: 5px;
	margin: 1px;
	line-height: 150%;
}

div.markup-border {
	border: 1px solid #CCCCCC;
	margin: 1px;
}

/*	
TAGLET NOTE: the <content-slot/> for this taglet receives text identified in the "Markup item detail" field of the Markup Catalogue.   
*/

pre.markup {
	background-color: #FFFFFF;
	margin: 0px;
	padding: 5px;
}

/*	
TAGLET NAME: Notes wrapper 
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: this taglet is used to generate every 'Markup' lower panel (content example) which appears in a web-page of this site.
TAGLET BACKGROUND: each 'Markup' example has two panels; an upper panel which displays a [[ content expression ]] (see above) and a lower panel which displays content.
TAGLET NOTE: the <content-slot/> for this taglet receives content identified in the "Notes" field of the Markup Catalogue.
CONTENT EXPRESSION: ((markup:item-name))   
*/

div.notes-wrapper {
	border-left: 20px solid #CCCCCC;
	border-right: 20px solid #CCCCCC;
	border-bottom: 20px solid #CCCCCC;
	border-top: 10px solid #CCCCCC;
	background-color: #FFFFFF;
	margin-top: 0px;
	margin-right: 1px;
	margin-bottom: 1px;
	margin-left: 1px;
}

div.notes-inner-wrapper {
	border: 1px solid #CCCCCC;
	margin: 1px;
	padding: 10px;
}

/* @end code block */



/* @group Quote WITH attribution */

/* 	
TAGLET NAME: Quote WITH attribution
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: this taglet is used to generate every quote which appears in a web-page of this site.
MARKUP EXAMPLE: 
""Quoted text goes here.(Author attribution, 2005)""

*/

div.quotation-block-wrapper {
	border: 10px solid #808080;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}

div.quote-outer-box {
	border: 2px solid #A9A9A9;
	margin: 1px;
}

/*	
TAGLET NOTE (1): the <content-slot/> for this taglet receives the quoted text from the backend.   
*/

div.quote-inner-box {
	border: 5px solid #A9A9A9;
	background-color: #CCCCCC;
	font-size: 125%;
	margin: 1px;
	padding: 5px;
}

/*	
TAGLET NOTE (2): the attribution & date for each quotation are retrieved from the backend as a parameter value (pval):
<taglet>: <pval desc="The attribution/date given in the quote markup" name="by"/>   
*/

div.quote-attribution {
	border: 5px solid #A9A9A9;
	margin: 1px;
	background-color: #CCCCCC;
	text-align: right;
	font-size: 80%;
	padding: 5px;
}

/* @end quote with attribution */



/* @group Titled alert box */

/* 	
TAGLET NAME: Box - Titled alert box
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: this taglet is used to generate every titled 'alert box' which appears in a web-page of this site.
MARKUP EXAMPLE:
!--- Alert Box Title ---!
...
!-----------------!

*/

div.alert-box-wrapper {
	border: 20px solid #000000;
	width: 60%;
	margin: 1px;
	margin-left: auto;
	margin-right: auto; 
}

div.alert-box {
	border: 10px solid #A9A9A9;
	margin: 1px;
}

/*	
TAGLET NOTE (1): the text for each alert box's heading is retrieved from the backend as a parameter value (pval):
<taglet>: <pval desc="Masthead heading text" name="heading"/>   
*/

div.alert-box div.box-masthead {
	background-color: #000000;
	color: #FFFFFF;
	text-align: left;
	line-height: 150%;
	margin: 1px;
}

/*	
TAGLET NOTE (2): the <content-slot/> for this taglet receives alert box content.   
*/

div.alert-box div.box-content {
	border: 5px solid #000000;
	background-color: #A9A9A9;
	margin: 1px;
	padding: 5px;
}

/* @end alert box */



/* @group Titled information Box */

/* 	
TAGLET NAME: Box - Titled information box
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: this taglet is used to generate every titled 'information box' which appears in a web-page of this site.
MARKUP EXAMPLE:		
+--- Information Box Title ---+
...
+---------------+  

*/

div.info-box-wrapper {
	border: 20px solid #808080;
	padding: 1px;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}

div.info-box {
	border: 10px solid #CCCCCC;
	padding: 1px;
}

/*	
TAGLET NOTE (1): the text for each information box's heading is retrieved from the backend as a parameter value (pval):
<taglet>: <pval desc="Masthead heading text" name="heading"/>   
*/

div.info-box div.box-masthead {
	background-color: #A9A9A9;
	color: #ffffff;
	text-align: left;
	line-height: 150%;
	margin-bottom: 1px;
}

/*	
TAGLET NOTE (2): the <content-slot/> for this taglet receives information box content.   
*/

div.info-box div.box-content {
	text-align: left;
	background-color: #CCCCCC;
	border: 10px solid #A9A9A9;
	padding: 5px;
}

/* @end information box */  

 

/* @group Multi Part Page */

/* 	
TAGLET NAME: Multi-part-page - menu wrapper
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: This is the first of three taglets used to generate every 'multi part page' which appears in a web-page of this site.
TAGLET BACKGROUND: This taglet is used to generate each multi part page's <ul class="section-list"> which functions as a menu wrapper containing each parts link at the top of the multi part page.
MARKUP EXAMPLE: 
>--- Section Title One ---<
...
>--- Section Title Two ---<

TAGLET NOTE: the <content-slot/> for this taglet receives links from the "Multi-part-page - menu link" taglet (see below).   */

ul.section-list {
	border: 1px solid #808080;
}

/*	
TAGLET NAME: Multi-part-page - menu link
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: This is the second of three taglets used to generate every 'multi part page' which appears in a web-page of this site. This taglet is used to generate each parts 'link' which has its title in an anchor eg: <li class="section-list-item"><a href="?">1. Section Name</a></li>   */

li.section-list-item {
	background-color: #CCCCCC;
	margin: 1px;
}

/*	
TAGLET NOTE (1): the number of each 'part' is retrieved from the backend as a parameter value (pval):
<taglet>: <li class="section-list-item"><pval desc="Number of the part being linked" name="number"/></li>
	
TAGLET NOTE (2): the <content-slot/> for this taglet receives the text for each parts heading from the backend.
	
TAGLET NOTE (3): each link's href attribute eg: <a href="?"> is retrieved from the backend as a parameter value (pval):
<taglet>: <attr name="href"><pval desc="Target href for the linked part" name="link"/></attr>   
*/

li.section-list-item a {
	display: block;
}

li.section-list-item a:hover {
	text-decoration: none;
}

/*	
TAGLET NAME: Multi-part-page - next-part link
TAGLET GROUP: Advanced Publishing Tools
TAGLET DESCRIPTION: This is the third of three taglets used to generate every 'multi part page' which appears in a web-page of this site. This taglet is used to generate each <span class="next-section-link"> which appears at the bottom of each part.   
*/
	
span.next-section-link {
	border: 1px solid #808080;
	padding: 1px;
	background-color: #CCCCCC;
	margin: 1px;
}

/*	
TAGLET NOTE (1): each links href attribute eg: <a href="?"> is retrieved from the backend as a parameter value:
<taglet>: Next: <a><attr name="href"><pval name="link"/></attr>

TAGLET NOTE (2): this taglet's <content-slot/> receives the name of the next part from the backend.   
*/

span.next-section-link a {
	background-color: #CCCCCC;
}

/* @end multi part page */

/* @end Taglet Group: Advanced Publishing Tools */






/* @group IMAGES */

/* @group Unformatted images */

/*	
TAGLET NAME: Image - Unformatted image
TAGLET GROUP: Images and Media
TAGLET DESCRIPTION: This taglet is used to generate every unformatted full sized image or resized image thumbnail which appears in a web-page of this site.
TAGLET BACKGROUND: The default widths of resized image thumbnails are:
	•	tiny-thumbnail	40px
	•	small-thumbnail	80px
	•	thumbnail	120px
	•	large-thumbnail	180px  
CONTACT IMAGINE INDIGO: The width of resized image thumbnails can be customized and additional custom widths can also be defined for each site.
CONTENT EXPRESSIONS:
	[[ content-name of images ]]
	[[ tiny-thumbnail of content-name of images ]]
	[[ small-thumbnail of content-name of images ]]
	[[ thumbnail of content-name of images ]]
	[[ large-thumbnail of content-name of images ]]   
*/

img {
	padding: 0px;
	margin: 0px;
	border: 0px;
}

/* @end unformatted images */



/* @group Centered or floated images */

/* 	
TAGLET NAME: Image - Floating image
TAGLET GROUP: Images and Media
TAGLET DESCRIPTION: this taglet is used to generate every centered or floated image (without a caption) which appears in a web-page of this site.
CONTENT EXPRESSIONS:
	[[ center of content-name of images ]]
	[[ float-left of content-name of images ]]
	[[ float-right of content-name of images ]]
		
TAGLET NOTE (1): 'when' an image's alignment is centered...
<taglet>: <when test="$parameter{alignment} equals 'center'">   
*/

div.floating-image-center {
	text-align: left;
	margin: 1px;
}

/*	
TAGLET NOTE (2): each image's URL is needed for its source attribute eg: <img src="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <img><attr name="src"><pval desc="Image's URL" name="image"/></attr>
	
TAGLET NOTE (3): ...each image's caption is needed for its alternate text attribute eg: <img alt="?"/>. A <content-slot/> receives the caption from the backend.
<taglet>: <attr name="alt"><content-slot/></attr>   
*/

div.floating-image-center img {
	
}

/*	
TAGLET NOTE (4): 'when' an image's alignment is floated to the left...
<taglet>: <when test="parameter{alignment} equals 'left'">
	
TAGLET NOTE (5): ...then a CSS class is applied to the image eg: <img class="floating-image-left">
<taglet>: <img><css-class>floating-image-left</css-class>   
*/

img.floating-image-left {
	float: left;
	margin: 2px 15px 10px 0px;
	height: 154px;
	width: 154px;
}

/*	
TAGLET NOTE (5): 'when' an image's alignment is floated to the right...
<taglet>: <when test="$parameter{alignment} equals 'right'">
	
TAGLET NOTE (6): ...then a CSS class is applied to the image eg: <img class="floating-image-right">
<taglet>: <img><css-class>floating-image-right</css-class>   
*/

img.floating-image-right {
	float: right;
}

/*	
TAGLET NOTE (7): each image's URL is needed for its source attribute eg: <img src="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <attr name="src"><pval name="image"/></attr></img>   
*/

/* @end centered or floated image */



/* @group Captioned Images */

/*	
TAGLET NAME: Image - Captioned image
TAGLET GROUP: Images and Media
TAGLET DESCRIPTION: this taglet is used to generate every captioned image which appears in a web-page of this site - including centered and floated captioned images.
CONTENT EXPRESSIONS:
	[[ caption of content-name of images ]]
	[[ center of caption of content-name of images ]]
	[[ float-left of caption of content-name of images ]]
	[[ float-right of caption of content-name of images ]]

TAGLET NOTE (1): 'when' a captioned image's alignment is centered...
<taglet>: <when test="$parameter{alignment} equals 'center'">   
*/

div.captioned-image-center {
	text-align: left;
}

div.captioned-image-center div.captioned-image-outer-wrapper {
	border: 1px solid #A9A9A9;
	margin: 1px;
} 

div.captioned-image-center div.captioned-image-inner-wrapper {
	border: 1px solid #CCCCCC;
	margin: 1px;
}

/*	
TAGLET NOTE (2): each image's URL is needed for its source attribute eg: <img src="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <img><attr name="src"><pval desc="The URL of the image file" name="image"/></attr>   
	
TAGLET NOTE (3): each image's caption is needed for the alternate text attribute eg: <img alt="?"/>. A <content-slot/> receives the caption from the backend.
<taglet>: <attr name="alt"><content-slot/></attr>   
*/

div.captioned-image-center img {
	
}

/*	
TAGLET NOTE (4): a style attribute is applied to the image captions paragraph eg: <p style="width: ?px; text-align: center;">. The width is retrieved from the backend as a parameter value (pval) based on the image thumbnail's width. A <content-slot/> within the <p> receives the image caption from the backend: 
<taglet>: <p><attr name="style">width: <pval name="image_width"/>px; text-align: center; </attr><content-slot/></p>   
*/

div.captioned-image-center p {
	
}

/*	
TAGLET NOTE (5): 'when' a captioned image's alignment is floated-left...
<taglet>: <when test="$parameter{alignment} equals 'left'">   
*/

div.captioned-image-outer-wrapper.floating-image-left {
	float: left;
	border: 1px solid #A9A9A9;
	margin: 1px;
}

/*	
TAGLET NOTE (6): 'when' a captioned image's alignment is floated-right...
<taglet>: <when test="$parameter{alignment} equals 'right'">   
*/

div.captioned-image-outer-wrapper.floating-image-right {
	float: right;
	border: 1px solid #A9A9A9;
	margin: 1px;
}

div.captioned-image-outer-wrapper {
	border: 0px solid #A9A9A9;
	margin: 0px;
}

div.captioned-image-inner-wrapper {
	border: 0px solid #CCCCCC;
	margin: 0px;
}

/*	
TAGLET NOTE (7): each image's URL is needed for its source attribute eg: <img src="?">. This is retrieved from the backend as a parameter value (pval)	
<taglet>: <img><attr name="src"><pval desc="The URL of the image file" name="image"/></attr>
	
TAGLET NOTE (8): each image's caption is needed for its alternate text attribute eg: <img alt="?"/>. A <content-slot/> receives the caption from the backend.
<taglet>: <attr name="alt"><content-slot/></attr>   
*/

div.captioned-image-inner-wrapper img {
	text-align: left;
	padding: 0px;
	margin: 0px 12px 12px 0px;
}

/*	
TAGLET NOTE (9): a style attribute is applied to the image caption's paragraph eg: <p style="width: ?px; text-align: center;">. The width is retrieved from the backend as a parameter value (pval) based on the image thumbnail's width. A <content-slot/> within the <p> receives the image caption from the backend. 
<taglet>: <p><attr name="style">width: <pval name="image_width"/>px; text-align: center; </attr><content-slot/></p>   
*/

div.captioned-image-inner-wrapper p {
}

/*	
The .inline-block class is used to add inline-block display elements for caption wrappers. For more info:
http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/   
*/

.inline-block {
	display: -moz-inline-stack;
	display: inline-block;
	zoom: 1;
	*display: inline;
}

/* @end captioned image */



/* @group Image - Lightbox */

/*	
TAGLET NAME: Image - Lightbox 
TAGLET GROUP: Images and Media   
TAGLET DESCRIPTION: this taglet is used to generate every lighbox image which appears in a web-page of this site.
CONTENT EXPRESSION:
	[[ lightbox of content-name of images ]]	
	
TAGLET NOTE (1): an anchor for the lightbox image eg: <a href="#" class="lightbox-image-link">...
<taglet>: <a href="#" class="lightbox-image-link"> 
	
TAGLET NOTE (2): ...has an 'onClick' attribute which calls a 'showLightbox' Javascript function eg: <a onClick="showLightbox">
<taglet>: <attr name="onClick">showLightbox   
	
TAGLET NOTE (3): ...the anchor also has a title attribute which uses an image's caption. This is retrieved from the backend as a parameter value (pval):
<taglet>: <attr name="title"><pval name="lightbox_image_caption"/></attr>   */

a.lightbox-image-link {
	
}

/*	
TAGLET NOTE (4): a URL is needed for each lightbox image's source attribute eg: <img src="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <img><attr name="src"><pval name="lightbox_image_link"/></attr>
	
TAGLET NOTE (5): each image's caption is needed for its alternate text attribute eg: <img alt="?"/>. This is retrieved from the backend as a parameter value (pval):
<taglet>: <attr name="alt"><pval name="lightbox_image_caption"/></attr>   
*/

a.lightbox-image-link img {
	
}

/*	
Taglets (advanced): What are the <split> and <script> parts of a taglet?
	
Simple taglets only contain <html> tags eg:
	<taglet>
	  <html>
	  ...
	  </html>
	</taglet>
		
Advanced interactive taglets (perhaps using AJAX/Javascript) will appear different eg:
	<taglet>
	  <html>
	  ...
	  </html>
	  <split region="hidden_divs">
	  ...
	  </split>
	  <script>
	  ...
	  </script>
	</taglet>
	  
The <split> part of a taglet:
	  
Sometimes when an interactive AJAX page is generated, it is necessary to pre-load some content into page, but hide it until it is needed eg: the lightbox feature is hidden until the user clicks on an image. Any tags in the <split region="hidden_divs"></split> part of a taglet will be generated into a template's <INSERT hidden-divs> tag - but remain hidden until they are required. Most often, a user will click on an element with an 'onClick' attribute which activates a Javascript function to show the content. In this taglet we have: 
	<taglet>: <a href="#" class="lightbox-image-link" onClick="showLightbox"
	  
The <script> part of a taglet:
	  
Some taglets have JavaScript code that needs to be run when a page is loaded. Any scripts that are placed in the <script></script > part of a taglet will be inserted into a template's <INSERT indigo-javascript> tag allowing them to be executed when a page is loaded. Indigo manages all Javascript libraries and functions for designers - all designers need to do is include the <INSERT indigo-javascript> tag in the head of every template   

TAGLET NOTE (6): in the <split> section of this taglet for hidden content, an underlay div has the following styles:
<taglet>: <div style="position: absolute; top:0; left:0; width: 100%; background-color: #000;" id="lightbox-underlay"><nbsp/></div>   
*/

div#lightbox-underlay {
	
}

/*	
TAGLET NOTE (7): in the <split> section of this taglet for hidden content, an overlay div has the following styles:
<taglet>: <div style="position: absolute; top:0px; left:0px; bottom:0px; right:0px; text-align: center;" id="lightbox-overlay">   
*/

div#lightbox-overlay{
	
}

div.lightbox-outer-wrapper {
	border: 20px solid #CCCCCC;
}

div.lightbox-inner-wrapper {
	border: 15px solid #EEEEEE;
	margin: 1px;
}

/*	
TAGLET NOTE (8): each image's URL is needed for its source attribute eg: <img src="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <img><attr name="src"><pval name="lightbox_target_image_link/></attr>
	
TAGLET NOTE (9): each image's caption is needed for its alternate text attribute eg: <img alt="?>. This is retrieved from the backend as a parameter value (pval):
<taglet>: <img><attr name="alt"><pval name="lightbox_image_caption"/></attr>   
*/

div.lightbox-inner-wrapper img {
	border: 5px solid #CCCCCC;
	margin: 1px;
}

/*	
TAGLET NOTE (10): the lightbox feature image's caption appears in a <p class="lightbox-image-caption">. The caption is retrieved from the backend as a parameter value (pval):
<taglet>: <p><pval name="lightbox_image_caption"/></p>   
*/

p.lightbox-image-caption {
	color: #FFFFFF;
}

/*	
TAGLET NOTE (11): the 'close' lightbox link...
<taglet>: <a href="#" class="lightbox-close-link">
	
TAGLET NOTE (12): ...has an 'onClick' attribute which closes the lightbox:
<taglet>: <a><attr name="onClick">closeLightbox</attr>Close</a>   
*/

a.lightbox-close-link {
	color: #00caff;
}

/*	
TAGLET NOTE (13): the <script> in this taglet is automatically inserted into a templates <INSERT indigo-javascript> tag
<taglet>: <script>ajaxEngine.registerAjaxElement(&#39;lightbox-underlay&#39;);</script>   
*/

/* @end image - lightbox */

  

/* @group Image Gallery */

/* 	
TAGLET NAME: Image gallery
TAGLET GROUP: Images and Media
TAGLET DESCRIPTION: this taglet is used to generate every image 'gallery' which appears in a web-page of this site. Note: It does not generate image galleries with pagelinks (see below)
CONTENT EXPRESSIONS:
	[[ gallery of images ]]
	[[ gallery of content-name-1,content-name-2,content-name-3 of images ]]
	[[ gallery of content* of images ]]

TAGLET NOTE (1): a CSS class for the gallery wrapper div is retrieved from the backend as a parameter value (pval) eg: <div class="gallery-outer-wrapper">   
<taglet>: <div><css-class><pval name="wrapper"/></css-class>   
*/	

div.gallery-outer-wrapper {
	border: 20px solid #808080;
}

div.gallery-message {
	border: 15px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

/*	
TAGLET NOTE (2): this taglets <content-slot/> receives content from a page called "image-gallery" which is located in the "System Generated Pages" of the Pages Catalogue   
*/

div.gallery-message p {
	line-height: 150%;
}

div.gallery-inner-wrapper {
	border: 15px solid #808080;
	margin: 1px;
}

div.feature-image {
	border: 10px solid #808080;
	background-color: #CCCCCC;
	margin: 1px;
}

/*	
TAGLET NOTE (3): the taglet generates a gallery's feature image. To do this it first identifes a gallery's images in the backend (as a dataset):
<taglet>: <with-data set-name="gallery_images">
	
TAGLET NOTE (4): 'when' an image is the 'first' in the gallery...
<taglet>:	<when test="$row{display_order}  equals 1"> 
		
TAGLET NOTE (5): ...then its caption is retrieved as a data value (dval) from the image_gallery dataset in the backend:
<taglet>:	<dval name="caption">   
*/

div.feature-image-caption {
	border: 3px solid #808080;
	margin: 1px;
}

/*	
TAGLET NOTE (6): an anchor contains the feature image eg: <a class="feature-image-link">. This anchor opens a new window with the full sized feature image. The feature image's URL is needed for the href attribute eg: <a href="?">. This is retrieved as a data value (dval) from the backend's image_gallery dataset:
<taglet>: <a class="feature-image-link"><attr name="href"><dval name="full_URL"/></attr>
	
TAGLET NOTE (7): to open the full sized feature image in a new window the anchor's 'target' attribute value must be "_blank" eg: <a target="_blank">
<taglet>: <attr name="target">_blank</attr>  
*/

a.feature-image-link {
	
}

/*	
TAGLET BACKGROUND: Feature image size - The default width of the feature image is 500px.
CONTACT IMAGINE INDIGO: if you would like to change the the width of the feature image, this can be customized for each site.
	
TAGLET NOTE (8): a feature image's URL is needed for its source attribute eg: <img src="?">. This is retrieved as a data value (dval) from the backend (the image_gallery dataset):
<taglet>: <img><attr name="src"><dval name="gallery_URL"/></attr>   */
	
a.feature-image-link img {
	
}

div.gallery-thumbs-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

/*	
TAGLET NOTE (9): the taglet next generates the image thumbnail gallery. To do this it first identifies the gallery image thumbnails as a dataset called "gallery_images" in the backend:
<taglet>:	<with-data set-name="gallery_images">
		
TAGLET NOTE (10): each image thumbnail is wrapped in an anchor:
<taglet>:	<a href="#" class="gallery-image-thumb-link">
		
TAGLET NOTE (11): when the anchor containing each image thumbnail is clicked on...
<taglet>:	<attr name="onClick"> 
		
TAGLET NOTE (12): ...then a javascript function is called which shows the thumbnail as the feature image eg: <a onClick="showPicture">
<taglet>: showPicture   
*/

a.gallery-image-thumb-link {
	
}

div.gallery-image-thumb-item {
	border: 3px solid #808080;
	background-color: #CCCCCC;
	margin: 1px;
}

/*	
TAGLET BACKGROUND: Thumbnail image size - the default width of the gallery image thumbnail is 100px.
CONTACT IMAGINE INDIGO: if you would like the width of gallery image thumbnails to be customized on this site.
	
TAGLET NOTE (13): each image thumbnail's URL is needed for its source attribute eg: <img src="?">. This is retrieved as a data value (dval) from the "gallery_images" dataset in the backend:
<taglet>: <img><attr name="src"><dval name="thumb_URL"/></attr>   
*/

div.gallery-image-thumb-item img {
	margin: 1px;
	cursor: pointer;
	cursor: hand;
}

/* @end image gallery */



/* @group Image Gallery with autopagelinks*/

/* 	
TAGLET NAME: Autopagelink gallery wrapper
TAGLET GROUP: Images and Media
TAGLET DESCRIPTION: this taglet is used to generate a wrapper which contains each auto pagelink image gallery which appears in a web-page of this site.
CONTENT EXPRESSIONS:
	[[ autopagelink of gallery of images ]]
	[[ autopagelink of content-name-1,content-name-2,content-name-3 of gallery of images ]]
	[[ autopagelink of content* of gallery of images ]]

TAGLET NOTE: this taglets <content-slot/> receives each image/caption/link from the "Autopagelink gallery item" taglet (see below)   
*/

div.autopagelink-gallery-wrapper {
	border: 20px solid #808080;
}

/*	
TAGLET NAME: Autopagelink gallery item
TAGLET GROUP: Images and Media
TAGLET DESCRIPTION: this taglet is used to generate each image thumbnail/caption/pagelink which appears in an auto pagelink image gallery.   
*/

div.autopagelink-item-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

div.autopagelink-image {
	border: 2px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

/*	
TAGLET NOTE (1): each image thumbnail is wrapped in an anchor: <a class="image-link">. Each anchor is hyperlinked to a page eg: <a href="?">. The hyperlink reference is retrieved from the backend as a parameter value (pval):
<taglet>: <a><attr name="href"><pval desc="A link to the page" name="link"/></attr>   
*/

a.image-link {
	
}

/*	
TAGLET NOTE (2): each image's URL is needed for its source attribute eg: <img src="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <img><attr name="src"><pval desc="A URL to the image" name="image_url"/></attr>   
*/

div.autopagelink-image img {
	
}

/*	
TAGLET NOTE (3): each thumbnail also displays a caption linked to a page in a div eg: <div class="autopagelink-caption"><a class="caption" href="?">Caption</a></div>   
*/

div.autopagelink-caption {
	border: 2px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

/*	
TAGLET NOTE (4): each image's caption is generated in an anchor element eg: <a class="caption">
<taglet>: <a class="caption">
	
TAGLET NOTE (5): each anchor's href attribute needs the address of a page eg: <a href="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <a><attr name="href"><pval desc="A link to the page" name="link"/></attr>
	
TAGLET NOTE (6): each image's caption eg: <a>Caption</a> is retrieved from the backend as a parameter value (pval):
<taglet>: <a href="?"><pval desc="The caption (description) of the image" name="caption"/>   
*/

div.autopagelink-caption a.caption {
	
}

/* @end image gallery with auto-page-links */



/*	@group Googlemaps */

/*	
TAGLET NAME: Googlemap
TAGLET GROUP: Images and media
CONTENT EXPRESSION:
	[[ latitude,longitude of googlemaps ]]
	[[ -33.869006,151.206685 of googlemaps ]]
	
TAGLET NOTE: the magnification/zoom of the GoogleMap is set to "14" - this can be changed by a designer:
<taglet>: controls-and-marker&#39;,14);   
*/

div.googlemap-wrapper {
	width: 100%;
	height: 300px;
	outline: 2px solid #808080;
}

/*	@end googlemaps */


/* @end image styles */






/* @group MEDIA */

/* 
Media related selectors yet to be aggregated.   
*/

/* @end */






/* @group LINKS */

/* 	
TAGLET NAME: Link - simple link
TAGLET GROUP: Menus and Links
TAGLET DESCRIPTION: this taglet is used to generate every simple link which appears in a web-page of this site.
CONTENT EXPRESSIONS:
	[[ Link text linked to content-name of catalogue ]]
	[[ Link text linked to content-name of pages ]]
	[[ Link text linked to content-name of images ]]
	[[ Link text linked to content-name of documents ]]
	[[ Link text linked to URL of internet ]]
	[[ Link text linked to name@company of email ]]
	
TAGLET NOTE (1): a URL is needed for each link's href attribute eg: <a href="?">. This is retrieved from the backend as a parameter value (pval):
<taglet>: <a><attr name="href"><pval desc="The link target URL" name="link"/></attr>
	
TAGLET NOTE (2): 'when' a link needs to open a new window...
<taglet>: <choose><when test="$parameter{'new-window'}">
	
TAGLET NOTE (3): ...then the anchor's 'target' attribute is given a '_blank' value eg: <a target="_blank">
<taglet>: <a><attr name="target">_blank</attr>
	
TAGLET NOTE (4): link text is needed for each anchor eg: <a>?</a>. This taglet's <content-slot/> receives the link text for each simple link from the backend   
*/

a {
	color: #75522f;
	text-decoration: none;
}

span a {
	
}

/* 	
STYLING NOTE: 
Link pseudo-classes have the same CSS specificity, therefore their order is critical because "if two rules have the same specificity, the last one defined prevails". For this reason, link pseudoclasses should have the following order: Link, Visited, Hover, Active (LoVeHAte):   
*/

a:link {
	
}

a:visited {	
}

a:hover {
	text-decoration: underline;
}

a:active {
}

/* @group Live page edit-link */

/*	
TAGLET NAME: Live page edit-link
TAGLET GROUP: Menus and Links
TAGLET DESCRIPTION: this taglet is used to generate every "Edit this page" link which appears in a web-page of this site.
TAGLET BACKGROUND: When a logged in Administrator views a web-page, an "Edit this page" link will appear at the bottom of the "main content area". When clicked on, this link opens the page's pop-up page editor.   

TAGLET NOTE (1): this taglet's <content-slot/> receives ALL page content - if, and only if, the page is being viewed by a logged in Administrator. This makes <div class="admin-edit"> a page wrapper for all page content in pages viewed by a logged in site administrator.   
*/

div.admin-edit {
	
}

div.admin-edit-link {
	border: 2px solid #333333;
	background-color: #cccccc;
	width: 6em;
	margin: 10px;
	padding: 3px;
}

/*	
TAGLET NOTE (2): an anchor with an href attribute eg: <a href="?"> activates a JavaScript function eg: <a href="JavaScript:openPopWin">
<taglet>: <a><attr name="href">JavaScript:openPopWin</attr>Edit this page</a>   
*/

div.admin-edit-link a {
	display: block;
}

div.admin-edit-link a:hover {
	text-decoration: none;
}

/* @end live page edit-link */



/* @group Rollover glossary tooltip */

/*	
TAGLET NAME: Glossary - Item link
TAGLET GROUP: Glossaries/Footnotes/Citations
TAGLET DESCRIPTION: this taglet is used to generate every glossary word with a rollover popup definition which appears in a web-page of this site.
CONTENT EXPRESSION: ((glossary:item-name))

TAGLET NOTE (1): each word used for the glossary rollover is retrieved from the backend as a parameter value (pval):
<taglet>: <a class="tip"><pval desc="Word as typed in document" name="original_word"/></a>   
*/

a.tip {
	color: #808080;
	text-decoration: underline;
}

/*	
TAGLET NOTE (2): What are the <split> and <script> parts of a taglet?
	
Simple taglets only contain <html> tags eg:
	<taglet>
	  <html>
	  ...
  </html>
	</taglet>
	
Advanced interactive taglets (perhaps using AJAX/Javascript) will appear different eg:
	<taglet>
	  <html>
	  ...
	  </html>
	  <split>
	  ...
	  </split>
	  <script>
  		  ...
	  </script>
	</taglet>
	  
The <split> part of a taglet:
	Sometimes when an interactive AJAX page is generated, it is necessary to pre-load some content into page, but hide it until it is needed eg: a rollover glossary tooltip. Any tags in the <split></split> part of a taglet will be generated into a template's <INSERT hidden-divs> tag - but remain hidden until they are required. In this taglet we have: 
  
<split region="hidden_divs"><div style="display:none; position: absolute; z-index: 200;" class="tooltip"><b><pval desc="Word as matched in glossary" name="word"/>:</b><content-slot/></div></split>
  
The <script> part of a taglet:
	Some taglets have JavaScript code that needs to be run when a page is loaded. Any scripts that are placed in the <script></script > part of a taglet will be automatically inserted into a template's <INSERT indigo-javascript> tag allowing them to be executed when a page is loaded. In this taglet we have:
	<script>var <unique-id name="t"/> = new TooltipHandler</script>
  
Indigo manages all Javascript libraries and functions for designers - all designers need to do is include the <INSERT indigo-javascript> tag in the head of every template.
*/

div.tooltip {
	background-color: #A9A9A9;
	border: 1px solid #222222;
	width: 50%;
}

/*	
TAGLET NOTE (3): the rollover word is retrieved from the backend as a parameter value (pval):
<taglet>: <b><pval desc="Word as matched in glossary" name="word"/>:</b>   
*/

div.tooltip b {
	color: #333333;
	font-weight: bold;
	line-height: 150%;
	margin-left: 5px;
}

/*	
TAGLET NOTE (4): the definition is retrieved from the backend and inserted into this taglets <content-slot/>   
*/

div.tooltip p {
	background-color: #CCCCCC;
	color: #333333;
	font-size: small;
	margin: 5px;
	padding: 5px;
}

/* @end rollover glossary tooltip */

/* @end links */






/* @group MENUS */

/* @group Smart Menus */

/* @group Smart menu wrappers */

/*	
TAGLET NAME: Smart Menus - Menu wrapper
TAGLET GROUP: Menus and Links 
MENU BUILDER: the menu builder can create a submenu simply by indenting a group of menu links. Different levels of submenu are also possible eg: level 1 submenu, level 2 submenu, level 3 submenu etc.
CONTENT EXPRESSION: [[ content-name of menus => navigation ]]
TAGLET DESCRIPTION: 
	This taglet generates every 'menu wrapper' and 'submenu wrapper' which contain a group of individual menu links - across every page of this website.
TAGLET BACKGROUND:	
	Every menu which appears in a web-page of this site is generated by two taglets: 
		1) "Smart Menu Links"
		2) "Smart Menu Wrappers"
	Each menu 'link' is generated by the "Smart Menu Link" taglet (see below) then passed into this taglet eg:
		<a>
		<a class="selected-page">
		<a class="submenu-visible">
		<a class="submenu-hidden">
	This taglet receives each menu link and places it in an appropriate wrapper eg:
		<div class="menu-wrapper"> 
		<div class="menu-content-name"> 
		<div class="submenu-wrapper"> 
		<div class="submenu-level-1">
		<div class="submenu-level-2">
		<div class="submenu-level-3">
		<div class="submenu-level-4">	

TAGLET NOTE (1): each 'link' built by the "Smart Menu Link" taglet is passed into this taglet and tested to determine which wrapper it should be enclosed in.

TAGLET NOTE (2): 'when' this taglet receives a 'submenu' link from the "Smart Menus - Menu link" taglet...
<taglet>: <when test="$parameter{'is_submenu'}">

TAGLET NOTE (3): ...then the submenu link is enclosed in a div wrapper which has two CSS classes: (1) the first class is shared by every submenu wrapper eg: <div class="submenu-wrapper">
<taglet>: <css-class>submenu-wrapper</css-class>   
*/

div.submenu-wrapper {
	border: 0px solid #555555;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 12px;
	margin-left: 0px;
	padding: 0px;
}

/*	
TAGLET NOTE (4): ...(2) the second class applied to the <div class="submenu-wrapper"> is determined by the 'links' submenu 'level' eg: <div class="submenu-level-2">. The class for submenu-level-? is retrieved from the backend as a parameter value (pval):
<taglet>: <css-class>submenu-level-<pval desc="The level of this sub-menu block - can be used to style each submenu if needed" name="submenu_level"/></css-class>   
*/

div.submenu-level-1 {

}
.menu-wrapper .submenu-wrapper .submenu-level-1 a:link {
	background-color: white;
	width: 90%;
	color: #75522f;
	
}
.menu-wrapper .submenu-wrapper .submenu-level-1 a:active {
	color: #000;
	background-color: white;
}
.menu-wrapper .submenu-wrapper .submenu-level-1 a:visited {
	background-color: white;
	width: 90%;
	color: #75522f;
}
.menu-wrapper .submenu-wrapper .submenu-level-1 a:hover {
	background-color: white;
	width: 90%;
	color: #75522f;
}


div.submenu-level-2 {
	
}

div.submenu-level-3 {
	
}

div.submenu-level-4 {
	
}

/*	
TAGLET NOTE (5): 'when' this taglet's <content-slot/> receives links which are NOT submenu links...
<taglet>: <otherwise>
	
TAGLET NOTE (6): ...then they are enclosed in a <div class="menu-wrapper">. This div is the container for the entire menu:
<taglet>: <css-class>menu-wrapper   
*/

div.menu-wrapper {
	margin: 0px;
	height: 290px;
}

/*	
TAGLET NOTE (7): the menu container <div class="menu-wrapper"> is used by every menu. A second CSS class is applied to this wrapper to enable a designer to style an individual menu. The class uses the unique 'content-name' of an individual menu eg: <div class="menu-wrapper menu-content-name">. A menu's 'content-name' is retrieved from the backend as a parameter value (pval):
<taglet>: <css-class>menu-wrapper <pval desc="The content-name of the menu - can be used to uniquely style each menu if needed" name="menu_name"/>-wrapper</css-class>   
*/

div."menu-content-name"-wrapper {
	
}

/* @end smart menu wrapper */



/* @group Smart Menu Links */

/*	
TAGLET NAME: Smart Menus - Menu link
TAGLET GROUP: Menus and Links
MENU BUILDER: the menu builder is used to create menu links - it can also be used to organize these links into submenus.
CONTENT EXPRESSION: [[ content-name of menus => navigation ]]
TAGLET DESCRIPTION: 
	This taglet generates every menu 'link' which appears in a web-page of this site.
TAGLET BACKGROUND:
	Every menu which appears in a web-page of this site is generated by two taglets: 
		1) "Smart Menu Links"
		2) "Smart Menu Wrappers"
	Each menu 'link' is generated by this taglet eg:
		<a>
		<a class="selected-page">
		<a class="submenu-visible">
		<a class="submenu-hidden">
	Each link is then passed into the "Smart Menu Wrappers" taglet (see above) which places each link in an appropriate wrapper eg:
		<div class="menu-wrapper"> 
		<div class="submenu-wrapper"> 
		<div class="submenu-level-1">
		<div class="submenu-level-2">
		<div class="submenu-level-3">
		<div class="submenu-level-4">	

TAGLET NOTE (1): Each menu link that is built by this taglet is subjected to a number of tests to determine if a particular CSS class should be applied eg: <a class="selected-page">, <a class="submenu-visible"> or <a class="submenu-hidden">. These are explained below:
	
TAGLET NOTE (2): 'when' a menu link is built by this taglet - and it is a link to the 'active' page which is currently being viewed...
<taglet>: <when test="$parameter{'link_active'}">  
	
TAGLET NOTE (3):: ...then the link will get a 'selected-page' class eg: <a class="selected-page">
<taglet>: <css-class>selected-page</css-class>   
*/
	
div.menu-wrapper a.selected-page {
	background-color: #000;
	color: #fff;
	padding: 0px 0px 0px 2px;
	margin-bottom: 1px;
	font-weight: normal;
	width: 90%;
}	

/*	
TAGLET NOTE (4): 'when' a menu link is built by this taglet - and it is a link which is associated with its own subgroup of menu links - and these submenu links are visible or 'active'...
<taglet>: <when test="$parameter{'submenu_active'}">   
	
TAGLET NOTE (5): ...then the link will get a 'submenu-visible' class eg: <a class="submenu-visible">
<taglet>: <css-class>submenu-visible</css-class>   
*/
	
div.menu-wrapper a.submenu-visible {
	background-color: #000;
	width: 90%;
	color: #fff;
}	

/*	
TAGLET NOTE (6): 'when' a menu link comes into this taglet from the backend - and it is a link which is associated with its own subgroup of links - BUT the submenu is closed and its links 'hidden'...
<taglet>: <when test="$parameter{'submenu_hidden'}">   
	
TAGLET NOTE (7): ...then the link will get a 'submenu-hidden' class eg: <a class="submenu-hidden">
<taglet>: <css-class>submenu-hidden</css-class>   
*/

div.menu-wrapper a.submenu-hidden {
}

/*	
TAGLET NOTE (8): every menu link which comes into this taglet from the backend is subjected to the tests described above - but many links will not need CSS styling classes - they remain simple <a> elements   

TAGLET NOTE (9): a hyperlink reference is needed for each links href attribute eg: <a href="?">. The menu link target is retrieved from the backend as a parameter value (pval):
<taglet>: <a><attr name="href"><pval desc="The menu link target" name="link"/></attr>
	
TAGLET NOTE (10): 'when' a menu link needs to open a new window (eg: the link is to a page outside the site)...
<taglet>: <when test="$parameter{'new-window'}">
	
TAGLET NOTE (11): ...then the 'target' attribute of the anchor is given a value of '_blank' eg: <a target="_blank">
<taglet>: <attr name="target"">_blank</attr>
	
TAGLET NOTE (12): the <content-slot/> for this taglet receives the actual menu link text eg: <a>?</a>
<taglet>: <a><content-slot/></a>   
*/

div.menu-wrapper a {
	display: block;
	
}

/* 	
STYLING NOTE: Link pseudo-classes have the same CSS specificity, therefore their order is critical because "if two rules have the same specificity, the last one defined prevails". For this reason, link pseudoclasses should have the following order: Link, Visited, Hover, Active (LoVeHAte):   
*/

div.menu-wrapper a:link {
	padding: 0px 0px 1px 4px;
	margin-bottom: 1px;
}

div.menu-wrapper a:visited {
	margin-bottom: 1px;
	padding: 0px 0px 1px 4px;
}

div.menu-wrapper a:hover {
	background-color: #000;
	width: 90%;
	text-decoration: none;
	padding: 0px 0px 1px 4px;
	color: #fff;
}

div.menu-wrapper a:active {
	padding: 0px 0px 1px 4px;
	color: #ffffff;
}

/* @end smart menu links */

/* @end smart menus */

/* @end Menus */





/* @group SEARCHFORM & SEARCH RESULTS */

/* @group Search Form */

/*	
TAGLET NAME: Search Form
TAGLET GROUP: Search Results
TAGLET DESCRIPTION: this taglet is used to generate every searchform which appears in a web-page of this site.    
CONTENT EXPRESSION: 
	[[ searchform ]]
	[[ searchform => region ]] 
*/

div.search-form-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

div.search-form-wrapper form {
	margin: 1px;
	border: 2px solid #000000;
}

div.search-string {
	border: 5px solid #808080;
	background-color: #CCCCCC;
	margin: 1px;
	padding: 5px;
}

/*	
TAGLET NOTE: the width of the input field is set to 10 characters but this can be changed.
<taglet>: Search<nbsp/><input name="search_string" type="text" size="10"/>   
*/

div.search-form-wrapper input {
	
}

/* @end search form */



/* @group Search Results Wrapper */

/*	
TAGLET NAME: Search Results display wrapper 
TAGLET GROUP: Search Results
TAGLET DESCRIPTION: this taglet is used to generate ????

TAGLET NOTE (1): the wrapper <div class="search-results"> contains a table:
<taglet>: <table width="100% cellspacing="0" cellpadding="7" border="0"></content-slot/></table>

*/
	
div.search-results {
	border: 10px solid #808080;
	margin: 1px;
}

/*	
TAGLET NOTE (2): this taglet's <content-slot/> receives each <tr> table row search result from the "Search result item" taglet (see below):
<taglet>: <table width="100%" cellspacing="0" cellpadding="7" border="0"><content-slot/></table>   
*/

div.search-results table {
	border: 2px solid #000000;
	margin: 1px;
}

/* @end search results wrapper */



/* @group Search Results Table */

/*	
TAGLET NAME: Search result item
TAGLET GROUP: Search Results
TAGLET DESCRIPTION: this taglet generates each individual search result as three <td> table data elements in a <tr> table row element   */
	
div.search-results td {
	
}	
	
/*	
TAGLET NOTE (1): both the first and third td data cells have a class of "search-row".

TAGLET NOTE (2): the first <td> has a number of attributes defined in the taglet eg: <td width="?" valign="?" class="?">
<taglet>: <tr><td width="55px" valign="top" class="search-row">   
*/
	
td.search-row {
	
}

/*	
TAGLET NOTE (3): the first td.search-row contains a nested table. The width of this table is variable depending on the search results 'relevance'. The width is retrieved from the backend as a parameter value (pval).
<taglet>: <table><attr name="width"><pval desc="The % match for the search result, scaled to match the search image" name="relevance"/></attr>   
*/

td.search-row table {
	border: 1px solid #222222;
}

/*	
TAGLET NOTE (4): an image indicating search result relevance is created by a nested <td class="search-image" width="?">. The width is retrieved from the backend as a parameter value (pval)
<taglet>: <tr><td align="right" class="search-image"><attr name="width"><pval name="relevance"/></attr><nbsp/></td></tr></table></td>   
*/

td.search-image {
	border: 3px solid #A9A9A9;
	background-color: #CCCCCC;
}

/*	
TAGLET NOTE (5): the second <td class="search-percentage"> displayes a search result's relevance indicated as a percentage value. This is retrieved from the backend as a parameter value (pval).
<taglet>: <td width="40px" align="left" valign="top" class="search-percentage"><pval desc="The formatted percentage match for the search result." name="percentage"/>   
*/

td.search-percentage {
	
}

/*	
TAGLET NOTE (6): the third <td class="search-row"> in each search result's <tr>... 
<taglet>: <td valign="top" class="search-row">
		
TAGLET NOTE (7): ...contains a page link/page title to a search result's page eg: <a href="?">Page title</a>. Both the href link and page title are retrieved from the backend as parameter values (pval)
<taglet>: <a><attr name="href"><pval desc="The link to the search result" name="link"/></attr><pval desc="The title of the document found by the search" name="title"/></a>
	
TAGLET NOTE (8): the text snippet from each search result is retrieved from both the backend and the "Search match highlight" taglet (see below) and inserted into this taglets <content-slot/>   
*/

td.search-row a {
	
}

/*	
TAGLET NAME: Search match highlight 
TAGLET GROUP: Search Results
TAGLET DESCRIPTION:
TAGLET NOTE: the word used in the search is retrieved from the backend and inserted into this taglets <content-slot/>   
*/
	
span.hilight {
	background-color: #CCCCCC;
}

/* @end search results table */

/* @end searchform & search results */






/* @group SEARCHPANELS */

/* @group Full Searchpanels */

/* 	
TAGLET NAME: Search panel - full
TAGLET GROUP: Search Results
TAGLET DESCRIPTION: this taglet is used to generate every full searchpanel which appears in a web-page of this site
TAGLET BACKGROUND: 
		- a full searchpanel should be published in the main content area of a page
		- a full searchpanel can be used to search for products, postcodes or images eg:
CONTENT EXPRESSIONS:
		[[ searchpanel of products ]]
		[[ searchpanel of postcodes ]]
		[[ searchpanel of images ]]   

TAGLET NOTE (1): each searchpanel gets a different wrapper to give designers extra styling control if they need it eg: <div class="product-search-wrapper">, <div class="image-search-wrapper> & <div class="postcode-search-wrapper">. The wrapper name is retrieved from the backend as a parameter value (pval).
<taglet>: <div><css-class><pval name="wrapper"/></css-class>   
*/

div.product-search-wrapper {
	border: 30px solid #444444;
	margin: 1px;
}

div.image-search-wrapper {
	border: 30px solid #444444;
	margin: 1px;
}

div.postcode-search-wrapper {
	border: 30px solid #444444;
	margin: 1px;
}

/*	
TAGLET NOTE (2): each searchpanel displays a message from a page eg: postcode-search, image-search & product-search. These pages are located in the 'System Generated Pages' section of the Pages Catalogue and their messages can be customized by designers or their clients. This taglets <content-slot/> receives the content from each of these pages.
<taglet>: <div class="search-panel-instructions"><content-slot/></div>   
*/

div.search-panel-instructions {
	border: 10px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

div.search-panel-instructions p {
	
}

/*	
TAGLET NOTE (3): each search panel has a form.
<taglet>: <form onSubmit="return false;" name="searchPanel"/>   
*/

div.product-search-wrapper form {
	border: 2px solid #000000;
	margin: 1px;
}

div.image-search-wrapper form {
	border: 2px solid #000000;
	margin: 1px;
}

div.postcode-search-wrapper form {
	border: 2px solid #000000;
	margin: 1px;
}

/*	
TAGLET NOTE (4): the div.search-panel-search-field is used by each full searchpanel and the split searchlist (see below)   
*/

div.search-panel-search-field {
	border: 10px solid #808080;
	background-color: #CCCCCC;
	margin: 1px;
}

/*	
STYLING NOTE: if styling control is needed over a particular searchpanel's div.search-panel-search-field more specific selectors may be required:   
*/

div.product-search-wrapper div.search-panel-search-field {
	
}

div.image-search-wrapper div.search-panel-search-field {
	
}

div.postcode-search-wrapper div.search-panel-search-field {
	
}

/*	
TAGLET NOTE (5): the input field is used to search for items in the search panel select list (this is also used by the split searchpanel's searchlist)
<taglet>: <input attr="onKeyUp">searchAnchoredFilterFor(this.value)</attr></input>   
*/
	
div.search-panel-search-field input {
	border: 1px solid #000000;
}

/*	
STYLING NOTE: if styling control is needed over a particular searchpanel's input element more specific selectors may be required:   
*/

div.product-search-wrapper input {
	
}

div.image-search-wrapper input {
	
}

div.postcode-search-wrapper input {
	
}

div.search-panel-select-list {
	border: 10px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

/*	
TAGLET NOTE (6): 10 items can fill the select list before a vertical scroll bar appears. This number can be changed.
<taglet>: <select name="searchPanelSelect" size="10">
	
TAGLET NOTE (7): the selected item will use an AJAX function to have its content displayed eg: <select onChange="AJSearchLoadDiv">
<taglet>: <select attr="onChange">AJSearchLoadDiv...
	
TAGLET NOTE (8): each item of searchable text in the select field is retrieved from the backend. First they are identified as a dataset: 
<taglet>: <with-data set-name="search_items">
	
TAGLET NOTE (9): in a data set each item of content can have various data values (dval). Each items "searchable_text" is retrieved from the backend as a data value.
<taglet>: <dval name="searchable_text"/>   
*/
	
div.search-panel-select-list select {
	border: 1px solid #000000;
}	

/*	
HELPFUL HINT: if styling control is needed over a particular searchpanel's select element then more specific selectors may be required:   
*/
	
div.product-search-wrapper select {
	
}

div.image-search-wrapper select {
	
}

div.postcode-search-wrapper select {
	
} 

/*	
TAGLET BACKGROUND: What product details can be displayed in the div.search-panel-information? A product's summary OR full details can be displayed in the div.search-panel-information
CONTACT IMAGINE INDIGO:	Contact Imagine Indigo to let us know which you would prefer   
*/

div.search-panel-information {
	border: 10px solid #444444;
	margin: 1px;
}

div.image-search-wrapper img {
	
}

/* @end fullpage searchpanels */




/* @group Split searchpanels */

/* @group Search panel - search list */

/* 	
TAGLET NAME: Search panel - search list
TAGLET GROUP: Search Results
TAGLET DESCRIPTION: This taglet is used to generate every 'search list' which appears in a web-page of this site.
TAGLET BACKGROUND: 
	- a split searchpanel allows the "search list" to be published in one region and the search "results" to be published in another page region.
	- a searchpanel "searchlist" can be used for products, postcodes or images and directed "into" (=>) any region eg:
CONTENT EXPRESSIONS:
		[[ searchlist of searchpanel of products => region ]]
		[[ searchlist of searchpanel of postcodes => region ]]
		[[ searchlist of searchpanel of images => region ]]   
		  
TAGLET NOTE (1): each searchpanel gets a different wrapper to give designers extra styling control if they need it eg: <div class="product-search-list-wrapper">, <div class="image-search-list-wrapper> & <div class="postcode-search-list-wrapper">. The wrapper name is retrieved from the backend as a parameter value (pval).
<taglet>: <div><css-class><pval name="wrapper"/></css-class>    
*/

div.postcode-search-list-wrapper {
	border: 30px solid #444444;
}

div.image-search-list-wrapper {
	border: 30px solid #444444;
}

div.product-search-list-wrapper {
	border: 30px solid #444444;
}

/*	
TAGLET NOTE (2): each search panel has a form.
<taglet>: <form onSubmit="return false;" name="searchPanel"/>   
*/
	
div.postcode-search-list-wrapper form {
	border: 4px solid #000000;
	margin: 1px;
}

div.image-search-list-wrapper form {
	border: 2px solid #000000;
	margin: 1px;
}

div.product-search-list-wrapper form {
	border: 2px solid #000000;
	margin: 1px;
}

/*	
TAGLET NOTE (3): the div.search-panel-search-field is also used by the full search panel (see above). If this element needs specific styling then more specific selectors may be required:   
*/

div.postcode-search-list-wrapper div.search-panel-search-field {
	
}

div.image-search-list-wrapper div.search-panel-search-field {
	
}

div.product-search-list-wrapper div.search-panel-search-field {
	
}

/*	
TAGLET NOTE (4): the input field is used to search for items in the search panel select list (Note: styles from the full searchpanel's "div.search-panel-search-field input" will effect this element)
<taglet>: <input attr="onKeyUp">searchAnchoredFilterFor(this.value)</attr></input>   
*/
	
div.product-search-list-wrapper input {
	
}

div.image-search-list-wrapper input {
	
}

div.postcode-search-list-wrapper input {
	
}

/*	
TAGLET NOTE (5): the div.search-panel-select-list is also used by the full search panel (see above). If this element needs specific styling then more specific selectors may be required:   
*/
	
div.product-search-list-wrapper div.search-panel-select-list {
	
}

div.image-search-list-wrapper div.search-panel-select-list {
	
}

div.postcode-search-list-wrapper div.search-panel-select-list {
	
}

/*	
TAGLET NOTE (6): 10 items can fill the select list before a vertical scroll bar appears. This number can be changed.
<taglet>: <select name="searchPanelSelect" size="10">
	
TAGLET NOTE (7): the item selected in the list will use an AJAX function to have its content displayed eg: <select onChange="AJSearchLoadDiv>
<taglet>: <select attr="onChange">AJSearchLoadDiv...
	
TAGLET NOTE (8): each search item in the select list is retrieved from the backend. First the items are identified as a set of data (or dataset): 
<taglet>: <with-data set-name="search_items">
	
TAGLET NOTE (9): in a data set each item of content can have various data values (dval). Each items "searchable_text" is retrieved from the backend as a data value.
<taglet>: <dval name="searchable_text"/>   
*/	
	
div.product-search-list-wrapper select {
	border: 1px solid #000000;
}

div.image-search-list-wrapper select {
	border: 1px solid #000000;
}

div.postcode-search-list-wrapper select {
	border: 1px solid #000000;
} 
	
/* @end search panel - search list */



/* @group Search panel - results */

/* 
TAGLET NAME: Search panel - results 
TAGLET GROUP: Search Results
TAGLET DESCRIPTION: This taglet is used to generate every search 'results' panel which appears in a web-page of this site.
TAGLET BACKGROUND: 
- a split searchpanel allows the "search list" to be published in one region and the search "results" to be published in another page region.
- a searchpanels "results" can be used for products, postcodes or images and directed "into" (=>) any region eg:
CONTENT EXPRESSIONS:
[[ searchresults of searchpanel of images => region ]] 
[[ searchresults of searchpanel of products => region ]]
[[ searchresults of searchpanel of postcodes => region ]]  


	
TAGLET NOTE (1): search results are displayed in a wrapper. The name of the wrapper is retrieved from the backend as a parameter value (pval).
<taglet>: <div><css-class><pval name="wrapper"/></css-class></div>   
*/

div.postcode-search-results-wrapper {
	border: 30px solid #444444;
	background-color: #CCCCCC;
}

div.product-search-results-wrapper {
	border: 30px solid #444444;
	background-color: #CCCCCC;
}

div.image-search-results-wrapper {
	border: 30px solid #444444;
	background-color: #CCCCCC;
}

/*	
TAGLET NOTE (2): search results are also displayed in a wrapper with a css #id. The id "search_name" is retrieved from the backend as a parameter value (pval).
<taglet>: <div><css-id><pval name="search_name"/>_results</css-id></div>   
*/

div#postcode-search_results {
	border: 5px solid #555555;
	margin: 1px;
} 

div#product-search_results {
	border: 5px solid #555555;
	margin: 1px;
}

div#image-search_results {
	border: 5px solid #555555;
	margin: 1px;
}

/*	
STYLING NOTE: Selectors may need to be defined for styling control over content displayed in the search results field.   
*/

div.image-search-results-wrapper img {
	
}

/* @end search panel - results */

/* @end split searchpanels */

/* @end searchpanels */






/* @group LOGIN FORMS */

/* @group Loginform */

/*	
TAGLET NAME: Registration - Login form (full-sized)
TAGLET GROUP: Resitration and Login
TAGLET DESCRIPTION: this taglet is used to generate every full sized loginform which appears in a web-page of this site.
TAGLET BACKGROUND: The loginform is a system generated form that should be published in the 'main content area' of a web-page.
CONTENT EXPRESSION: [[ loginform ]]	
*/

div.login-form {
	border: 30px solid #555555;
	margin: 1px;
}

div.login-form fieldset {
	border: 1px solid #333333;
	margin: 1px;
}

div.login-form legend {
	
}

/*
TAGLET NOTE (1): the taglet generates a form eg: <form method="POST" action="?">
<taglet>: <form method="POST"><attr name="action"><pval name="form-url"/></attr>
*/

div.login-form form {
	border: 2px solid #000000;
	margin: 1px;
	background-color: #FFFFFF;
}

/*	
TAGLET NOTE (2): each part of the login form is wrapped in a paragraph tag eg:
<taglet> 
  <p>
    <label for="email">Username:</label>
    <input name="email" type="text" size="24"/>
  </p>   
</taglet>
*/

div.login-form p {
	background-color: #CCCCCC;
	margin: 1px;
}

div.login-form p label {
	
}

/*	
TAGLET NOTE (3): the first input field is for a Username. It has a size of 24 characters (which can be changed):
<taglet>: <p><label for="email">Username:</label><input name="email type="text" size="24"/></p>
	
TAGLET NOTE (4): the second input field is for a Password. It also has a size of 24 characters (which can be changed):
<taglet>: <p><label for="password">Password:</label><input name="password" type="password" size="24"/></p>   
*/

div.login-form p input {
	border: 1px solid #000000;
}

/*	
TAGLET NOTE (5): the input submit button includes a styling class .login-submit eg: <label class="login-submit">
<taglet>: <p><label for="submit"><nbsp/></label><input value="Login" name="submit" class="login-submit" type="submit"/>   
*/

div.login-form p input.login-submit {
	
}

/* @end loginform */



/* @group Miniloginform */

/*	
TAGLET NAME: Registration - Mini login form 
TAGLET GROUP: Registration and Login   
TAGLET DESCRIPTION: This taglet is used to generate every minilogin form which appears in a web-page of this site.
TAGLET BACKGROUND: The miniloginform is a system generated form that can be directed into (=>) different page regions
CONTENT EXPRESSION: [[ miniloginform => region ]]   
*/

div.mini-login-wrapper {
	border: 30px solid #A9A9A9;
	margin: 1px;
}

div.mini-login-wrapper fieldset {
	border: 1px solid #333333;
	margin: 1px;
}

div.mini-login-wrapper legend {
	
}

/*
TAGLET NOTE (1): the taglet generates a form eg: <form method="POST" action="?">
<taglet>: <form method="POST"><attr name="action"><pval name="form-url"/></attr>
*/

div.mini-login-wrapper form {
	border: 2px solid #000000;
	margin: 1px;
}

/*	
TAGLET NOTE (2): each part of the login form is wrapped in a paragraph tag eg:
<taglet> 
  <p>
    <label for="email">Username:</label>
    <input name="email" type="text" size="24"/>
  </p>   
</taglet>
*/

div.mini-login-wrapper p {
	background-color: #CCCCCC;
	margin: 1px;
}

div.mini-login-wrapper p label {
	
}

/*	
TAGLET NOTE (3): the first input field is for a Login name. It has a size of 20 characters (which can be changed):
<taglet>: <p><label for="email">Login name:</label><input name="email type="text" size="20"/><no-close></input></p>
	
TAGLET NOTE (4): the second input field is for a Password. It also has a size of 20 characters (which can be changed):
<taglet>: <p><label for="password">Password:</label><input name="password" type="password" size="20"/><no-close/></input></p>   
*/

div.mini-login-wrapper p input {
	border: 1px solid #000000;
}

/*	
TAGLET NOTE (5): the input submit button includes a styling class .login-submit
<taglet>: <p class="login-submit"><input value="Login" type="submit"/></p>   
*/

div.mini-login-wrapper p.login-submit {
	
}

div.mini-login-wrapper p.login-submit input {
	
}

/* div.spacer needed for browser compatibility */

div.mini-login-wrapper div.spacer {
	display: none;
}



/* @end miniloginform*/

/* @end registration and login forms */






/* @group FORMS (AJAX) */

/* 	
DEFAULT BROWSER FORM STYLES: 
The form tag is used by many different forms eg:
	- registration
	- login
	- miniloginform
	- user generated forms 
Start by removing default margin and padding:   
*/

form {
	margin: 0px;
	padding: 0px;
}

/* @group Form Wrapper */

/*	
TAGLET NAME: AJ-Comp - Form wrapper (generic)
TAGLET GROUP: Forms (AJAX Components)
TAGLET DESCRIPTION: Forms are complex! Every form element is generated by its own taglet (eg: form wrapper, form title, text fields etc.). This taglet is used to generate the outer wrapper for AJAX forms.
TAGLET BACKGROUND: This taglet is used to generate the outer wrapper for user generated forms and the system generated registration form.
CONTENT EXPRESSIONS: 
	1) System generated registration form: [[ registration ]]
	2) User generated forms built with the form builder in the Forms Catalogue: [[ content-name of forms ]]
	
TAGLET NOTE (1): every form gets wrapped in a div with a CSS class="form-wrapper"
<taglet>: <div class="form-wrapper">
*/

.form-wrapper {
	border: 0px solid #808080;
	width: 537px;
}


/* 	
TAGLET NOTE (2): The generic form wrapper <div class="form-wrapper"> does not allow a designer to take styling control over an individual form. For this reason, a unique CSS-ID is also added to each form wrapper eg: <div class="form-wrapper" id="registration"> or <div class="form-wrapper" id="test-2">

TAGLET NOTE (3): 'when' a form has a unique "content-name"...
<taglet>: <choose><when test="$parameter(form_content_name)">
	
TAGLET NOTE (4): ...then a form's "content-name" is retrieved from the backend as a parameter value (pval) for a unique CSS ID eg: <div class="form-wrapper" id="content-name">
<taglet>: <css-id><pval desc="The content-name of the form" name="form_content_name"/></css-id>

STYLING NOTE: the unique CSS-ID applied to each AJAX form wrapper allows a designer to use 'descendent selectors' to take complete styling control over an individual form and all its elements eg: to style the <div class="form-masthead"> of the registration form, the following descendent CSS selector could be used:

div.form-wrapper#registration div.form-masthead {
	
}

TAGLET NOTE (5): this taglet's <content-slot/> receives form elements (tags) from the other form taglets.
*/

div.form-wrapper#registration {
	
}
	
div.form-wrapper#test-2 {
	
}

/* @end form wrapper */



/* @group Form Title (optional) */

/*	
TAGLET NAME: AJ-Comp - Form title
TAGLET GROUP: Forms (AJAX Components)
TAGLET DESCRIPTION: Forms are complex! Every form element is generated by its own taglet (eg: form wrapper, form title, text fields etc.). This taglet is used to generate the (optional) Form Title for AJAX forms which appear in web-pages across this site.
TAGLET BACKGROUND: a form title is an optional element, it can be added to a form by clicking the 'Edit options' link next to a form's listing in the Forms Catalogue.   

TAGLET NOTE: this taglet's <content-slot/> receives a form's title from the backend.
*/

div.form-title {
	visibility: hidden;
	height: 0px;
	/*font-size: 20px;
	font-weight: bold;
	line-height: 300%;
	background-color: #A9A9A9;
	padding-left: 10px;
	margin: 1px;*/
}

/* My Comment */

/* @end optional form title */



/* @group Form generator */

/*	
TAGLET NAME: AJ-Comp - form generator
TAGLET GROUP: Forms (AJAX Components)   
TAGLET DESCRIPTION: Forms are complex! Every form element is generated by its own taglet (eg: form wrapper, form title, text fields etc.). This 'AJAX form generator" taglet is particularly complicated because it creates the individual form-parts that go into the generic form wrapper. PROCEED WITH CARE: This is a complicated taglet, and lots of things can break if this goes wrong! 
*/

div.form-inner-wrapper {
	border: 0px solid #808080;
	margin: 0px;
	background-color: #f2eae2;
	padding: 0px 10px 20px 10px;
}

/*	
TAGLET BACKGROUND: the form builder allows forms to be separated into different 'Parts' - this gives designers the ability to offer clients 'single part forms' or divide long forms into 'multi part forms'.

TAGLET NOTE (1): 'when' a form element coming into this taglet is a form part's title (or heading)...
<taglet>: <choose><when text="$parameter{title}">
	
TAGLET NOTE (2): ...then the form part title is retrieved from the backend as a parameter value (pval) and wrapped in a <p> tag and <div class="form-masthead">
<taglet>: 
  <div class="form-masthead">
    <p><pval name="title"/></p>
  </div>
</taglet>   

*/

div.form-masthead {
	/*background-color: #A9A9A9;*/
	margin: 0px;
	border:solid 0px;
	visibility: hidden;
}

div.form-masthead p {
	/*line-height: 300%;
	padding-left: 10px;
	margin-top: 0px;
	margin-bottom: 0px;*/
}

/*
TAGLET NOTE (3): the taglet then generates a form element whose 'onSubmit' attribute is handled by a generic JavaScript call 'SubmitForm' eg: <form onSubmit="SubmitForm">
*/

div.form-wrapper form {
	border: 0px solid #000;
	margin: 0px;
	padding: 0px;
}
#content-region .form-wrapper p {
	width: 90px;
	padding: 0px;
	margin: 0px;
}
/*
TAGLET BACKGROUND: One of the 'services' Indigo provides designers is the option to generate a form as a simple table or a div based form (for custom layout).
CONTENT EXPRESSION: 
	1) Table based form (default): [[ content-name of forms ]]
	2) Div based form: [[ custom-layout of content-name of forms ]]

TAGLET NOTE (4): the taglet tests 'when' the form requires a custom div based layout...
<taglet>: 
  <choose>
    <when text="$parameter{use_css_layout}">

TAGLET NOTE (5): ...when a form being generated IS using a custom div based layout then the div based form elements (from other form taglets) are collected into this taglet's <content-slot/>

TAGLET NOTE (6): ...when a form is NOT using a custom div based layout
<taglet>: <otherwise>

TAGLET NOTE (7): then this taglet creates a <table> element with a <content-slot/> to receive the table based form elements from other form taglets
<taglet>: 
  <table width="100% cellspacing="0" cellpadding="0" border="0">
    <content-slot/>
  </table>
  
*/

/* @end form generator */



/* @group General row heading */

/*
TAGLET NAME: AJ Comp - General row heading
TAGLET GROUP: Forms (AJAX Components)
TAGLET DESCRIPTION: this taglet is used to generate every 'heading' in an AJAX form which appears in a web-page of this site.

1. HEADINGS IN DIV BASED FORMS

TAGLET NOTE (1): 'when' this taglet is generating a heading for a div based custom layout form...
<taglet>: <when test="$parameter{use_css_layout}">

TAGLET NOTE (2): ...then the following div based form elements are generated:
*/

div.form-heading-wrapper {
	border: 10px solid gray;
	margin: 1px;
}

/*
TAGLET NOTE (3): the <content-slot/> receives the heading text from the backend
<taglet>
  <div class="form-heading-text">
    <content-slot/>
  </div>
</taglet>

STYLING NOTE: the <div class="form-heading-text"> is also used by the table based form and so a more specific descendent selector is required to target the heading in a div based form.
*/

div.form-heading-wrapper div.form-heading-text {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.form-heading-error {
	border: 0px solid grey;
	padding: 1px;
	margin: 0px;
	background-color: #000;
}


/*
2. HEADINGS IN TABLE BASED FORMS

TAGLET NOTE (4): 'when' a general form heading is being generated in a table based form, not a div based form:
<taglet>: <otherwise>

TAGLET NOTE (5) then a <tr class="form-heading-row"> is generated:  
*/

tr.form-heading-row {
	/*background-color: #A9A9A9;
	line-height: 200%;*/
}

/*
TAGLET NOTE (6): two <td> elements are nested within <tr class="form-heading-row">:
1) the first <td> has a colspan="2" and contains a <div class="form-heading-text"> whose <content-slot/> receives the heading text from the backend.
2) the second <td class="form-error-width-override"> is used for error messages.
*/

tr.form-heading-row div.form-heading-text {
}

tr.form-heading-row td.form-error-width-override {
}

/* @end general row heading */



/* @group Text Comments/Descriptive Text */

/* 	
TAGLET NAME: AJ-Comp - Form text row 
TAGLET GROUP: Forms (AJAX Components)
TAGLET DESCRIPTION: this taglet is used to generate every 'comment' in an AJAX form which appears in a web-page of this site.

TAGLET NOTE (1): 'when' this taglet is generating a comment for a div based form for custom layout...
<taglet>: <when test="$parameter{use_css_layout}">

TAGLET NOTE (2): ...then the taglet's <content-slot/> receives the comment from the backend inside a <div class="form-text-wrapper">
*/

div.form-text-wrapper {
	border: 0px solid gray;
	margin: 0px;
	background-color: lightgrey;
}

/*	
TAGLET NOTE (3): 'when' a comment is being generated in a table based form, not a div based form...
<taglet>: <otherwise>

TAGLET NOTE (4): ...then a <tr> element is generated with a nested <td colspan="3"> which contains a <div class="form-text">
<taglet>: 
  <tr>
    <td colspan="3">
      <div class="form-text"> 
*/

td div.form-text {
	border-right: 0px;
}

/*
TAGLET NOTE (5): nested in the <div class="form-text"> is a <p> element whose <content-slot/> receives the comment text from the backend.
<taglet>: <p><content-slot</p>
*/

td div.form-text p {
	
}

/* @end comment/descriptive text */






/* @group Table based form elements */

/* Taglet: AJ-Comp form generator */

div.form-wrapper table {
	margin: 0px;
	padding: 0px;
	width: 270px;
}

div.form-wrapper td {
	padding: 0px;
	margin: 0px;
	border: solid 0px;
	vertical-align: top;
}

/* td.form-errow-width-override is used for error messages eg:
	- "this question must be answered" or
	- "please enter a numeric value"
	- "this question is mandatory" */

div.form-wrapper td.form-error-width-override {
	/*width: 15%;
	font-size: 70%;
	border-right: 0px;*/
}



/* @group Form item styles */





/* Style for every question in the table */

div.form-wrapper td.form-label p {
	padding-right: 20px;
}

/*	Textfield & Numeric field
	Taglet: AJ-Comp - Textfield */

td.form-input-area {
	width: 170px;
}	

td.form-input-area input.form-input-width-override {
	padding: 1px 0px 2px 1px;
	margin-bottom:4px;
	border: solid 1px #75522f;
	color: #000;
	font-size: 11px;
	font-family: georgia, times new roman, serif;
	width: 100%;
	font-weight: normal;
	height: 15px;
}

/*	Multi line text area
	Taglet: AJ-Comp - Multi-line text area field */
	
td.form-textarea {
}	

textarea.form-input-width-override {
	margin: 0px;
	padding: 0px;
	border: solid 1px #75522f;
	width: 100%;
	color: #000;
	font-size: 10px;
	font-family: georgia, times new roman, serif;
	font-weight: normal;
}
	
/* 	Checkbox group & Radio button groups

	Taglet: AJ-Comp - Radio-button group
	Taglet: AJ-Comp - Checkbox group
	
	Background: both taglets use the same html */

tr.form-group-row {
	
}

div.form-wrapper td.form-group-item {
	color: #000;
	border-right: 0px;
}

div.form-wrapper td.form-group-item input {
	
}

/* 	Popup menu group
	Taglet: AJ-Comp - Popup menu group */
	
td.form-menu {
	
}	

td.form-menu select {
	
}

/* 	Form submit button 
	Taglet: AJ-Comp - Submit button*/

div.form-wrapper td.form-submit {
	border-right: 0px;
	border-bottom: 0px;
}

td.form-submit input {
	float: right;
	background-color: #000;
	font-family: georgia, times new roman, serif;
	color: #fff;
	padding: 1px 14px 1px 14px;
	border: 0px;
	margin: 10px 0px 0px 0px;
	cursor: pointer;
}

/* @end table questions & response fields */

/* @end default: table based forms */





/* @group DIV based form elements */





/*	Taglet: AJ-Comp - Textfield & Numeric Field */

div.textfield-wrapper {
	border: 10px solid gray;
	margin: 1px;
}

div.textfield-label {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.textfield-field {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.textfield-field input {
	color: black;
}

div.textfield-error {
	border: 2px solid gray;
	margin: 1px;
	padding: 1px;
	background-color: indigo;
}

/* 	AJ-Comp - Multi-line text area field */

div.textarea-wrapper {
	border: 10px solid gray;
	margin: 1px;
}

div.textarea-label {
	border: 5px solid gray;
	margin: 1px;
	background-color: lightgrey;
}

div.textarea-field {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

/* 	Taglet: AJ-Comp - Checkbox group */

div.checkbox-group-wrapper {
	border: 10px solid gray;
	margin: 1px;
}

div.checkbox-group-label {
	border: 10px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.checkbox-group-items {
	border: 2px solid gray;
	margin: 1px;
}

div.checkbox-item-wrapper {
	border: 10px solid gray;
	margin: 1px;
}

div.checkbox-item-input {
	border: 5px solid gray;
	margin: 1px;
	background-color: lightgrey;
}

div.checkbox-item-label {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.checkbox-group-error {
	border: 2px solid gray;
	background-color: indigo;
	padding: 1px;
	margin: 1px;
}

/* 	Taglet: AJ-Comp - Radio-button group */

div.radiobutton-group-wrapper {
	border: 10px solid gray;
	margin: 1px;
}

div.radiobutton-group-label {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.radiobutton-group-items {
	border: 2px solid gray;
	margin: 1px;
}

div.radiobutton-item-wrapper {
	border: 10px solid gray;
	margin: 1px;
}

div.radiobutton-item-input {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.radiobutton-item-label {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}


div.radiobutton-group-error {
	border: 2px solid gray;
	padding: 1px;
	background-color: indigo;
	margin: 1px;
}


/* 	Taglet: AJ-Comp - Popup menu group */

div.popup-menu-wrapper {
	border: 10px solid gray;
	margin: 1px;
}
 
div.popup-menu-label {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}
 
div.popup-menu-selector {
	border: 5px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

div.popup-menu-selector select {
	color: black;
}

/* 	Taglet: AJ-Comp - Submit button */

div.form-submit-wrapper {
	border: 10px solid gray;
	background-color: lightgrey;
	margin: 1px;
}

/* @end div based forms*/

/* @end Forms */







/* @group DOCSLOTS */

/*	Taglet Group: MOD: Doc-Slots
	Taglet: Document Slot */
	
div.docslot-outer-wrapper {
	border: 30px solid #808080;
}

div.docslot-title {
	border: 15px solid #808080;
	margin: 1px;
}

div.docslot-name {
	border: 1px solid #AAAAAA;
	margin: 1px;
}

div.docslot-description {
	border: 1px solid #AAAAAA;
	margin: 1px;
}

div.docslot-locked {
	border: 1px solid #AAAAAA;
	margin: 1px;
}

div.docslot-unlocked {
	border: 1px solid #AAAAAA;
	margin: 1px;
}

.docslot-unlocked {
	background: transparent url(/images/admin/ds-icon-unlocked.gif) no-repeat;		
}

.docslot-locked {
	background: transparent url(/images/admin/ds-icon-locked.gif) no-repeat;
}

div.docslot-settings {
	border: 1px solid #AAAAAA;
	margin: 1px;
}

div.docslot-inner-wrapper {
	border: 15px solid #808080;
	margin: 1px;
}

/*	Taglet: Document Slot item list */

div.docslot-listing {
	border: 5px solid #AAAAAA;
	margin: 1px;
}

span.docslot-empty {
	
}

/*	Taglet: Document Slot Item */

div.docslot-item-even {
	border: 15px solid #888888;
	margin: 1px;
}

div.docslot-item-odd {
	border: 15px solid #555555;
	margin: 1px;
}

div.docslot-item-unknown {
	border: 1px solid #AAAAAA;
	margin: 1px;
	background-position: left;
	background-repeat: no-repeat;
}

.docslot-item-icon-unknown,
.docslot-item-icon-pdf,
.docslot-item-icon-doc,
.docslot-item-icon-xls,
.docslot-item-icon-ppt,
.docslot-item-icon-zip {
	border: 1px solid #AAAAAA;
	margin: 1px;
	background-position: left;
	background-repeat: no-repeat;
}	
	
.docslot-item-icon-unknown {	
	background-image: url(/images/admin/icon-unknown.gif);
}

.docslot-item-icon-pdf {
	background-image: url(/images/admin/icon-pdf.gif);	
}

.docslot-item-icon-doc {
	background-image: url(/images/admin/icon-doc.gif);	
}

.docslot-item-icon-xls {
	background-image: url(/images/admin/icon-xls.gif);	
}

.docslot-item-icon-ppt {	
	background-image: url(/images/admin/icon-ppt.gif);	
}

.docslot-item-icon-zip {
	background-image: url(/images/admin/icon-zip.gif);	
}


div.docslot-item-title {
	border: 1px solid #AAAAAA;
	margin: 1px;	
}

div.docslot-item-title a {
	
}

.docslot-item-delete {
	border: 1px solid #AAAAAA;
	margin: 1px;	
	background-position: left;
	background-repeat: no-repeat;
	background-image: url(/images/admin/ds-icon-delete.gif);	
}

.docslot-item-delete a {
	display: block;
	text-decoration: none;
}

.docslot-item-unapproved,
.docslot-item-approved {
	border: 1px solid #AAAAAA;
	margin: 1px;
	background-position: left;
	background-repeat: no-repeat;
	background-image: url(/images/admin/ds-icon-box-query.gif);	
}

.docslot-item-approved {
	background-image: url(/images/admin/ds-icon-box-query.gif);	
}

.docslot-item-approved {
	background-image: url(/images/admin/ds-icon-box-selected.gif);		
}

.docslot-item-unapproved a,
.docslot-item-approved a {
	display: block;
	text-decoration: none;
}

div.docslot-item-details {
	border: 1px solid #AAAAAA;
	margin: 1px;
}

/*	Taglet: Document Slot Upload Area */

div.docslot-upload {
	border: 5px solid #AAAAAA;
	margin: 1px;
}

div.docslot-upload-visiblity {
	border: 1px solid #AAAAAA;
	margin: 1px;
	background-position:left;
	background-repeat: no-repeat;	
	background-image: url(/images/admin/ds-icon-arrow-closed.gif);

}

div.docslot-upload p {
	
}

div.docslot-upload a {
	
}

div.docslot-upload form {
	border: 2px solid #000000;
	margin: 1px;
}

div.docslot-upload-hider {
	border: 10px solid #A9A9A9;
	margin: 1px;
}

p.upload-slot {
	
}

p.upload-slot input {
	
}

p.upload-slot b {
	
}

p.upload-slot input.upload-title {
	
}

p.upload-slot textarea.upload-description {
	
}

/* @end Docslots */






/* @group eCOMMERCE */

/*	Background: 
	1a. The Products Catalogue is used to enter details for individual products (description, price, images etc.)
	1b. Groups of products can be arranged into product "categories"
	
	2a. A category of products can be published in a web-page using the [[ category of products ]] content expression
	2b. A summary of each individual product is published in a category using the "Product summary" taglets (see below)
	
	3a. An individual product can be published in a web-page using the [[ product-name of category of products ]] content expression
	3b. The full details of a product are published using the "Full product detail" taglets (see below)   */

/* @group 1.0 Product summary listing */

/*	Background:

	1a. The Products Catalogue is used to enter details for individual products (description, price, images etc.)
	1b. Groups of products can be arranged into different product "categories"
	
	2a. A category of products can be published in a web-page using the [[ category of products ]] content expression
	2b. A product category displays a summary of each individual product using these "Product summary" taglets:

		1.0: Product summary listing
		1.1: Product summary listing - summary row
		1.2: Product summary listing - summary item
		1.3: Product summary listing - blank summary   */


/*	TAGLET NAME: 1.0: Product summary listing 
	TAGLET GROUP: MOD: eCommerce   */

div.prod-summary-list {
	border: 0px solid;
}

/*	Taglet note (1): the taglet 'chooses' which text to retrieve for the heading; 'when' the taglet is being used with a product catalogue...
	<taglet>: <when test="$params{cat_name}"/> 
	
	Taglet note (2): ...then the taglet will retrieve the product catalogues name from the backend as a parameter value (pval)
	<taglet>: Product category: <pval name="cat_name"/> 
	
	Taglet note (3): the <content-slot/> for this taglet receives content from the "1.1: - summary row" taglet (see below)   */

div.prod-summary-heading {
	margin: 0px;
	visibility: hidden;
	height: 0px;
}

/* 	TAGLET NAME: 1.1: Product summary listing - SUMMARY ROW
	TAGLET GROUP: MOD: eCommerce
	
	Taglet note (1): the <content-slot/> for this taglet receives content from the "1.2: - summary item" taglet (see below)
	Taglet note (2): by default, one product summary is inserted into each row. Contact Imagine Indigo if you would like this changed (eg: 4 summary items per row)   */

div.prod-summary-row {
	border: 0px solid #A9A9A9;
	margin: 0px;
}

/* 	TAGLET NAME: 1.2: Product summary listing - SUMMARY ITEM
	TAGLET GROUP: MOD: eCommerce   */

div.prod-summary-wrapper {
	margin: 0px 0px 15px 0px;
	padding: 0px 0px 5px 0px;
	border-bottom: 1px dashed #75522f;
}
div.prod-summary-image {
	border: 0px solid;
	width: 537px;
}

/*	Taglet note (1): the taglet 'chooses' which image to retrieve from the backend; 'when' a product has a 'primary' image... 
	<taglet>: <when test="$params{img_primary}">
	
	Taglet note (2): ...then the primary image is retrieved from the backend as a parameter value (pval)
	<taglet>: <img><attr name="src"><pval name="img_primary"/></attr></img>
	
	Taglet note (3): and the primary image is wrapped in an anchor which links to the full product details
	<taglet>: <a class="prod-summary-image-link"<attr name="href"><pval name="link/></attr>   */
	
a.prod-summary-image-link {
	
}

/*	Taglet note (4): the default width of this image is 70px. Contact Imagine Indigo if you would like this changed.   */

div.prod-summary-image img {
	border: 0px solid #808080;
	margin: 0px;
	width: 537px;
}

/* 	Taglet note (5): when a product has no primary image <otherwise> the taglet retrieves a no-image.gif (designers should upload their own version).
	<taglet>: <img src="/images/no-image.gif" name="no-image.gif" class="prod-summary-no-image" border="0"/>
	
	Taglet note (6): the no-image.gif is wrapped in a link.
	<taglet>: <a class="prod-summary-image-link"><attr name="href"><pval name="link"/></attr>   */
	
img.prod-summary-no-image {
	
}

/*	Taglet note (7): a products name is retrieved from the backend as a parameter value (pval)
	<taglet>: <pval name="label"/> 
	
	Taglet note (8): the product name is linked to a product's full details eg: <a href="link">Product Label</a> with the address retrieved from the backend as a parameter value.
	<taglet>: <a><attr name="href"><pval name="link"/></attr>   */

div.prod-summary-name {
	margin: 0px;
}

div.prod-summary-name a {
	margin: 0px;
	font-size: 14px;
	line-height: 20px;
}

/*	Taglet note (9): a product's price, and alternate $US price are retrieved from the backend as parameter values (pval)
	<taglet>: $<pval name="price"/> (approx <pval name="alt_price_label"/><pval name="alt_price"/>)   */

div.prod-summary-price {
	margin-bottom: 8px;
	font-size: 13px;
}

/*	Taglet note (10): the <content-slot/> for this taglet receives a product's 'Short Description' from the backend (entered into the Product Catalogue)   */

div.prod-summary-details {
	margin: 0px;
	padding: 0px;
}

div.prod-summary-details p {
	margin: 0px;
	padding: 0px;
}

/*	Taglet note (11): a "Show me more..." link to a product's full details eg: <a href="link">Show me more...</a> retrieves the address from the backend as a parameter value.
	<taglet>: <a><attr name="href"<pval name="link"/></attr>Show me more...</a>   */

div.prod-summary-link {
	margin: 0px;
	text-transform: capitalize;
}

div.prod-summary-link a {
	font-size: 12px;
}

/*	Background: 
	- while a user navigates a site they can add products of interest to an Interestlist
	- an "Add to my interestlist" or "Remove from my interestlist" link will be displayed
	- the interestlist can run in two different modes; it can run with or without AJAX
	- depending on which mode is running, the taglet needs to be able to switch and use different links or actions   */

/*	Taglet note (12): when the interestlist is using AJAX...
	<taglet>: <when test="$params{use_ajax}">
	
	Taglet note (13): ...then it must use a JavaScript "onClick" behaviour eg: <a onClick="interestlist_ajax_script" href="#">
	<taglet>: <a><attr name="onClick"><pval name="interestlist_ajax_script"/></attr><attr name="href">#</attr>
	
	Taglet note (14): But when it is running in plain old HTML mode it must use a "href" eg: <a href="interestlist_link"
	<taglet>: <otherwise><attr name="href"><pval name="interestlist_link"/></attr>
	
	So the <choose><when> is simply testing which run-mode is being used and switching between either a JavaScript based "onClick" or a "href" based link.
	
	Taglet note (15): the link text eg: "Add to my interestlist" or "Remove from my interestlist" is retrieved from the backend as a parameter value
	<taglet>: <pval name="interestlist_link_text"/>   */

div.prod-summary-wrapper div.prod-summary-collection {
	margin: 0px 0px 10px 0px;
	height: 0px;
}

div.prod-summary-collection a {
	visibility:hidden;
}

div.prod-summary-wrapper div.prod-summary-collection a {
	visibility:hidden;
}

/*	TAGLET NAME: 1.3: Product summary listing - BLANK SUMMARY
	TAGLET GROUP: eCommerce 

	Taglet note (16): a designer can choose the number of product summaries per row (eg 2,3,4 or 5). When the number of products in a category does not fill the final row then a div.prod-summary-empty fills the remaining empty slots   */

div.prod-summary-empty {
	
}

div.prod-summary-wrapper div.prod-summary-empty {
	
}

/* @end 1.0 product summary listing */






/*	@group 2.0 Full Product Details */

/*	Background: 
	1a. The Products Catalogue is used to enter details for individual products (description, price, images etc.)
	1b. Groups of products can be arranged into product "categories"
	
	2a. A category of products can be published in a web-page using the [[ category of products ]] content expression
	2b. A product category displays a summary of each individual product using the "Product summary" taglets (see above)
	
	3a. An individual product can be published in a web-page using the [[ product-name of category of products ]] content expression
	3b. The full details of a product are displayed using these "Full product detail" taglets:  

			2.0 Full Product Details
			2.1 Paypal order form
			2.2.0 Product options table
			2.2.1 Product options table - static options item
			2.2.2 Product options table - static option items
			2.2.3 Product options table - menu items
			2.2.4 Product options table - menu items (PayPal)   */
			
/*	TAGLET NAME: 2.0 Full Product Details
	TAGLET GROUP: MOD eCommerce   */

div.prod-details-wrapper {
	margin: 0px;
	padding: 0px;
}
div.prod-details-wrapper h4 {
	padding: 10px 0px 4px 0px;
	/*visibility: hidden;
	height: 0px;*/
}

div.prod-details-header {
	margin: 0px;
	padding: 0px;
}

/*	Taglet note (1): the product title is retrieved from the backend as a parameter value 
	<taglet>: Product name: <pval name="prod_name"/>   */

div.prod-details-title {
	color:#75522f;
	font-size:15px;
	line-height:11px;
	margin:0px 0px 6px 0px;
	font-weight: normal;
	padding-bottom: 0px;
}

/*	Taglet note (2): the product category title is retrieved from the backend as a parameter value
	<taglet>: Product category: <pval name="cat_name"/>   */
	
div.prod-category-name {
	margin: 0px;
	visibility: hidden;
	height: 0px;
}

/*	Taglet note (3): the products price and alternate $US are both retrieved from the backend as parameter values
	<taglet>: A $<pval name="price"/> (approx <pval name="alt_price"_label"/><pval name="alt_price"/>)   */

div.prod-details-price {
	margin: 0px;
	font-size: 13px;
}

div.prod-details-image {
	border: 0px solid;
	margin: 0px;
}

/*	Taglet note (4): the taglet chooses which image to use in the div.prod-details-image; when a product has no images (or its image count is zero)...
	<taglet>: <when test="$params{image_count}  ==0">   
	
	Taglet note (5): ...then the taglet retrieves no-image.gif from the images folder
	<taglet>: <img src="/images/no-image.gif" name="no-image.gif" class="prod-details-no-image" border="0"/>
	
	Taglet note (6): when a product DOES have images, then the taglet identifies them as a set of data (or dataset)
	<taglet>: <otherwise><with-data set-name="product-images">
	
	Taglet note (7): the taglet then chooses which image from the dataset to display; when an image is first because it is the primary feature image...
	<taglet>: <when test="$row{display_order}  ==1">
	
	Taglet note (8): ...then the taglet wraps the image in an anchor with a "showLightbox" javascript feature eg: <a href="#" onClick="showLightbox"
	<taglet>: <a href="#" class="prod-image-link"><attr name="onClick">showLightbox   */
	
a.prod-image-link {
	
}
	
/*	Taglet note (9): the image address is retreived from the backend as a datavalue (dval) eg: <img src="feature_URL">
	<taglet>: <img><attr name="src"><dval name="feature_URL"/>
	
	Definition of 'dval': each image in the dataset has a number of values (eg caption, label, address etc.). Each value is called a "data value" or "dval"
	
	Note: Feature image size
	- The default width of this image is 70px.
	- Contact Imagine Indigo if you would like this changed   */

div.prod-details-image img {
	margin: 0px;
	padding: 0px;
}

/*	Taglet note (10): when there is more than one product image in the dataset (ie: greater than one)...
	<taglet>: <when test="$params{image_count}  &gt; 1">   
	
	Taglet note (11): ...then the taglet builds an image gallery once again using the product's images
	<taglet>: <with-data set-name="product-images">   */

div.prod-details-image-thumbs {
	border: 4px solid #808080;
	margin: 1px;
}

/*	Taglet note (12): each image is wrapped in a link which activates (onClick) a javascript "showProductPic" function eg: <a href="#" onClick="showProductPic">
	<taglet>: <a href="#" class="prod-thumb-link"><attr name="onClick">showProductPic   */

a.prod-thumb-link {
	
}

/*	Taglet note (13): each product image displayed in the gallery has its location retrieved as a datavalue (dval) eg: <img src="thumb_URL">
	<taglet>: <img><attr name="src"><dval name="thumb_URL"/></attr></img>   */

div.prod-thumb-item {
	border: 10px solid #808080;
	background-color: #CCCCCC;
	margin: 1px;
}

div.prod-thumb-item img {
	
}

/*	Taglet note (14): each image's caption is retrieved as a datavalue (dval) from the backend
	<taglet>: <p class="prod-thumb-caption"><dval name="caption"/></p>   */

p.prod-thumb-caption {
	
}

/*	Taglet note (15): the <content-slot/> for this taglet receives the taglet "2.1.1 Paypal multi-step wrapper" (see below) and a products "Long Description" from the Products Catalogue   */

div.prod-details-content {
	margin: 0px;
	padding: 0px;
}

/*	Background: 
	- while a user navigates a site they can add products of interest to an Interestlist
	- an "Add to my interestlist" or "Remove from my interestlist" link will be displayed
	- the interestlist can run in two different modes; it can run with or without AJAX
	- depending on which mode is running, the taglet needs to be able to switch and use different links or actions   */

/*	Taglet note (16): when the interestlist is using AJAX...
	<taglet>: <when test="$params{use_ajax}">
	
	Taglet note (17): ...then it must use a JavaScript "onClick" behaviour eg: <a onClick="interestlist_ajax_script" href="#">
	<taglet>: <a><attr name="onClick"><pval name="interestlist_ajax_script"/></attr><attr name="href">#</attr>
	
	Taglet note (18): But when it is running in plain old HTML mode it must use a "href" eg: <a href="interestlist_link"
	<taglet>: <otherwise><attr name="href"><pval name="interestlist_link"/></attr>
	
	So the <choose><when> is simply testing which run-mode is being used and switching between either a JavaScript based "onClick" or a "href" based link.
	
	Taglet note (19): the link text eg: "Add to my interestlist" or "Remove from my interestlist" is retrieved from the backend as a parameter value
	<taglet>: <pval name="interestlist_link_text"/>   */

div.prod-details-wrapper div.prod-summary-collection {
	margin: 0px;
	padding: 0px;
}

div.prod-details-wrapper div.prod-summary-collection a {
	
}

/*	Taglet note (20): the <split></split> part of this taglet builds the feature image's AJAX lightbox for (see above: Images - Lightbox).   */



/* 	TAGLET NAME: 2.1.1 Full Product Details - Paypal order form
	TAGLET GROUP: MOD eCommerce
	
	Background: this taglet is inserted into the <content-slot/> of the "2.0 Full Product Details" taglet   */

div.paypal-purchase-wrapper {
	margin: 0px;
	padding: 0px 0px 14px 0px;
}

/*	TAGLET NAME: 2.1.2 Paypal multi-step form
	TAGLET GROUP: MOD eCommerce   */

div.prod-details-wrapper form {
	margin: 0px 0px 4px 0px;
}

/*	Taglet note: the <content-slot/> for this taglet receives the taglet */

div.paypal-purchase-button {
	margin: 0px 0px 17px 0px;
	background-color: #ffffff;
	color:#75522f;
	font-size: 12px;
}

input.purchase-quantity {
	display: inline;
	border: solid 1px #75522f;
	width: 20px;
	margin:0px 16px 0px 10px;
}

div.paypal-purchase-wrapper img {
	display: none;
}

/* Taglet: 2.2.0 Product options table */

div.prod-details-options {
	border: 0px solid #808080;
	margin: 0px;
}

table.prod-options-table {
	border: 0px solid #000000;
	margin: 0px;
	padding: 0px;
	background-color: #fff;
}

table.prod-options-table td {
	margin: 0px;
	padding: 0px 0px 5px 0px;
	color:#75522f;
	font-size: 12px;
}

/* Taglet: 2.2.1 (Product options table) Static option item */

td.prod-options-label {
	width: 50px;
	color:#75522f;
}
td.prod-single-option {
	color: #000000;
}
/* Taglet: 2.2.2 (Product options table) Static option items */

p.prod-multiple-options {
	margin: 1px;
}

/* Taglet: 2.2.3 (Product options table) Menu items */

div.prod-details-options select {
	color: #000000;
}


/* @end 2.0 full product details */

/* @end e-Commerce */












/* @group INTERESTLIST */

/* 	This expression will publish the interestlist:
	[[ interestlist ]]
	
	This expression will create a link to the interestlist:
	[[ View my Interestlist linked to interestlist ]]
	
	Taglets -> MOD: eCommerce */
	
/*	Taglet: Interestlist wrapper*/

div.interestlist-wrapper {
	border: 20px solid #808080;
}

div.interestlist-wrapper p {
	background-color: #A9A9A9;
	line-height: 150%;
	padding-left: 5px;
	margin: 1px;
}

/*	Taglet: Interestlist product */

div.prod-interestlist-item-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

div.prod-interestlist-item-name {
	background-color: #A9A9A9;
	margin-top: 1px;
	margin-left: 1px;
	margin-right: 1px;
	padding-left: 5px;
}

div.prod-interestlist-image {
	border: 10px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

a.prod-interestlist-image-link img {
	border: 1px solid #A9A9A9;
	margin: 1px;
}

div.prod-interestlist-option-links {
	background-color: #CCCCCC;
	margin: 1px;
	border: 10px solid #808080;
}


/* @group Summary of Interestlist */

/* 	This expression will publish the interestlist summary:
	[[ summary of interestlist ]]
	Taglet: (MOD: eCommerce) Interestlist summary */

div.prod-interestlist-summary-wrapper {
	border: 10px solid #808080;
}

div.prod-interestlist-summary-title {
	background-color: #A9A9A9;
	margin: 1px;
	line-height: 200%;
}
 
div.prod-interestlist-summary-item-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

div.prod-interestlist-summary-item {
	background-color: #CCCCCC;
	margin: 1px;
}

div.prod-interestlist-summary-item a {
	display: inline;
}

/* @end Interestlist summary */

/* @end Interestlist */






/* @group CHATROOMS */

/*	Taglet group: MOD: Chatrooms 
	Taglet: Chatroom wrapper block */

/* @group Chatroom Wrappers & Masthead */

.chatroom-outer-wrapper {
	border: 20px solid #808080;
}

.chatroom-heading {
	background-color: #A9A9A9;
	font-weight: bold;
	margin: 1px;
	line-height: 300%;
}

.chatroom-inner-wrapper {
	border: 20px solid #A9A9A9;
	margin: 1px;
}

.chatroom-message-list {
	border: 10px solid #808080;
	margin: 1px;
}

/* @end chatroom wrappers and masthead */



/* @group Online Users */


.chatroom-users-online-wrapper {
	border: 10px solid #A9A9A9;
	margin: 1px;
}

.chatroom-users-online-heading {
	background-color: #A9A9A9;
	line-height: 200%;
	padding-left: 5px;
	margin: 1px;
}

.chatroom-users-online-listing {
	border: 10px solid #A9A9A9;
	margin: 1px;
}

/*	@end online users */


/* @group Submission form */

.chatroom-form {
	border: 2px solid #000;
	background-color: #CCCCCC;
	margin: 1px;
}

.chatroom-form-input {
	border: 1px solid #000;
}

.chatroom-form-button {
	border: 1px solid #000;
}

/* @end submission form */



/* @group AJAX generated chatroom elements */

.chatroom-user {
	border: 1px solid #808080;
	background-color: #CCCCCC;
	margin: 1px;	
}

.chatroom-message-wrapper {
	border: 1px solid #808080;
	background-color: #FFFFFF;
	margin: 1px;
}

div.chatroom-datestamp strong {
	font-weight: bold;
}

.chatroom-datestamp {
	background: #CCCCCC;
	color: gray;
	font-size: 10px;
}

.chatroom-posting {
	background-color: #CCCCCC;
	font-size: 90%;
}

/* @end ajax generated chatroom elements */

/* @end chatrooms  */





/* @group DISCUSSION THREADS */

/*	Taglet group: MOD: Discussion Threads*/


/*	This group of wrappers controls the overall width of the
	discussion block.
*/

.discussion-block-wrapper,
.discussion-topic-wrapper, 
.discussion-replies-outer-wrapper, 
.discussion-masthead, 
.discussion-replies-masthead {
	
}



/* @group Header */

/*	These styles control the layout and presentation of the discussion
	topic area. This is the area that appears at the top of each
	discussion, displaying details of the topic being discussed.
	The content for the majority of these items is placed within
	<p> tags inside a <div>. This is done deliberately so that
	you can set widths and borders to the DIV's, whilst still being 
	able to safely apply padding to the paragraphs within the DIVs.
*/

/* Taglet: Discussion-block wrapper */

div.discussion-block-wrapper {
	border: 30px solid #808080;
}

/* Taglet: Discussion-block header */

div.discussion-masthead {
  	border: 10px solid #808080;
	background-color: #A9A9A9;
	margin: 1px;
}

div.discussion-masthead p {
	
}

div.discussion-topic-wrapper {
  	border: 10px solid #808080;
	background: #CCCCCC;
	margin: 1px;
}

p.discussion-topic-title {
	
}

p.discussion-topic-date {
	
}
 
div.discussion-topic-wrapper p {
	
}

p.discussion-topic-author {
	padding: 5px;
	margin: 1px;
	border: 1px dotted #808080;
}

div.discussion-replies-masthead {
  	border: 10px solid #808080;
	background-color: #CCCCCC;
	margin: 1px;
}

div.discussion-replies-masthead p {
	
}

/* @end discussion header styles */



/* @group Response list */

/*	These styles control the presentation and layout of user
	responses to discussions. There are several levels of wrapper
	in use here, so you need to be careful that you are selecting 
	the correct wrapper when you are styling the content. 
*/

/*	The outer-wrapper surrounds the pagination controls, the user
	responses and the reply link. It is most commonly used to set
	a common border around all of these items.
*/

/* Taglet: Paginated Discussion-block */

div.discussion-replies-outer-wrapper {
  	border: 2px solid #808080;
  	margin: 1px;
}

div.discussion-replies {
	border: 10px solid #808080;
	margin: 1px;
}

div.discussion-reply-link {
	border: 10px solid #808080;
	margin: 1px;
}

/*	The inner-wrapper surrounds all of the individual responses.  
	You usually don't need to do anything with this wrapper,
	except setting default margins and paddings.  */
	
/* Taglet: Discussion thread admin-wrapper */

div.discussion-replies-inner-wrapper {
	border: 2px solid #808080;
	margin: 1px;
}	

/*	The response-wrapper goes around a complete user-posting,
	including the date-time posting information. The most common
	use for this wrapper is setting position:relative so that you
	can absolutely position the elements that appear inside the
	wrapper. */
	
/* Taglet: Discussion response item */	

div.discussion-response-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

/*	The date and time of postings are typically placed absolutely
	within the response-wrapper. This allows them to be positioned
	in a precise physical location within the wrapper.
*/ 

div.discussion-response-date, 
div.discussion-response-time {
	border: 1px solid #808080;
  	background-color: #CCCCCC;
  	font-size: 12px;
  	margin: 1px;	
}
		
/*	The posting-wrapper is a wrapper that only goes around the
	actual post (including the author). This wrapper is not
	commonly used, but can be used for extra layout control in
	certain circumstances. 
*/

div.discussion-response-posting-wrapper {
	border: 1px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

p.discussion-response-author strong {
	
}

p.discussion-response-author {
		
}

p.discussion-response-posting {
	
}

/* @end discussion response styles */



/* @group Pagination controls */

/*	The pagination styles are used to control the layout of the
	pagination controls for discussions.
	
	The pagination controls often create styling problems within
	internet explorer. Unless you have a need to override the default
	controls, we strongly recommend that use the default styles and
	layout.
	
	If you do decide to restyle these control, it is important to
	ensure that you maintain a separate style for:
		.discussion-pagination-link a {}
	Otherwise the pagination links won't work properly. */
	
/* Taglet: Discussion pagination container */

div.discussion-pagination-wrapper {
	border: 10px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}	

p.discussion-pagination-title {
	margin-top: 5px;
	margin-bottom: 5px;
}

/* Discussion pagination control */

.discussion-pagination-title, 
.discussion-pagination-link {
	position: relative;
	float: left;
}

div.discussion-pagination-link {
	display: block;
	border: 1px solid #FFFFFF;
	height: 13px;
	min-width: 13px;
	text-align: left;
	line-height: 1.0;
	font-size: 11px;
	padding: 2px;
	margin-left: 3px;
	margin-top: 4px;
	background-color: #4B0082;
}

.discussion-pagination-link a {
	cursor: pointer;
	cursor: hand;
	color: #FFFFFF;
}


/* @end discussion pagination controls */



/* @group Reply-form */

/*	These styles are used by the discussion thread response form.
	This form is only displayed when a logged in user clicks the 
	'Click here to respond to this thread' link. */

/* 	Taglet: Discussion reply-form
	Note: Only users who have logged in to the website can 
	post a response to the discussion thread. */

div.discussion-reply-form-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

div.discussion-reply-form-wrapper form {
	border: 2px solid #000000;
	margin: 1px;
}

.discussion-reply-form-wrapper fieldset {
	border: 1px solid #000000;
	margin: 1px;
}

.discussion-reply-form-wrapper legend {
	border: 1px solid #000000;
}

.discussion-reply-link {
	background-color: #CCCCCC;
}

.discussion-reply-link a {
	cursor: pointer;
	cursor: hand;
	color:  blue;
	text-decoration: underline;
}

.discussion-reply-form-wrapper p {
	margin: 0px;
	padding: 0px;
}

label.discussion-reply-form-label {
	
}

span.discussion-reply-form-name {
	
}

.discussion-reply-form-wrapper textarea {
	border: 1px solid #808080;
	width: 100%;
}

input.discussion-reply-form-button {
	
}

/* @end discussion reply-form styles */


/* @end  Discussion Threads*/





/* @group POLLS */

/*	Taglet group: MOD: Polls
	Taglet: Poll form-wrapper */


/* @group Initial Poll Layout Styles */

/*	This is a listing of all the styles used by the poll taglet.
	These initial values are used to give each item a sensible
	starting value before the real styling is undertaken.
*/

div.poll-outer-wrapper,
div.poll-inner-wrapper,
div.poll-masthead,
div.poll-graph,
div.poll-responses-wrapper,
div.poll-response-item,
div.poll-response-label,
div.poll-response-value,
div.poll-form-wrapper,
div.poll-form-item,
div.poll-form-input,
div.poll-form-label,
div.poll-form-submit {
	display: block;
	position: relative;
	margin: 0px;
	padding: 0px;
}

/*	Whenever PARAMETER values are output by this taglet they are placed
	into a <p> tag. This allows the text attributes (including padding and
	margins) to be safely set without introducing box-model problems. 
*/

div.poll-masthead p,
div.poll-response-label p,
div.poll-response-value p,
div.poll-form-label p {
	margin: 0px;
	padding: 0px;	
}

/* 	The response-value and form-input items are usually displayed to the
	left of the label information. So these items are usually floated left.
*/

div.poll-response-value,
div.poll-form-input {
	width: 10%;
	float: left;
}

/* 	The response-label and form-label items are usually displayed to the
	right of the value/input items. Together these items must be less than
	100% width, otherwise the items will wrap incorrectly.
*/

div.poll-response-label,
div.poll-form-label {
	width: 85%;
	float: right;
} 

/* @end starting poll layout styles */




/* @group Poll Outer Wrapper & Masthead */

div.poll-outer-wrapper {
	border: 20px solid #808080;
}

div.poll-inner-wrapper {
	border: 15px solid #808080;
	margin: 1px;
}

div.poll-masthead {
  	background-color: #A9A9A9;
  	margin: 1px;
}

div.poll-masthead p {
	
}


/* @end poll outer wrapper & masthead */




/* @group Poll Responses & Submit Form */


div.poll-form-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

div.poll-form-wrapper form {
	margin: 1px;
	border: 2px solid #000;	
}

div.poll-form-item {
	border: 10px solid #A9A9A9;
	margin: 1px;
}

div.poll-form-input {
	border: 5px solid #CCCCCC;
	margin: 1px;
	height: 18px;
}

div.poll-form-input input {
	
}

div.poll-form-label {
	border: 5px solid #CCCCCC;
	margin: 1px;
}

div.poll-form-label p {

}

div.poll-form-submit {
	border: 5px solid #808080;
	margin: 1px;
	background-color: #CCCCCC;
}

div.poll-form-submit input {
	
}

/* @end poll responses & submit form */




/* @group Poll Results Graph */

div.poll-graph {
	text-align: left;
	margin: 1px;
	background-color: #CCCCCC;
}

div.poll-graph img {
	background-color: #FFFFFF;
	margin: 10px;
	border: 1px solid grey;
}

/* @end poll results graph */




/* @group Poll Result List Styles */


div.poll-responses-wrapper {
	border: 10px solid #808080;
	margin: 1px;
}

div.poll-response-item {
	border: 5px solid #808080;
	margin: 1px;
}

div.poll-response-label {
	border: 5px solid #A9A9A9;
	margin: 1px;
}

div.poll-response-label p {
	background-color: #A9A9A9;
}

div.poll-response-value {
	border: 5px solid #A9A9A9;
	margin: 1px;
}

div.poll-response-value p {
	font-weight: bold;
	background-color: #A9A9A9;
}


/* @end poll result list styles */


/* @end poll styles  */






/* @group CSS CLEARFIX HACK */

.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix {display: inline-block;}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

/* @end */



























