
/*
Body is parent of "parent", parent is parent of child, 100% means 100% of parent,
so body is by default 100% width of viewport.
Don't assign a width to a parent or child
and it's automatically responsive, then limit it later for desktop.
In practise, in most cases do not set width on child, and almost never use height.

font-size use rem, anything else use em as don't compound so no problem
*/

/*
CONTAINERS etc

Powell says always limit to this pattern: ;
.container {
	width: 80%; max-width: 750px;
	margin:  0 auto;
}
.intro-main
.intro-body etc
*/




:root {
	--color-text-gray:#565656;
	--color-highlight:#bf3737;
}



/*
------------------------------------------------- TEXT
*/

h1 {
	font-family: 'Merriweather', serif;
	font-size: 220%;
	margin-top: 1.4em;/*2026 OCT: WAS 3em*/
	text-align: center;
}
h2 {
	font-family: 'Merriweather', serif;
	font-size: 140%;
	margin-top: 2.0em;
	text-align: left;
}
h2.h2_center {
	text-align: center;
}
h2.h2_top-margin-07em {
	margin-top: 0.7em;
}

p {
	text-align: left;
	line-height: 1.4;
}
p.right {
	text-align: right
}
p.attribute {
	font-size: 90%;
	font-style: italic;
	text-align: right;
	margin-bottom:3.5em;
}

a {
	color: #767676;
	text-decoration: none;
	border-bottom: 1px solid black;
	color: inherit;
}
a:hover {
	cursor: pointer;
	color: #F5F5F5;
	background: var(--color-highlight);
	border-bottom: 1px solid var(--color-highlight);
}
a.nav__link {
	font-size: 80%;
	font-weight: bold;
	text-decoration: none;
	border: 0; vertical-align: middle;
	padding: 5px;
}

/*
------------------------------------------------- FUNDAMENTALS
POWELL SAYS ALWAYS DO:
box-sizing: border-box;

h1 font-size can do 8vw ie 8% viewport width but still need media query to set a high limit for v wide and maybe v narrow screen
*/

html { 
	background-color: whitesmoke;
}
header {
}
body {
	background-color: whitesmoke;
	border: 0; margin: 0; padding: 0;
	font-size: 19px; font-family: 'Roboto', sans-serif;
	color: var(--color-text-gray);
}

nav.nav {
	border: 0; margin: 0 auto; padding: 0;
	display: flex;
	align-items: flex-end;/*works on cross axes*/
	width: 80%; max-width: 750px;
	height: 125px;/*same as j&j logo*/
}
ul.nav__list {
	background-color: whitesmoke;
	border: 0; margin: 0; padding: 0;
	list-style: none;
	display: flex;
}
li.nav__item {
	border: 0; margin: 0; padding: 0;
	margin-right: 1em;
	letter-spacing: 0.1em;
}
li.nav__item_inactive {/*we're on the page so highlighted and not real link*/

}

div.container {
	background-color: whitesmoke;
	border: 0; padding: 0; margin: 0 auto;
	width: 80%; max-width: 750px;
}
div.container_row {
	display: flex;/*makes it a flex container*/
	flex-flow: row nowrap;/*forces its children to be columns*/
	align-items: flex-start;/*cross axis, float items to top (start) or bottom (end)*/
	justify-content: flex-start;/*works on main axes (row/col), space-around etc*/
	/*can float individual items: align-self:flex-start/end;
	/*flex-direction: column; children each on own row, can do row-reverse
	/*justify-content: controls how empty space handled eg space between items only
	/*flex-wrap: nowrap is the default, wrap makes them stack up rather than spill
	/*flex-flow is shorthand for both flex-direction and flex-wrap
	/*align-items: baseline IMPORTANT when items have diff font heights
	/*align-content: IMPORTANT when have more than one line of content
	/*align-content conflicts with align-items
	/*flex-grow/shrink: 0/1/2 etc controls whether grows to fill available space
	/*flex-basis: 250px; used by flex-grow/shrink
	/*order: zero-based, so default is zero, use for rearranging, can be negative
	/*
	/*
	/*
	/*
	/*
	/*maybe can't use yet: gap:100px;*/
	/*prevent imgs etc stretching vertically with align-self:flex-start*/
}
div.container_col {
	/*automatically flex items because they are children of row*/
	/*flex items always try to shrink down to smallest possible size they can be*/
	/*to force widths to be even, give each width:100%*/

	background-color: limegreen;
	background-color: whitesmoke;
	border: 0; margin: 0; padding: 0;
}
div.container_col_center {
	text-align: center;
}
div.container_menu {
	background-color: transparent;
	display: visible;
	position: absolute;
	top: 0px;
	width: 100%; max-width: none;
	z-index: 99;
}
div.container_burger_outer {
	background-color: pink;
	background-color: whitesmoke;
	width: 100%;
	position: fixed;
	display: none;
	top: auto; bottom: 0px;
	z-index: 97;
	border-top: 1px solid black;
}
div.container_burger_inner {
	background-color: yellow;
	background-color: whitesmoke;
	border: 0; padding: 0; margin: 0 auto;
	text-align: right;
	width: 100%; max-width: 750px;
}
div.container_huge-invis-button {
	position: fixed;
	top: 0px;
	width: 100%;
	height: 100%;
	display: none;
	z-index: 98;
}
div.container_logo {
	text-align: right;
}

