/*
********************************
*****  FULL (DESKTOP) CSS  *****
********************************
*/
	body:after, span#MQ { 
            font-family: 'full'; 
            content: 'full';
	}
	
	.mobile-only {
    	display: none !important;
	}
	.small-tablet-only {
    	display: none !important;
	}
	.large-tablet-only {
    	display: none !important;
	}
	.full-only {
    	display: inherit !important;
	}
	
	.hide-mobile {
    	display: inherit !important;
	}
	.hide-small-tablet {
    	display: inherit !important;
	}
	.hide-large-tablet {
    	display: inherit !important;
	}
	.hide-full {
    	display: none !important;
	}
	.show-mobile {
    	display: none !important;
	}
	.show-small-tablet {
    	display: none !important;
	}
	.show-large-tablet {
    	display: none !important;
	}
	
	.full-only-five {width: 61.290322580645%;} /* 380px of 620px */
	

	html {
		height: 100%;
	}

	body {
		height: 100%;
	}
	
	#viewportWrapper {
		position: relative !important;
		margin: 0px;
		height: 100%;
		width: 100%;
		overflow: visible !important;
	}
	#siteWrapper {
		top: auto;
		left: auto;
		margin: 0px;
		min-height: 100%;
		min-width: 980px;
	}
	#siteWrapper #mobileNavigationMask {
		display: none !important;
	}
	body.modal #wrapper {
		margin: 0px;
		min-height: auto;
		min-width: auto;
	}	
	
	#contentWrapper {
		padding: 160px 0px 145px 0px;
	}
	.subBrand #contentWrapper {
		padding-top: 190px;
	}
	body.modal #contentWrapper {
		padding: 0px;
	}
	#contentWrapperSpacer {
		height: 24px;
	}
	
	p {
		margin: 0px 0px 12px 0px;
	}
	
	blockquote.review {
		font-size: 18px;
		line-height: 22px;
	}
	blockquote.review span.attribution {
		display: block;
		font-size: 16px;
		line-height: 20px;
	}
	
	.largerText {
		font-size: 18px;
		line-height: 23px;
	}

	.anchorTag {
		display: block;
	}
	.anchorTag:before {
		content: "";
		display: block;
		height: 118px; /* fixed header height*/
		margin-top: -118px; /* negative fixed header height */
	}
	
/*
Parent Header layout
------------------
*/

#topHeaderWrapper {
                position: fixed;
		top: 0px;
		left: 0px;
		z-index: 1000;
		text-align: center;
		min-width: 980px;
		height: 30px !important;
}

#topMainHeader {
    		padding: 0px 0px 0px 0px !important;
		margin: 0px auto 0px auto;
		width: 940px;
		height: 30px !important;
		text-align: left;
}

#topHeaderLogo {
		left: 0px;
		top: 4px;
}

	#topHeaderWrapper #headerAccountLinks {
		top: 4px;
		right: 0px;
	}
	
#logoText {
    color: #FFFFFF;
    font-size: 22px;
    top: 22px;
    left: 50px;
    margin-left: 10px;
    position: absolute;
    line-height: 22px;
}

