html{
	background: linear-gradient( to bottom, #691070, #230036 );
	min-height: 100vh;
	min-width: 375px;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	margin-right: 0px;
	font-size: 10px;
}
	
	p,h1,h2,h3,h4,h5,ul,ol,dl,img,hr,td,tr,line-height,section,header,footer,label,br,img,input,form,video {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	border: none;
	outline: none;
}

a {
	cursor: pointer;
	outline: none;
	text-decoration: none;
	color: inherit;
}

img {
	 max-width: 100%;
}

ul {
	list-style: none;
}

ul li{
	color: inherit;
	line-height: inherit;
	padding-bottom: 1em;
	list-style-type: circle;
	list-style-position: inside;
}

ul li:last-child {
	padding-bottom: 0;
}

body {
	max-width: 1500px;
	min-width: 375px;
	margin: 0 auto;
	-webkit-box-sizing: border-box; /* For legacy WebKit based browsers */
	-moz-box-sizing: border-box; /* For legacy (Firefox <29) Gecko based browsers */
    box-sizing: border-box;
    font-family: "canada-type-gibson", arial, sans-serif;
    display: grid;
	grid-template-columns: 100px repeat(4, 1fr) 100px;
	grid-template-rows: auto;
	grid-column-gap: 40px;
	background-image: url(images/BigPeople.webp);
	background-repeat: no-repeat;
  	background-position-x: center;
  	background-position-y: 40%;
  	background-size: 95%;
}

body::-webkit-scrollbar {
	display: none;
}

button {
	font-family: "canada-type--gibson", arial, sans-serif;
	font-size: 2.4em;
	font-weight: 400;
	line-height: 100%;
	background: linear-gradient( to bottom, #D59CFF, #A92CFF );
  	border: 1px solid #F0E0FF;
  	color: #FFFFFF;
  	padding: 15px 30px;
  	text-align: center;
  	text-decoration: none;
  	display: block;
  	border-radius: 12px;
  	cursor: pointer;
  	outline: 0;
  	margin: 1em auto;
  	/*for animation*/
  	-webkit-mask-image: linear-gradient(45deg,#230036 25%,rgba(0,0,0,.2) 50%,#230036 75%);
  	mask-image: linear-gradient(45deg,#230036 25%,rgba(0,0,0,.2) 50%,#230036 75%);
  	-webkit-mask-size: 800%;
  	mask-size: 800%;
  	-webkit-mask-position: 0;
  	mask-position: 0;
}

button:hover {
	/*animation*/
	transition: mask-position 2s ease,-webkit-mask-position 2s ease;
  	-webkit-mask-position: 120%;
  	mask-position: 120%;
  	opacity: 1;
}

.fullwidthbutton {
	grid-column: 1/-1;
	margin: 1em auto;
}

/**************** Container Styles ****************/

#topofpage {
	grid-column: 1/-1;
	grid-row: 1/2;
	display: grid;
	grid-template-columns: 100px 1fr 100px;
	background: url(images/NavBckgrnd.webp);
	position: sticky;
    top: 0;
    z-index: 99;
}

.nav {
	min-width: 320px;
	height: 110px;
	grid-column: 2/3;
	grid-row: 1/2;
	background-color: transparent;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

header {
	grid-column: 2/6;
	grid-row: 2/3;
 	display: flex;
 	justify-content: center;
 	height: auto;	
}

.logo {
	width: 70%;
	max-width: 800px;
	margin: 5% auto 0 auto;
}

.logoSize {
	width: 100%; 
	height: auto;
}

#maincontent {
	grid-column: 2/6;
	grid-row: 3/4;
}

#serviceintro {
	margin: 5.5% auto 5% auto;
}

#maintitle {
	margin: 5% auto 0 auto;
}

#mainintro {
	margin: 1% auto 5% auto;
}

#aboutintro {
	margin: 5.5% auto 1% auto;
}


#audience {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 40px;
	margin: 10% auto 3.5% auto;
}

#skills {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 60px;
	margin: 2% auto 0 auto;
}

.lefthalftop {
	grid-column: 1/3;
	grid-row: 1/2;
	margin-bottom: 12%;
}

.lefthalfbottom {
	grid-column: 1/3;
	grid-row: 2/3;
}

.righthalftop {
	grid-column: 3/5;
	grid-row: 1/2;
	margin-bottom: 12%;
}

.righthalfbottom {
	grid-column: 3/5;
	grid-row: 2/3;
}

.leftside {
	grid-column: 1/3;
	grid-row: auto;
}