div.container_image_book_success-four {
	margin: 1.3em auto 0.8em auto;
}

div.container_col_success_text {
	margin-left: 20px;
	margin-right: 20px;
}

div.container_col_content-always-to-left-aside-from-smallest {
	margin-left: 20px;
}

img {
	/*max-width: 100%;powell says do this but causes me problems*/
}
img.img_photo_portrait {
	border: 0; padding: 1.2em 0 0.5em 0; margin: 0;
}
img.img_book_success {
	border: 0; padding: 1.2em 0 0.5em 0; margin: 0;
}
img.img_photo_author {
	border: 0; padding: 1.2em 0 0.5em 0; margin: 0;
}

.box {
	background-color: whitesmoke;
	border: 0; padding: 0; margin: 0;
	/* he gives it a width as a percent eg 80% then a max-width too, then don't need left/right padding, though I don't seem to have that here */
}
.box-quote {
	background-color: whitesmoke;
	border: 0; padding: 0; margin:0 0 0 auto;
	max-width:500px;
}

/*
------------------------------------------------- MEDIA QUERIES
*/

/* for mobile, maybe change display:flex to display:block */

/* large */
@media only screen and (min-width: 900px) {
	body {
		background-color: limegreen;
		background-color: whitesmoke;
	}

	div#id__div_container_image_book_success-four {
		display: none;
	}

	div#id__div_container_book_masters1_mobile {
		display: none;
	}
	div#id__img_book_twoworlds_mobile {
		display: none;
	}

	.mobile_only { /*divs, spans etc*/
		display: none;
	}
}

/* small AND medium */
@media only screen and (max-width: 899px) {
	h1 {
		font-size: 160%;
	}
	h2 {
		font-size: 120%;
	}

	div.container {
		width: 95%;/*80 desktop, expand to 95% mobiles*/
	}

	div.container_menu {
		display: none;/*appears when click burger*/
		position: fixed;
		width: 100%; max-width: none;/*needed because of above container change*/
		top: auto;
		bottom: 0px;
		height: auto;
	}
	nav.nav {
		width: 100%; max-width: none;
	}
	ul.nav__list {
		display: block;
		width: 100%; max-width: none;
	}
	li.nav__item {
		border-top: 1px solid black;
		height: 57px;/*57px ideal height for thumbs*/
		font-size: 20px;
		letter-spacing: 0.1em;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
	}
	a.nav__link {
		padding: 17px 150px;/*text area larger though font looks same, easier for thumb*/
	}
	div.container_burger_outer {
		display: block;
	}

	div#id__div_container-col_image_book_success {
		display: none;
	}
	div#id__div_book_masters1_desktop {
        display:none;
    }
	div#id__div_book_twoworlds_desktop {
        display:none;
    }

	div.box-quote {
		background-color: blueviolet;
		background-color: whitesmoke;
		border: 0; padding: 0; margin: 0;
		max-width:100%;
	}

	div.container_col_success_text {
		margin-left: 0;
	}

	div.laptop_only {
		display: none;
	}

	li.nav__item_inactive {
		/*color: var(--color-highlight);*/
		font-size: 23px;
	}
}

/* medium only, above is small and medium together */
@media only screen and (min-width: 600px) and (max-width: 899px) {
	body {
		background-color: lemonchiffon;
		background-color: whitesmoke;
		font-size: 16.5px;
	}
}

/* small only */
@media only screen and (max-width: 599px)
{
	body {
		background-color: lightpink;
		background-color: whitesmoke;
		font-size: 15px;
	}

	div#id__div_container_with-image-beside-text {
		display: block;/*was flex*/
		border: 0px solid blue;
		text-align: center;/*horz centers any images inside this container*/
	}

	div.container_col_content-always-to-left-aside-from-smallest {
		margin-left: 0;
	}

	img.img_photo_author {
		width: 123.75px; height: 187.5px;
		margin-left: 0.8em;/*.container_col+.container_col change is good but removes space here*/
	}
}