/*
Header layout
------------------
*/

	#headerWrapper {
		position: fixed;
		top: 0px;
		left: 0px;
		z-index: 1000;
		text-align: center;
		min-width: 980px;
		height: 125px !important;
		background-color: #3C6485;
	}
	
	.subBrand #headerWrapper {
		top: 30px;
	}
	.gcMagazine #headerWrapper {
		background-color: #ebebeb;
	}
	
	#headerWrapper.stripes {
		background-image: url("/assets/images/common/full/header-stripes.png");
		background-position: bottom right;
		background-repeat: no-repeat;
	}
	.subBrand #headerWrapper.stripes {
		background-image: none;
	}
	#headerExtraDecoration {
		padding: 0px 0px 0px 0px !important;
		margin: 0px;
		width: 100%;
		text-align: center;
	}
	header {
		padding: 0px 0px 0px 0px !important;
		margin: 0px auto 0px auto;
		width: 940px;
		height: 125px !important;
		text-align: left;
	}
	
	#headerContent {
		height: 125px !important;
		background: none;
	}
	
	#headerLogo {
		position: absolute;
		top: 22px;
		left: 0px;
		width: 100px;
	}
	.gcMagazine #headerLogo {
		top: 19px;
		width: 245px;
	}

	.icsaShop #headerContent h1 {
		font-size: 40px;
		line-height: 48px;
		top: 20px;
		left: 0px;
	}
	
	/* Account link */
	
	#headerWrapper #headerAccountLinks {
		top: 6px;
		right: 0px;
		font-size: 14px;
		line-height: 18px;
	}
	
	/* Social links */
	
	#headerSocialLinks {
		top: 37px;
		left: 525px;
	}

	/* Shop links */
	
	#headerShopLinks {
		top: 37px;
		left: 565px;
	}
	
	/* Search box */
	
	#headerSearch {
		position: absolute;
		top: 37px;
		right: 0px;
		margin: 0px;
		padding: 0px;
		height: 31px;
		width: 220px;
		background-image: url("/assets/images/common/full/search-box-sprite.png");
		background-position: 0px 0px;
		background-repeat: no-repeat;
	}
	body.hires #headerSearch {
		background-image: url("/assets/images/common/full/search-box-sprite-2x.png");
		background-size: 282px 31px;
	}
	#headerSearchField::-webkit-search-decoration,
	#headerSearchField::-webkit-search-cancel-button,
	#headerSearchField::-webkit-search-results-button,
	#headerSearchField::-webkit-search-results-decoration  {
		-webkit-appearance: none;
	}
	#headerSearchField {
   		-webkit-appearance: none;
		background-color: transparent;
		border: none;
		border-radius: 0;
		outline: none;
		position: absolute;
		top: 0px;
		left: 15px;
		margin: 0px;
		padding: 0px;
		height: 31px;
		width: 174px;
		line-height: 31px;
	}
	#headerSearchButton {
		display: block;
   		-webkit-appearance: none;
		border: none;
		outline: none;
		position: absolute;
		top: 0px;
		right: 0px;
		margin: 0px;
		padding: 0px;
		height: 31px;
		width: 31px;
		background-color: transparent;
		background-image: url("/assets/images/common/full/search-box-sprite.png");
		background-position: -220px 0px;
		background-repeat: no-repeat;
		cursor: pointer;
	}
	body.noTouch #headerSearchButton:hover {
		background-position: -251px 0px;
	}
	body.hires #headerSearchButton {
		background-image: url("/assets/images/common/full/search-box-sprite-2x.png");
		background-size: 282px 31px;
	}
	
	/* Menu layout */
	
	#menuLauncher {
		display: none;
	}
	
	#menuArea {
		position: absolute;
		top: 90px;
		left: 0px;
		width: 940px;
		height: 35px !important;
		background-color: #3C6485;
		margin: 0px 0px 0px 0px;
		z-index: 10;
	}
	.gcMagazine #menuArea {
		background-color: #3C6485;
	}
	
	body.js #menuArea {
		display: none;
	}
	
	#menuArea dl.menuAreas {
		width: 940px;
		font-size: 18px;
		line-height: 22px;
		position: relative;
		border: none !important;
	}
	
	#menuArea dl.menuAreas dt {
		display: inline;
		float: left;
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
	}
	
	body.js #menuArea dl.menuAreas dt {
		display: block;
		float: none;
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
		position: absolute;
		top: 0px;
	}
	#menuArea dl.menuAreas dt a, #menuArea dl.menuAreas dt a.withSubmenu {
		display: block;
		position: relative;
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
		background-color: transparent;
		background-image: none;
		border: none !important;
		text-shadow: none;
		font-size: 18px;
		line-height: 35px;
		height: 35px;
		white-space: nowrap;
	}
	#menuArea dl.menuAreas dt a .menuTitleWrapper {
		display: block;
		padding: 0px 20px 0px 20px;
		height: 35px;
	}
	body.js #menuArea dl.menuAreas dt a {
		background-image: none;
	}
	body.js #menuArea dl.menuAreas dt a:hover {
		text-decoration: none !important;
	}
	body.js #menuArea dl.menuAreas dt a.noLink {
		cursor: default !important;
	}
	#menuArea dl.menuAreas dt a.withSubmenu .expander {
		display: none;
	}
	#menuArea dl.menuAreas dd.submenu {
		display: none !important;
		border: none !important;
	}
	#menuArea dl.menuAreas dt a, #menuArea dl.menuAreas dt a:visited {
		background-color: transparent !important;
		color: #fff !important;
	}
	#menuArea dl.menuAreas dt.menuOn a, #menuArea dl.menuAreas dt.menuOn a:visited {
		background-color: #fff !important;
		color: #141b4d !important;
	}
	#menuArea dl.menuAreas dt.menuOver a, #menuArea dl.menuAreas dt.menuOver a:visited {
		background-color: #141b4d !important;
		color: #fff !important;
	}
	body.js #menuArea dl.menuAreas dt a .menuTitleWrapper {
		padding: 0px;
		text-align: center;
	}
	
	/* Mega Menu layout */
	
	#megaMenuWrapper {
		position: absolute;
		top: 125px;
		left: 0px;
		width: 940px;
		z-index: 1000;
	}
	
	#megaMenu {
		position: absolute;
		top: 0px;
		left: 0px;
		z-index: 1;
	}
	#megaMenu.oneColumn {
		width: 310px!important;
	}
	#megaMenu.twoColumn {
		width: 600px!important;
	}
	#megaMenu.threeColumn {
		width: 900px!important;
	}
	
	#megaMenu a {
		text-decoration: none;
	}
	
	.megaMenuContent {
		padding: 15px 0px 10px 0px;
		background-color: #fff;
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		box-sizing: border-box;
		box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.7);
	}
	#megaMenu.oneColumn .megaMenuContent {
		width: 310px;
	}
	#megaMenu.twoColumn .megaMenuContent {
		width: 600px;
	}
	#megaMenu.threeColumn .megaMenuContent {
		width: 900px;
	}
	
	#megaMenu .columnsContainer {
		margin: 0px 0px 0px 15px;
	}
	#megaMenu.oneColumn .columnsContainer {
		width: 295px;
	}
	#megaMenu.twoColumn .columnsContainer {
		width: 585px;
	}
	#megaMenu.threeColumn .columnsContainer {
		width: 885px;
	}
	
	#megaMenu .columnsContainer .overview {
		margin: 0px 0px 10px 0px;
		padding-bottom: 10px;
		border-bottom: 1px solid #e5e5e5;
	}
	#megaMenu.oneColumn .columnsContainer .overview {
		width: 280px;
	}
	#megaMenu.twoColumn .columnsContainer .overview {
		width: 570px;
	}
	#megaMenu.threeColumn .columnsContainer .overview {
		width: 870px;
	}
	#megaMenu .columnsContainer .overview dd {
		margin: 0px 0px 4px 0px;
	}
	#megaMenu .columnsContainer .overview dd a, #megaMenu .columnsContainer .overview dd a:visited {
		font-size: 16px;
		line-height: 20px;
	}
	#megaMenu .columnsContainer .overview dd a:hover {
		text-decoration: underline;
	}
	
	#megaMenu .columnsContainer .column {
		float: left;
		margin: 0px 10px 0px 0px;
		padding: 0px;
		width: 280px;
		min-height: 10px;
	}
	
	#megaMenu .columnsContainer .section {
		margin: 15px 0px 0px 0px;
	}
	#megaMenu .columnsContainer .section:first-Child {
		margin: 0px 0px 0px 0px;
	}
	#megaMenu .columnsContainer .section dt {
		margin: 0px 0px 4px 0px;
		font-size: 18px;
		line-height: 22px;
		color: #b8bbe0;
	}
	#megaMenu .columnsContainer .section dd {
		margin: 0px 0px 4px 0px;
	}
	#megaMenu .columnsContainer .section dd a, #megaMenu .columnsContainer .section dd a:visited {
		font-size: 16px;
		line-height: 20px;
	}
	#megaMenu .columnsContainer .section dd a:hover {
		text-decoration: underline;
	}
	