.rightside {
	grid-column: 3/5;
	grid-row: auto;
}

.service {
	margin-bottom: 8em;
}

.lastone {
	margin-bottom: 2em;
}

.minigrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 40px;
}

.minileft {
	grid-column: 1/2;
}

.miniright {
	grid-column: 2/3;
}

footer {
	grid-column: 2/6;
	grid-row: 4/5;
}

#specifics {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 40px;
	margin: 3.5% auto 3.5% auto;
}

.fullwidth {
	grid-column: 1/-1;
}

.halfwidth {
	grid-column: 2/4;
}

.portrait {
	max-width: 80%;
	max-width: 790px;
	margin: 0 auto;
}
 
.asmallmargin {
	margin-bottom: 3.5%;
}

.centerme {
	display: grid; 
	justify-content: center;
}

/******************* Text Styles *****************/

.ruleline {
    height: 1px;
    border: 0;
    border-top: 1px solid #C679FF;
    margin: 8px 0 16px 0;
    padding: 0;
    width: 100%;
}

.footerruleline {
    height: 1px;
    border-top: 1px solid #C679FF;
    margin: 15px 0 40px 0;
    padding: 0;
    width: 100%;
}

.option {
	font-family: "canada-type-gibson", arial, sans-serif;
	font-size: 2em;
	font-weight: 300;
	color: #FFF;
	letter-spacing: 1px;
}

.option:hover {
	color: #F953C9;
}

.youRhere {
	color: #F953C9;
}

h1 {
	font-family: "canada-type-gibson", arial, sans-serif;
	font-size: 3.6em;
	font-weight: 500;
	line-height: 135%;
	color: #F0E0FF;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1.8px;
}

h2 {
	font-size: 3em;
	font-weight: 500;
	line-height: 115%;
	color: #CC7FFF;
	text-align: left;
	letter-spacing: .5px;
}

.introcopy {
	font-size: 2.5em;
	font-weight: 300;
	line-height: 150%;
	color: #F0E0F6;
	text-align: center;
	max-width: 60%;
	margin: 0 auto;
	padding-bottom: 1em;
}

.bodycopy {
	font-size: 2.2em;
	font-weight: 300;
	line-height: 142%;
	color: #F0E0F6;
	text-align: left;
	max-width: 100%;
	padding-bottom: 1em;
}

.linktext {
	font-weight: inherit;
	font-size: inherit;
	font-style: italic;
	color: #F953C9;
}

.cprt {
	text-align: right;
	font-size: .75em;
}

.totheright {
	display: flex;
	justify-content: right;
}

.totheleft {
	text-align: left;
	margin: 0;
	line-height: 130%;
	max-width: 100% !important;	
}

.slanted {
	font-weight: inherit;
	font-size: inherit;
	font-style: italic;
}

/************************* Footer Styles ******************************/

.footercopy {
	font-family: "canada-type-gibson", arial, sans-serif;
	font-size: 2em;
	font-weight: 300;
	line-height: 200%;
	color: #B857FF;
	text-align: left;
	max-width: 100%;
	padding-bottom: 1em;
}

.footercopy a{
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

p.footercopy {
	padding-bottom: 20px;
}

p.lastline {
	padding-bottom: 0px;
}

.social img {
	max-width: 40px;
	height: auto;
	padding-right: 20px;
}

a[href^="tel:"] {
	color: inherit;
	padding: 0;
	text-decoration: none;
}

/************************* Form Styles ******************************/

#contactform {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	grid-column-gap: 20px;
}

.contacttext {
	font-family: "canada-type-gibson", arial, sans-serif;
	color: #F0E0F6;
	font-size: 2.2em;
	font-weight:300;
	line-height: 120%;
	text-align: left;
}

#contactform input {
	background-color: transparent;
	border: 1px solid #CC7FFF;
	padding: 5px 10px;
	margin-bottom: 2em;
	max-width: 100%;
	height: 2em;
	max-height: 2em;
	display: inline-block;
}

#contactform input:hover, #contactform input:focus {
	opacity: 1.0;
	outline: 1px solid #FFF;
}

textarea {
	font-family: "canada-type-gibson", arial, sans-serif;
	background-color: transparent;
	border: 1px solid #CC7FFF;
	padding: 10px;
	max-width: 100%;
	font-size: 2.2em;
	font-weight:300;
	line-height: 120%;
}

textarea:hover, textarea:focus {
	opacity: 1.0;
	outline: 1px solid #FFF;
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:active, input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #230036 inset;
    -webkit-text-fill-color: #F0E0F6;
    }
    