/*
------------------------------------------------- 2026 OCT: CORPORATE RESTYLE
White page, navy and charcoal, overrides the old whitesmoke and red above
*/
:root {
	--color-navy:#1b2a47;
	--color-text-gray:#33373d;
	--color-highlight:#1b2a47;
	--color-rule:#d5d9e0;
	--color-panel:#e6eaf0;
}
html, body, header, ul.nav__list, div.container, div.container_col,
div.container_burger_outer, div.container_burger_inner, .box, .box-quote {
	background-color: white;
}
html {
	border-top: 6px solid var(--color-navy);
}
div.container_menu {/*sits over the logo, so must stay see-through*/
	background-color: transparent;
}
h1, h2 {
	color: var(--color-navy);
	font-weight: 400;
}
h1 {
	letter-spacing: -0.01em;
}
h2 {
	font-family: 'Merriweather', serif;
}
h1 + h2 {/*a subhead straight under a big heading, centred under it like a label*/
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	font-size: 95%;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	line-height: 1.6;
	text-align: center;
	color: var(--color-navy);
	margin-top: -0.2em;/*2026 OCT: WAS -0.6em, A LITTLE MORE SPACE UNDER THE BIG HEADING*/
	margin-bottom: 2.6em;
}
h2.h2_center {/*a real heading, not a label*/
	font-family: 'Merriweather', serif;
	font-weight: 400;
	font-size: 140%;
	text-transform: none;
	letter-spacing: 0;
	color: var(--color-navy);
	margin-top: 2em;
	margin-bottom: 1em;
}
a {
	border-bottom: 1px solid var(--color-navy);
}
a.nav__link {
	color: var(--color-navy);
	letter-spacing: 0.12em;
}
a.nav__link:hover {
	color: white;
}
li.nav__item_inactive {/*the page we are on*/
	color: var(--color-navy);
	border-bottom: 2px solid var(--color-navy);
}
div.container_logo {/*logo centred on its own, menu centred under it*/
	text-align: center;
	padding-top: 34px;
	padding-bottom: 60px;/*2026 OCT: WAS 62px, BIGGER LOGO*/
	/*2026 OCT: NAVY LINE UNDER THE MENU REMOVED (author)*/
}
div.container_logo img {/*2026 OCT: THE WIDER LOGO SHRINKS TO FIT NARROW PHONES*/
	max-width: 90%; height: auto;
}
nav.nav {
	justify-content: center;
	height: 160px;/*2026 OCT: WAS 150px, BIGGER LOGO*/
}
ul.nav__list {
	background-color: transparent;
}
li.nav__item {
	margin: 0 0.7em;
}
div.band {/*2026 OCT: NAVY band (was pale var(--color-panel)), full width of the screen, behind the intro and the bottom menu paragraph*/
	background-color: var(--color-navy);
	box-shadow: 0 0 0 100vmax var(--color-navy);
	clip-path: inset(0 -100vmax);
	padding: 1.4em 0;/*2026 OCT: WAS 2.2em*/
	margin-top: 1.2em;/*some space under the menu line*/
}
div.band div {
	background-color: transparent;
}
div.band, div.band p, div.band b, div.band i, div.band h1, div.band h2 {/*2026 OCT: WHITE TEXT ON THE NAVY BAND*/
	color: #ffffff;
}
div.band a {
	color: #ffffff;
	border-bottom-color: #ffffff;
}
div.band a:hover {/*the usual navy hover would vanish into the band*/
	color: var(--color-navy);
	background: #ffffff;
	border-bottom-color: #ffffff;
}
div.band h1 {/*the empty spacer heading above the menu paragraph*/
	margin-top: 0;
}
img.img_photo_portrait {
	box-shadow: 0 2px 10px rgba(27,42,71,0.18);
	padding: 0; margin-top: 1.2em;
}
.box-quote {
	border-left: 3px solid var(--color-navy);
	padding-left: 1.2em;
}
.box-quote p {
	color: #2c3038;
}
p.aka {/*the other name for a service, under its heading on the Services page*/
	margin-top: -0.6em;
	font-size: 80%;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--color-navy);
}
div.covers4 {/*four covers in a row, About page*/
	display: flex;
	gap: 0;
	margin: 0.4em 0 0.6em 0;
}
div.covers4 img {
	width: 25%; height: auto;
	display: block;
}
p.attribute {/*2026 OCT: NEWSPAPER NAMES ARE WRAPPED IN <i> IN THE PAGES*/
	color: var(--color-navy);
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.03em;
}
@media only screen and (max-width: 899px) {
	li.nav__item {
		border-top: 1px solid var(--color-rule);
	}
	li.nav__item_inactive {
		border-bottom: 0;
	}
	div.container_logo {
		padding-top: 1.2em;
		padding-bottom: 1.2em;
	}
	div.container_burger_outer {
		border-top: 1px solid var(--color-navy);
	}
	div.box-quote {
		background-color: white;
		border-left: 3px solid var(--color-navy);
		padding-left: 1em;
	}
}

/*2026 OCT: BIGGER FULL-WIDTH TEXT REMOVED (author: all body text the same size)*/

/*2026 OCT: BIGGER OPENING PARAGRAPH REMOVED (author: all body text the same size)*/