/*
Shop links buttons
------------------
*/
	#headerShopLinks {
		left: 395px;
		width: 320px;
	}
	#headerShopLinks dd, .shopLinksButtons dd {
		font-size: 14px;
		width: auto;
	}
	#headerShopLinks dd a, .shopLinksButtons dd a {
		background: none;
		font-size: 14px;
		width: auto;
	}
	#headerShopLinks dd a:hover, .shopLinksButtons dd a:hover {
		background: none !important;
	}
	#headerShopLinks dd a .fa {
		display: inline;
		margin-right: 5px;
	}
	#headerShopLinks dd a:hover {
		text-decoration: none !important;
	}
	#headerShopLinks dd a:hover span {
		text-decoration: underline !important;
	}
	.shopLinksButtons dd a span {
		display: inline;
	}
	.shopLinksButtons dd.helpButton {
		left: 0px;
	}
	.shopLinksButtons dd.deliveryButton {
		left: 75px;
	}
	.shopLinksButtons dd.basketButton {
		left: 170px;
	}

/*
General layout
------------------
*/

	section {
		margin: 0px auto 0px auto;
		max-width: 940px;
	}
	
	section .row .column {
		display: inline;
		float: left;
		margin: 0px 20px 0px 0px;
	}
	
	section .row .one {
		width: 60px;
	}
	section .row .two {
		width: 140px;
	}
	section .row .three {
		width: 220px;
	}
	section .row .four {
		width: 300px;
	}
	section .row .five {
		width: 380px;
	}
	section .row .six {
		width: 460px;
	}
	section .row .seven {
		width: 540px;
	}
	section .row .eight {
		width: 620px;
	}
	section .row .nine {
		width: 700px;
	}
	section .row .ten {
		width: 780px;
	}
	section .row .eleven {
		width: 860px;
	}
	section .row .twelve {
		width: 940px;
		display: block !important;
		float: none !important;
	}
	section .row .last {
		float: right !important;
		margin-right: 0 !important;
	}

	.columnPicFloatRight {
		width: 50%;
	}