:invalid {
  box-shadow: none;
}

:-moz-submit-invalid {
  box-shadow: none;
}

:-moz-ui-invalid {
  box-shadow:none;
}
  
.theresponse {
	color: #CC7FFF;
	font-size: 1.5em;
	width: 100%;
}

#firstname, #firstNameresponse {
	grid-column: 1/2;
	grid-row: 1/2;
}

#lastname, #lastNameresponse {
	grid-column: 1/2;
	grid-row: 2/3;
}

#email, #emailNameresponse {
	grid-column: 1/2;
	grid-row: 3/4;
}

#phone, #phoneNumberresponse {
	grid-column: 1/2;
	grid-row: 4/5;
}

#comments {
	grid-column: 2/4;
	grid-row: 1/3;
	max-height: 8em;
	overflow: auto;
}

a.submitbutton {
	grid-column: 2/4;
	grid-row: 5/6;
	justify-self: end;
}

#sendresponse {
	grid-column: 2/4;
	grid-row: 6/7;
	margin-top: 1em;
	justify-self: end;
	text-align: right;
}

#firstNameresponse, #lastNameresponse, #emailNameresponse, #phoneNumberresponse {
	margin-top: 4em;
}


/***************************** Media Queries ********************************/

@media only screen and (max-width:1340px) {

.option {
		font-size: 1.8em;
}
}

@media only screen and (max-width:1280px) {

h1 {
	font-size: 3.4em;
}

h2 {
	font-size: 2.8em;
}

.introcopy {
	font-size: 2.3em;
}

.service {
	margin-bottom: 7em;
}

#skills {
	grid-column-gap: 50px;
}
	
.footercopy {
	font-size: 1.8em;
}
}

@media only screen and (max-width:1180px) {

.logo {
	margin-top: 3.5%;
}

h1 {
	font-size: 3.3em;
}

h2 {
	font-size: 2.6em;
}

.bodycopy {
	font-size: 2em;
}

button {
	font-size: 2.2em;
	padding: 12px 28px;
}
}

@media only screen and (max-width:1100px) {

body {	
	grid-template-columns: 80px repeat(4, 1fr) 80px;
}

#topofpage {
	grid-template-columns: 80px 1fr 80px;
}

.introcopy {
	font-size: 2.2em;
}

.service {
	margin-bottom: 6em;
}

#skills {
	grid-column-gap: 40px;
}
}

@media only screen and (max-width:1024px) {

.logo {
	margin-top: 2.5%;
}

h1 {
	font-size: 3.2em;
}

h2 {
	font-size: 2.6em;
}

.introcopy {
	font-size: 2.2em;
	max-width: 66%;
}

button {
	font-size: 2em;
	padding: 12px 24px;
}

.footercopy {
	font-size: 1.7em;
}
}

@media only screen and (max-width:980px) {

body {
	grid-template-columns: 60px repeat(4, 1fr) 60px;
}

#topofpage {
	grid-template-columns: 60px 1fr 60px;
}

h1 {
	font-size: 3em;
}

h2 {
	font-size: 2.5em;
}

.bodycopy {
	font-size: 1.9em;
}

.introcopy {
	font-size: 2em;
}

.service {
	margin-bottom: 5em;
}

.contacttext {
	font-size: 2em;
}

}

@media only screen and (max-width:920px) {

body {
	grid-template-columns: 40px repeat(4, 1fr) 40px;
}

#topofpage {
	grid-template-columns: 40px 1fr 40px;
}

.option {
		font-size: 1.7em;
}
}

@media only screen and (max-width:860px) {

.bodycopy {
	font-size: 1.8em;
}

button {
	font-size: 1.8em;
}
}

@media only screen and (max-width:800px) {

.nav {
	height: 100px;
}

.option {
	font-size: 1.6em;
}

h1 {
	font-size: 2.9em;
}

h2 {
	font-size: 2.4em;
}

.introcopy {
	max-width: 75%;
}

.bodycopy {
	font-size: 1.7em;
}

.contacttext {
	font-size: 1.8em;
}

#firstNameresponse, #lastNameresponse, #emailNameresponse, #phoneNumberresponse {
	margin-top: 3.5em;
}

.service {
	margin-bottom: 4em;
}

.footercopy {
	font-size: 1.6em;
}
}

@media only screen and (max-width:720px) {

h1  {
 font-size: 2.8em;
}

.logo {
	width: 75%;
}	
	
.introcopy {
	font-size: 1.9em;
}

button {
	font-size: 1.6em;
	padding: 10px 20px;
}

.footercopy {
	font-size: 1.5em;
}
}

