/*  all the em measurements start from this setting
--------------------------------------------------------------------------------------- */
html { font-size: 16px; }


/*  global styles to reset default values
--------------------------------------------------------------------------------------- */
*,
*:before,
*:after { box-sizing: border-box; }

body, div, ul, li, img, video, section, figure, figcaption, main, footer, 
h1, h3, p, a { margin: 0; padding: 0; border: 0; }

body { background: #116943; }


/*  this sets page width: 60em = 960px,  80 = 1280px, 90 = 1440px
--------------------------------------------------------------------------------------- */
.container { max-width: 90rem; }
.container { margin: 0 auto; background: #116943; }


/* example web font styles using IBM Plex Sans
--------------------------------------------------------------------------------------- */
@font-face {
	font-family: Plex;
	src: url(fonts/IBM-Plex-Sans/IBMPlexSans-Regular.woff2);
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: Plex-Bold;
	src: url(fonts/IBM-Plex-Sans/IBMPlexSans-Bold.woff2);
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: Plex-Italic;
	src: url(fonts/IBM-Plex-Sans/IBMPlexSans-Italic.woff2);
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: Nunito-Sans;
	src: url(fonts/Nunito_Sans/NunitoSans-VariableFont_YTLC\,opsz\,wdth\,wght.ttf);
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: Nunito-Sans-Italic;
	src: url(fonts/Nunito_Sans/NunitoSans-Italic-VariableFont_YTLC\,opsz\,wdth\,wght.ttf);
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: Nunito-Sans-Italic-Bold;
	src: url(fonts/Nunito_Sans/NunitoSans-Italic-VariableFont_YTLC\,opsz\,wdth\,wght.ttf);
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: Nunito-Sans-Bold;
	src: url(fonts/Nunito_Sans/NunitoSans-VariableFont_YTLC\,opsz\,wdth\,wght.ttf);
	font-weight: bold;
	font-style: normal;
}


body		{ font-family: Nunito-Sans-Italic, Arial, sans-serif; }
h1, h2, h3          {font-family: Nunito-Sans-Bold, Arial, sans-serif; color: #C6C6C6;}
p			{ font-family: Nunito-Sans, Arial, sans-serif; color: #C6C6C6; }
figcaption	{ font-family: Nunito-Sans, Arial, sans-serif; color: #C6C6C6;}


/*  top navigation section
--------------------------------------------------------------------------------------- */
nav 	{ padding: .5rem .5rem 2rem .5rem; min-height: 2rem; border-bottom: 2px #116943 solid; }
nav h1	{ font-size: 1.75rem; margin-bottom: .5rem; }
nav a	{ white-space: nowrap; }

nav ul		{ list-style-type: none; }
nav ul li	{ font-size: 1.75rem; display: inline-block; margin-right: 1.5rem; }


/*  main page title after top navigation
nav + h2 selects first <h2> after <nav>
--------------------------------------------------------------------------------------- */
nav + h2 {
	font-size: 2rem;
	line-height: 2.15rem;
	margin: 1rem .5rem 3rem;
}

/*  hero image
.container > figure selects all <figure> where parent is .container
--------------------------------------------------------------------------------------- */
.container > figure { margin: 0 .5rem 2rem .5rem; }


/*  main content: note padding on section
--------------------------------------------------------------------------------------- */
section { margin:0; padding: 0 .5rem 1.5rem; }

section h3, section div h3 { font-size: 1.5rem; line-height: 2.25rem; }

section figure { margin-bottom: 1rem; }

section figcaption { font-size: 1rem; }

section div { margin-top: -0.375rem; }  /* to adjust type against images */


/*  default paragraph styling
--------------------------------------------------------------------------------------- */
p { margin: 0 0 1rem 0; max-width: 36em; max-width: 60em; } /* max-width sets line length */
p { font-size: 1.5rem; line-height: 1.375em; }
/* p { line-height: 2.0625rem; } */ 


/*  media defaults to force image & video width to parent element width
--------------------------------------------------------------------------------------- */
img		{ width: 100%; height: auto; }

video	{ width: 100%; }

.max 	{ max-width: 100%; }  /* max-width can stop img element going bigger than its actual size */


/*  link styling
--------------------------------------------------------------------------------------- */
a			{ color: #C6C6C6; text-decoration: none; }
a:visited	{ color: #C6C6C6; }
a:hover		{ color: #858282; text-decoration: underline; }
a:active	{ color: #333232; }

nav a			{ color: #C6C6C6; text-decoration: none; }
nav a:visited	{ color: #C6C6C6; }
nav a:hover		{ color: #858282; text-decoration: underline; }
nav a:active	{ color: #333232; }

.contact p { font-size: 3rem; text-align: center; }

.white-italic-bold {
    font-family: Nunito-Sans-Italic-Bold;
}

.white-bold {
	font-family: Nunito-Sans-Bold;
}

.hero-image1 {
	background-image: url("image/web/Opening-Scene.jpg");
	height: 800px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.hero-image2 {
	background-image: url("image/web/Malla-Brand-Intro-2.png");
	height: 800px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.hero-image3 {
	background-image: url("image/web/Superpeople-Mockup-Scattered.jpg");
	height: 800px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.hero-image4 {
	background-image: url("image/web/Web-Page-Mockup.png");
	height: 800px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}
  
.hero-text1 {
	text-align: center;
	position: absolute;
	top: 6%;
	left: 20%;
	transform: translate(-50%, -50%);
	color: #C6C6C6;
}

.hero-text2 {
	text-align: center;
	position: absolute;
	top: 6%;
	left: 6%;
	transform: translate(-50%, -50%);
	color: #C6C6C6;
}

.hero-text3 {
	text-align: center;
	position: absolute;
	top: 6%;
	left: 9%;
	transform: translate(-50%, -50%);
	color: #C6C6C6;
}

.hero-text4 {
	text-align: center;
	position: absolute;
	top: 6%;
	left: 9%;
	transform: translate(-50%, -50%);
	color: #C6C6C6;
}

  .content-container {
	display: flex; /* Enables Flexbox */
	justify-content: space-between; /* Pushes elements apart */
	align-items: flex-start; /* Aligns them at the top */
	gap: 50px; /* Adjust spacing between the two sections */
}

.left-text, .right-text {
	width: 45%; /* Adjust width as needed */
	height: 400px;  /* Set height to match width */
	padding: 100px;  /* Adds spacing inside */
	font-size:26px;
	line-height: 1.5;
}

.left-phone-image, .right-phone-image {
	width: 100%; /* Adjust width as needed */
	height: 400px;  /* Set height to match width */
	padding: 0px;  /* Adds spacing inside */
}

.left-umbrellas-images {
	width: 35%; /* Adjust width as needed */
	height: 100px;  /* Set height to match width */
	padding-right: 50px;  /* Adds spacing inside */
}

.right-umbrellas-images {
	width: 43%; /* Adjust width as needed */
	height: 50px;  /* Set height to match width */
	padding-left: 50px;  /* Adds spacing inside */
}

.left-inspo-images {
	width: 100%; /* Adjust width as needed */
	height: 20px;  /* Set height to match width */
	padding-top: 278px;  /* Adds spacing inside */
}

.right-inspo-images {
	width: 70%; /* Adjust width as needed */
	height: 400px;  /* Set height to match width */
	padding-top: 200px;  /* Adds spacing inside */
	padding-left: 150px;
	padding-bottom: 200px;
	padding-right: 0px;
}

.left-code-images {
	width: 95%; /* Adjust width as needed */
	height: 300px;  /* Set height to match width */
	padding-right: 0px;  /* Adds spacing inside */
}

.right-code-images {
	width: 100%; /* Adjust width as needed */
	height: 300px;  /* Set height to match width */
	padding-left: 0px;  /* Adds spacing inside */
}

.teamnames {
    font-size: 16px;
	line-height: 1;
}

.paragraph-h3 {
	font-size:26px;
	padding-bottom: 50px;
}

.padding-top-30px {
	padding-top: 30px;
}

.padding-top-70px {
	padding-top: 70px;
}

.padding-top-175px {
	padding-top: 175px;
}

.padding-top-200px {
	padding-top: 200px;
}

.padding-top-210px {
	padding-top: 210px;
}

.padding-top-250px {
	padding-top: 250px;
}

.padding-top-300px {
	padding-top: 300px;
}

.padding-bottom-70px {
	padding-bottom: 70px;
}

.padding-bottom-150px {
	padding-bottom: 150px;
}

.padding-bottom-300px {
	padding-bottom: 300px;
}

.padding-bottom-600px {
	padding-bottom: 600px;
}

.padding-left-0px {
	padding-left: 0px;
}

.padding-right-0px {
	padding-right: 0px;
}

.about-me-p {
	text-align: justify;
	padding-left: 150px;
	padding-right: 150px;
	hyphens: auto;
}

.contact-banner {
    background-color: #C6C6C6;
    padding: 150px 0;
    text-align: center;  
    width: 100%;  
}

.contact-banner h1 {
    font-size: 5em;
    font-weight: bold;
    color: #116943;
}

::selection {
	background: #c6c6c638;
  }

html {
    scroll-behavior: smooth;
}


/* 
IMPORTANT: media query - switches on grid layout if page width is wider than 768px
--------------------------------------------------------------------------------------- */
@media (min-width: 768px) {


/*  IMPORTANT: min-width:60em rule will stop the container from resizing  
60rem = 960px
90rem = 1440px
--------------------------------------------------------------------------------------- */
	.container { min-width: 60rem; min-width: 0; }

	.force-height { min-height: 100vh; }


/*  top navigation grid
--------------------------------------------------------------------------------------- */	
	nav {
		display: grid;
		grid-template-columns: 1fr auto;
		background: #116943;
		border-bottom: 0 #116943 none;
	}

	nav h1	{ font-size: 1.75rem; margin-bottom: .5rem; margin-top: 0; }

	nav ul { margin: 0; }
	nav ul li { font-size: 1.75rem; margin: 0 0 0 1.25rem; }


/*  main page title after top navigation
--------------------------------------------------------------------------------------- */
	.container > h2 { 
		font-size: 3rem;
		line-height: 1.15em;
		margin: 3rem auto 4rem;
		text-align: center;
	}


/*  hero image
--------------------------------------------------------------------------------------- */
	h2 + figure { margin: 0; padding-bottom: 3rem; }
	h2 + figure img { display: block; }


/*  default desktop section styles
--------------------------------------------------------------------------------------- */
	section { padding: 0 .5rem 4rem; }

	section figure { margin: 0; }

	section h3 { margin-bottom: .5em; }


/*  section default 12 column grid
--------------------------------------------------------------------------------------- */
	section { 
		display: grid; 
		grid-template-columns: repeat(12, 1fr);
		grid-template-rows: minmax(2.5rem, auto);
		grid-column-gap: 1.5rem;
		grid-row-gap: 0.625rem;    /*  .625% of 16 = 10, 0.625em = 10px ...  */
		grid-row-gap: 0;
		grid-template-areas:
		"hd hd hd hd hd hd hd hd hd hd hd hd"
		"fg fg fg fg dv dv dv dv dv dv dv dv";
	}

	section h3		{ grid-area: hd; }
	section figure	{ grid-area: fg; }
	section div		{ grid-area: dv; }


/*  simple 3 column grid
--------------------------------------------------------------------------------------- */
	section.three {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: 2rem auto;
		grid-column-gap: 3rem;
		grid-row-gap: .5rem;
		grid-template-areas:
		"fg hd hd"
		"fg dv dv";
	}

	section.three h3		{ grid-area: hd; }
	section.three figure	{ grid-area: fg; }
	section.three div		{ grid-area: dv; }
	
	section.three h3		{ margin-top: -0.6rem; }
	section.three div		{ margin-top: 0; }


/*  3 column grid with right hand image
--------------------------------------------------------------------------------------- */	
	section.right {
		display: grid;
		grid-template-columns: 1fr 1fr minmax(20rem, 1fr);
		grid-template-rows: minmax(2rem, auto) auto;
		grid-column-gap: 1.5rem; grid-column-gap: 4rem;
		grid-row-gap: 0;
		grid-template-areas:
		"hd hd fg"
		"dv dv fg";
	}
	
	section.right h3		{ grid-area: hd; }
	section.right figure	{ grid-area: fg; }
	section.right div		{ grid-area: dv; }

	section.right h3		{ margin-top: 0; }
	section.right div		{ margin-top: 0; }


/*  wide right hand image spanning two columns
--------------------------------------------------------------------------------------- */
	section.wide {
		display: grid;
		grid-template-columns: minmax(10rem, 1fr) 1fr 1fr;
		grid-template-rows: minmax(2.5rem, auto);
		grid-column-gap: 1.5rem;
		grid-row-gap: 0;
		grid-template-areas:
		"hd fg fg"
		"dv fg fg";
	}
	
	section.wide h3		{ grid-area: hd; }
	section.wide figure	{ grid-area: fg; }
	section.wide div	{ grid-area: dv; }



/*  intro
--------------------------------------------------------------------------------------- */
	section.intro {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: auto;
		grid-column-gap: 1.5rem;  
		grid-row-gap: 0;
		grid-template-areas:
		"dv dv dv";
	}

	section.intro h3	{ grid-area: hd; }
	section.intro div	{ grid-area: dv; }

	section.intro div h3,
	section.intro div p	{ font-size: 2rem; }

	section.intro		{ margin-bottom: 4rem; }


/*  images-two
--------------------------------------------------------------------------------------- */
	section.images-two {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		grid-column-gap: 0; 
		grid-row-gap: 1rem;
		grid-template-areas:
		"f1 f2"
		"hd hd"
		"dv dv";
	}

	section.images-two h3						{ grid-area: hd; }
	section.images-two figure					{ grid-area: f1; }
	section.images-two figure:nth-of-type(2)	{ grid-area: f2; }
	section.images-two div 						{ grid-area: dv; }

	section.images-two div h3,
	section.images-two div p { font-size: 1.5rem; }


/*  images-three
--------------------------------------------------------------------------------------- */
	section.images-three {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: auto;
		grid-column-gap: 2rem; 
		grid-row-gap: 1rem;
		grid-template-areas:
		"f1 f2 f3"
		"hd hd hd"
		"dv dv dv";
	}

	section.images-three h3						{ grid-area: hd; }
	section.images-three figure					{ grid-area: f1; }
	section.images-three figure:nth-of-type(2)	{ grid-area: f2; }
	section.images-three figure:nth-of-type(3)	{ grid-area: f3; }
	section.images-three div					{ grid-area: dv; }

	section.images-three div h3,
	section.images-three div p { font-size: 1.5rem; }


/*  images-three-plus
--------------------------------------------------------------------------------------- */
	section.images-three-plus {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: auto;
		grid-column-gap: 2rem; 
		grid-row-gap: 2rem;
		grid-template-areas:
		"f1 f2 f3"
		"d1 d2 d3";
	}

	section.images-three-plus figure				{ grid-area: f1; }
	section.images-three-plus figure:nth-of-type(2)	{ grid-area: f2; }
	section.images-three-plus figure:nth-of-type(3)	{ grid-area: f3; }
	section.images-three-plus div					{ grid-area: d1; }
	section.images-three-plus div:nth-of-type(2)	{ grid-area: d2; }
	section.images-three-plus div:nth-of-type(3)	{ grid-area: d3; }

	section.images-three-plus		{ padding: 0 0 2rem; }

	section.images-three-plus div h3,
	section.images-three-plus div p { font-size: 1.5rem; }


/* full width - note grid on figure not section
--------------------------------------------------------------------------------------- */
	section.full { display: block; padding: 1rem 0 0; }

	section.full figure {
		grid-area: auto;
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 0;
		grid-template-areas:
		"f1"
		"im";
	}

	section.full figure img			{ grid-area: im; }
	section.full figure figcaption	{ grid-area: f1; justify-self: center; }

	section.full					{ margin-bottom: 4rem; }
	section.full figure img			{ display: block; }
	section.full figcaption h3		{ font-size: 3rem; }


/* two columns
--------------------------------------------------------------------------------------- */
	section.two {
		display: grid;
		grid-template-columns: 2fr 3fr;
		grid-template-rows: minmax(2.5rem, auto);
		grid-column-gap: 1.5rem;
		grid-row-gap: 0;
		grid-template-areas:
		"fg hd"
		"fg dv";
	}


/* two columns right image
--------------------------------------------------------------------------------------- */
	section.two-right {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: minmax(2.5rem, auto);
		grid-column-gap: 1.5rem;
		grid-row-gap: 0;
		grid-template-areas:
		"hd fg"
		"dv fg";
	}


/* pull quote
--------------------------------------------------------------------------------------- */
	section.pull {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-column-gap: 0;
		grid-row-gap: 0;
		grid-template-areas:
		"dv";
	}

	section.pull { margin-bottom: 4rem; }

	.pull p { font-size: 2rem; }


/* out of background
--------------------------------------------------------------------------------------- */
	section.colourbox {
		padding: 3rem;
		margin-bottom: 4rem;
	}

	.orange {
		background:#aaa;
	}



/*  section.video grid
--------------------------------------------------------------------------------------- */	
	section.video  {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: auto;
		grid-column-gap: 0.5rem;
		grid-row-gap: 0;
		background: transparent;
		grid-template-areas:
		"v1 v1 v1 v1"
		"t2 t2 t2 t2";
	}

	section.video figure	{ grid-area: v1; }
	section.video div		{ grid-area: t2; }

	section.video figure	{ padding:0; }
	section.video div		{ background: transparent; }
	section.video p			{ max-width: 32rem; color: #777; }
	section.video h3		{ padding-top: 1rem; }


/*  home page auto grid
--------------------------------------------------------------------------------------- */		
section.home {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	grid-gap: 1rem;
	grid-row-gap: 1rem;
	grid-template-areas:
	"h1 h1 h1"
	"h2 h3 h4";
}

section.home { padding: 0 .5rem 2rem; }

section.home figure.one   { grid-area: h1; }
section.home figure.two   { grid-area: h2; }
section.home figure.three { grid-area: h3; }
section.home figure.four  { grid-area: h4; }


/*  projects page auto grid
--------------------------------------------------------------------------------------- */		
section.projects {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	grid-column-gap: 1.5rem;
	grid-row-gap: 1rem;
	grid-template-areas:
	"f1 f2"
	"f3 f4";
}

.projects figure.one   { grid-area: f1; }
.projects figure.two   { grid-area: f2; }
.projects figure.three { grid-area: f3; }
.projects figure.four  { grid-area: f4; }


/*  project page reflection section
--------------------------------------------------------------------------------------- */		
section.reflection {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	grid-column-gap: 1.5rem;
	grid-row-gap: 1rem;
	grid-template-areas:
	"rh rh"
	"d1 d2";
}

section.reflection h3		{ grid-area: rh; }
section.reflection div		{ grid-area: d1; }
section.reflection div.two	{ grid-area: d2; }

section.reflection div p a { display: block; }


} /* end 768px media query */


/*  for big screens - currently just for testing
--------------------------------------------------------------------------------------- */
@media (min-width: 18000px) {
	html { font-size: 24px; }
}