/*
Custom Panels
------------------
*/

	.heroPanel {
		position: relative;
		background-color: #e3eef1;
	}
	.heroPanel .heroContent.topLeft {
		position: absolute;
		top: 10px;
		left: 10px;
		z-index: 2;
	}
	.heroPanel .heroContent.topRight {
		position: absolute;
		top: 10px;
		left: 10px;
		z-index: 3;
		text-align: right;
	}
	.heroPanel .heroContent.bottomLeft {
		position: absolute;
		bottom: 10px;
		right: 10px;
		z-index: 4;
	}
	.heroPanel .heroContent.bottomRight {
		position: absolute;
		bottom: 10px;
		right: 10px;
		z-index: 5;
		text-align: right;
	}
	.heroPanel h2:first-child {
		margin-top: 0px;
	}
	.heroPanel .heroContent {
		margin: 0px;
		padding: 0px;
	}
	.heroPanel .heroContent.padded {
		padding: 10px 10px 1px 10px;
	}
	.heroPanel .heroContent.redBackground {
		background-color: #ba0c2f;
		color: #fff;
	}
	.heroPanel .heroContent.blueBackground {
		background-color: #3C6485;
		color: #fff;
	}
	.heroPanel .heroImage {
		margin: 0px;
		z-index: 1;
	}
	
	.heroPanel .heroImage img {
		vertical-align: bottom;
	}
	
	
	.heroSplitPanel .heroContent h2 {
		font-size: 42px;
		line-height: 46px;
	}
	
	
	/* Shop feature */
	.heroPanel.shopFeature {
		/*background: #e3eef1 url("/assets/images/shop/icsa-book-shop-feature-full.jpg");*/
		height: 375px;
	}
	
	.heroPanel.shopFeature .shopFeatureContentArea {
		float: right;
		padding: 20px 12px 0px 12px;
		width: 30%;
	}
	
	.heroPanel.shopFeature .shopFeatureContentArea #headerSearch {
		background-image: url("/assets/images/shop/panel-search-box-sprite.png");
		background-position: 0px 0px;
		background-repeat: no-repeat;
	}
        
	body.hires .heroPanel.shopFeature .shopFeatureContentArea #headerSearch {
		background-image: url("/assets/images/shop/panel-search-box-sprite-2x.png");
		background-size: 342px 31px;
	}
	body.hires .heroPanel.shopFeature .shopFeatureContentArea #headerSearch #headerSearchButton {
		right: 2px;
	}
	
	