@media only screen and (max-width:680px) {

.nav {
	height: 80px;
}

.introcopy {
	font-size: 1.8em;
}

.bodycopy {
	font-size: 1.6em;
}
}

@media only screen and (max-width:640px) {

h1 {
	font-size: 2.7em;
}

h2 {
	font-size: 2.2em;
}


#firstname, #firstNameresponse {
	grid-column: 1/4;
	grid-row: 1/2;
}

#lastname, #lastNameresponse {
	grid-column: 1/4;
	grid-row: 2/3;
}

#email, #emailNameresponse {
	grid-column: 1/4;
	grid-row: 3/4;
}

#phone, #phoneNumberresponse {
	grid-column: 1/4;
	grid-row: 4/5;
}

#comments {
	grid-column: 1/4;
	grid-row: 5/6;
	max-height: 8em;
	overflow: auto;
}

a.submitbutton {
	grid-column: 1/4;
	grid-row: 6/7;
	justify-self: end;
	margin-top: 2em;
}

#sendresponse {
	grid-column: 1/4;
	grid-row: 7/8;
	margin-top: 1em;
	justify-self: end;
	text-align: right;
}

.callUs {
	grid-column: 1/4;
	grid-row: 8/9;
}

.footercopy {
	font-size: 1.4em;
}
}

@media only screen and (max-width:600px) {

body {
	grid-template-columns: 20px repeat(4, 1fr) 20px;
	grid-column-gap: 30px;
}

#topofpage {
	grid-template-columns: 20px 1fr 20px;
}

#audience, #skills {
	grid-column-gap: 30px;
}

.option {
	font-size: 1.5em;
}

h1 {
	font-size: 2.6em;
}

h2 {
 font-size: 2.1em;
}

.introcopy {
	font-size: 1.7em;
}
}

@media only screen and (max-width:540px) {

h1 {
	font-size: 2.5em;
}

.option {
	font-size: 1.4em;
}

.introcopy {
	font-size: 1.6em;
}

.bodycopy {
	font-size: 1.5em;
}

button {
	font-size: 1.5em;
	padding: 8px 16px;
	border-radius: 8px;
}
}

@media only screen and (max-width:480px) {

body {
	grid-template-columns: 10px repeat(4, 1fr) 10px;
	grid-column-gap: 20px;
}

#topofpage {
	grid-template-columns: 20px 1fr 20px;
}

.nav {
	height: 70px;
}

.option {
	font-size: 1.3em; 
}

.logo {
	margin-top: 2%;
}

#mainintro {
	margin-bottom: 10%;
}

h1 {
	font-size: 2.3em;
}

h2 {
	font-size: 1.9em;
}

#audience, #skills {
	grid-column-gap: 20px;
}

.introcopy {
	font-size: 1.5em;
}

.service {
	margin-bottom: 3em;
}

.contacttext {
	font-size: 1.6em;
}

#firstNameresponse, #lastNameresponse, #emailNameresponse, #phoneNumberresponse {
	margin-top: 3em;
}
}

@media only screen and (max-width:420px) {

.option {
	font-size: 1.2em; 
}

#mainintro {
	margin-bottom: 10%;
}

h1 {
	font-size: 2.2em;
}

h2 {
	font-size: 1.8em;
}

.contacttext, button {
	font-size: 1.5em;
}
}

@media only screen and (max-width:400px) {

body {
    grid-template-columns: 5px repeat(4, 1fr) 5px;
    grid-column-gap: 10px;
}

#topofpage {
	grid-template-columns: 10px 1fr 10px;
}

.ruleline {
	margin-bottom: 12px;
}

h1 {
	font-size: 2.1em;
}

#audience {
	margin-top: 12%;
}

.lefthalftop, .righthalftop, .lefthalfbottom, .righthalfbottom {
	grid-column: 1/6;
	margin-bottom: 10%;
}

.righthalftop {
	grid-row: 2/3;
}

.lefthalfbottom {
	grid-row: 3/4;
}

.righthalfbottom {
	grid-row: 4/5;
}

.leftside, .rightside {
	grid-column: 1/6;
}

.introcopy {
	padding-bottom: .5em;
}

.bodycopy {
	line-height: 140%;
}

.introcopy, .bodycopy, .contacttext, button {
	font-size: 1.5em;
}
}

@media only screen and (max-width:375px) {

h1 {
	font-size: 2em;
}

.option {
	font-size: 1.1em; 
}
}