/*
Tabbed content layout
------------------
*/

	body.js #tabArea {
		margin: 20px 0px 20px 0px;
		position: relative;
		padding-top: 45px;
	}

	body.js #tabArea .contentVisible {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		height: auto !important;
		overflow: visible !important;
	}

	body.js #tabArea .contentHidden {
		position: absolute !important;
		top: 0px !important;
		left: 0px !important;
		height: 0px !important;
		overflow: hidden !important;
	}

	body.js #tabArea .tabbedContent {
		margin: 0px;
		padding: 0px;
		border: none;
	}

	body.js #tabArea .tabbedContent h2 {
		display: none;
	}
	
	body.js #tabArea .tabbedContent h3 {
		margin: 0px 0px 10px 0px;
		padding: 0px;
	}
	body.js #tabArea .tabbedContent h3.headline, h3.headline {
		margin: 0px;
	}
	
	body.js #tabArea #tabButtons {
		position: absolute;
		top: 0px;
		left: 0px;
		width: 100%;
		height: 30px;
		border-bottom: 2px solid #3C6485;
		margin: 0px;
		padding: 0px;
		border-top: none;
	}
	.gcMagazine body.js #tabArea #tabButtons {
		border-bottom: 2px solid #3C6485;
	}

	body.js #tabArea #tabButtons dd {
		margin: 0px 10px 0px 0px !important;
		padding: 0px 0px 0px 0px !important;
		float: left;
		height: 29px;
	}
	
	* html body.js #tabArea #tabButtons dd {
		width: 10px;
	}

	#tabButtons dd.tab a {
		display: block;
		position: relative;
		margin: 0px 0px 0px 0px;
		padding: 0px 10px 0px 10px;
		height: 29px;
		white-space: nowrap;
		text-decoration: none;
		overflow: hidden;
		cursor: pointer;
		font-size: 18px;
		line-height: 31px;
	}
	#tabButtons dd.tabOn a, #tabButtons dd.tabOn a:visited, #tabButtons dd.tabOn a:hover {
		color: #fff !important;
		background-color: #3C6485;
		border-bottom: 1px solid #3C6485;
	}
	#tabButtons dd.tabOff a, #tabButtons div.tabOff a:visited {
		color: #fff !important;
		background-color: #7faed8;
		border-bottom: 1px solid #fff;
	}
	#tabButtons dd.tabOff a:hover {
		color: #fff !important;
		background-color: #141b4d;
		border-bottom: 1px solid #fff;
	}
	
	.gcMagazine #tabButtons dd.tabOn a, .gcMagazine #tabButtons div.tabOn a:visited {
		background-color: #3C6485;
		border-bottom: 1px solid #3C6485;
	}

/*
Picture listing
------------------
*/

.pictureListing .listingItem .listingPicture {
    width: 150px;
}
.column .three .pictureListing .listingItem .listingContent {
    width: 100%;
}
.seven .pictureListing .listingItem .listingContent {
    width: 340px;
}
.eight .pictureListing .listingItem .listingContent {
    width: 420px;
}
.nine .pictureListing .listingItem .listingContent {
    width: 500px;
}
.ten .pictureListing .listingItem .listingContent {
    width: 580px;
}
.eleven .pictureListing .listingItem .listingContent {
    width: 660px;
}
.twelve .pictureListing .listingItem .listingContent {
    width: 740px;
}

/*
Logo listing
*/
.logoListing .listingItem .listingPicture {
    width: 200px;
}
.seven .logoListing .listingItem .listingContent {
    width: 290px;
}
.eight .logoListing .listingItem .listingContent {
    width: 370px;
}
.nine .logoListing .listingItem .listingContent {
    width: 450px;
}
.ten .logoListing .listingItem .listingContent {
    width: 530px;
}
.eleven .logoListing .listingItem .listingContent {
    width: 610px;
}
.twelve .logoListing .listingItem .listingContent {
    width: 690px;
}

/*
Cookies message
------------------
*/

#cookieMessage {
  top: 156px !important;
}

#cookieMessage .messageWrap {
   width: 940px;   
}

/*
DFP
------------------
*/
	
	.adsWrapper {
		margin: 0px 0px 30px 30px;
	}
	.inWrapper {
		margin: 0px 0px 0px 30px;
	}

        /* Manuel */
/*
Shop custom styles
------------------
*/
	.resultsOptionsArea .resultsSort {
		float: left;
		width: 25%;
	}
	.resultsOptionsArea .resultsStyle {
		float: left;
		width: 25%;
	}	
	.resultsOptionsArea .resultsPages {
		float: right;
		width: 28%;
	}
	
	.productPage .product.digital .productImage {
		margin: 5px -25px -20px -25px;
		width: 240px;
	}


	/* Overrides for grid listing within 12 column container */
	.column.twelve .productListing.gridListing .product {
		margin: 0 2% 2% 0;
	}

/*
Footer layout
------------------
*/

	#footerWrapper {
		position: absolute;
		left: 0px;
		bottom: 0px;
		margin: 0px 0px 0px 0px;
		text-align: center;
		height: 125px;
		min-width: 980px;
		background-color: #e3eef1;
	}
	#footerWrapper.stripes {
		background-image: url("/assets/images/common/full/footer-stripes.png");
		background-position: bottom right;
		background-repeat: no-repeat;
	}

	footer {
		margin: 0px auto 0px auto;
		padding: 0px;
		width: 940px;
		height: 125px;
		text-align: left;
	}
	
	footer nav {
		margin: 0px 0px 10px 0px;
	}
	
	#footerLinks {
		margin: 0px 0px 10px 0px;
		padding: 10px 0px 0px 0px;
	}
	#footerLinks:after {
   		display: table;
    	content: "";
		line-height: 0;
		clear: both;
	}
	#footerLinks dd {
		float: left;
		margin: 0px 0px 5px 0px;
		padding: 0px 15px 0px 15px;
		white-space: nowrap;
		border-left: 1px solid #fff;
	}
	#footerLinks dd:first-child {
		border-left: none;
		padding: 0px 15px 0px 0px;
	}
	
	#footerInfo {
		height: 63px;
		padding: 0px;
		position: relative;
		background-image: url("/assets/images/common/coat-of-arms.png");
		background-position: 0px 0px;
		background-repeat: no-repeat;
	}
	body.hires #footerInfo {
		background-image: url("/assets/images/common/coat-of-arms-2x.png");
		background-size: 60px 63px;
	}
	#footerInfo p {
		position: absolute;
		margin: 0px;
		left: 80px;
		bottom: 0px;
	}
	