@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mate:ital@0;1&display=swap');

body {
	margin: 0;
	font-family: 'Red Hat Display', Arial, sans-serif;
	font-weight: 400;
	font-size: 1em;
	background-color: #ffffff;
	background: linear-gradient(to bottom, rgba(58,58,57,1) 0%, rgba(211,210,209,1) 85%);
	/*background-image: url('../img/PageBackground.webp');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;*/
}

/* flex and general structures */

section {
	width: 100vw;
	max-width: 100%;
	overflow: hidden;
}

footer {
	width: 100vw;
	min-height: 2vh;
	margin-top: 1em;
	background: linear-gradient(to bottom, rgba(64, 66, 68, 1), rgba(11, 23, 39, 1) 100%);
	font-size: 0.8em;
	max-width: 100%;
}
.footerContent {
	padding: 2em;
	color: #b4b4b4;
}

.flexParent {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	width: 100%;
}
.flexParentCenter {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	width: 100%;
}
.flexParentColumn {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: flex-start;
	width: 100%;
}
.flexChild {
	flex-basis: auto;
	padding-bottom: 2em;
}

.headingContainer {
	min-height: 50vh;
	background-color: #ffffff;
}
#subHeadingContainer {
	height: 8vh;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.2);
}
#portfolioGallery {
	overflow: hidden;
}
.box {
	padding: 2em;
	min-width: 200px;
	background-color: rgba(230, 230, 230, 0.85);
	border-radius: 8px;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.2);
	margin: 1em 2%;
}

#caseStudyCloud {
	background-color: #f1f1f1;
	background: linear-gradient(to bottom, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 90%);
}
#caseStudyTeach {
	background-color: #f1f1f1;
	background: linear-gradient(to bottom, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 90%);
}
#caseStudyDashboard {
	background-color: #f1f1f1;
	background: linear-gradient(to bottom, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 90%);
}

#howtofixit {
	min-height: 20vh;
	background-color: #f1f1f1;
	background: linear-gradient(to bottom, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 90%);
	padding: 2em 0;
}

#swiper_recommendations {
	background-color: #ffffff;
	margin: 6em 0 4em 0;
	padding: 8em 0;
}
#swiper_skills {
	background-color: #ffffff;
	margin: 4em 0;
	padding: 8em 0;
}

.caseStudyContainer {
	width:60%;
	margin:2em auto;
}
.quadBox {
	min-height: 225px;
	padding-bottom: 0;
}
.quadBoxInner {
	min-height: 225px;
}
.quadText {
	font-size: 1.25em;
}
.flexChild:has(div.quadBox) {
	margin-bottom: -1em;
}

#section_interests, #section_related, #section_highlights {
	position: relative;
	margin-top: 4em;
}

#section_history {
	position: relative;
	margin: 4em 0;
}

#section_content {
	min-height: 82vh;
}
#section_blurb {
	min-height: 10vh;
	background-color: #f5f5f5;
	padding: 5vh 0;
	font-size: 1.25em;
}

.line {
  width: 100%;
  height: 8px;
  margin: 0 0 10px 0;
  position: relative;
  display: inline-block;
  background-color: rgba(246, 137, 137, 1);
}
.items {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  list-style: none;
}

.item {
  min-width: 250px;
  margin-right: 20px;
  margin-top: 20vh;
}
#galleryInstruct {
	margin: 15vh auto -15vh auto;
	text-align: center;
	color: #ffffff;
	opacity: 0.35;
	font-size: 1.25em;
}

/* widths, padding and positioning */

.full {
	width: 98%;
	margin: 0 1%;
}
.half {
	width: 48%;
	margin: 1%;
}
.third {
	width: 31.25%;
	margin: 1%;
}
.quarter {
	width: 23%;
	margin: 1%;
}
.eigth {
	width: 12%;
	margin: 1%;
}
.quarterSm {
	width: 25%;
}
.centered {
	text-align: center;
}
.insetPadded {
	width: 75%;
	margin-left: 12.5%;
}
.paddedLR {
	margin: 0 1em;
}
.introParagraph, .workHistory {
	margin-top:1.5em;
}
.smPadding {
	padding: 0;
} 


/* buttons */

#contactButton {
	position: fixed;
	bottom: 20px;
	right: 12px;
	padding: 1em;
	background-color: #fa9f5b;
	border-radius: 999px;
	color: #0d2a47;
	z-index: 999;
	cursor: pointer;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.12);
}
#contactButton:hover {
	background-color: #f0a6a0;
	color: #ffffff;
}
#resumeButton {
	position: fixed;
	bottom: 20px;
	right: 85px;
	padding: 1em;
	background-color: #fa9f5b;
	border-radius: 999px;
	color: #0d2a47;
	z-index: 999;
	cursor: pointer;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.12);
}
#resumeButton:hover {
	background-color: #f0a6a0;
	color: #ffffff;
}

.btn {
	background-color: #426387;
	color: #efefef;
	padding: 0.5em 1em;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	font-size: 1em;
	font-weight: 400;
	display: inline-block;
	margin-top: 1em;
}
.btn:hover {
	background-color: #6a7e91;
	color: #ffffff;
}
a.btn, a.pill {
	text-decoration: none;
}
.pill {
	background-color: rgba(0, 0, 0, 0.15);
	border-radius: 999px;
	font-size: 1.1em;
	padding: .5em 2em;
	color: #000000;
	white-space: nowrap;
	position: relative;
	margin-bottom: 0.5em;
	display: inline-block;
}


/* animation */

@keyframes fadeInUp {
  0% {
    transform: translateY(5%);
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}

.fadeInUp-animation {
  animation: 2s fadeInUp;
}

.animationContainer {
	display: flex;
	height: 100%;
	width: 100%;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.animSection {
	width: 100vw;
	background-color: #d2d1d0;
}
.animSectionName {
	background: linear-gradient(to bottom, rgba(14,14,14,1) 0%, rgba(46,46,46,1) 100%);
	color: #ffffff;
}
.animSectionScroll {
	background: linear-gradient(to bottom, rgba(117,117,117,1) 0%, rgba(197,197,196,1) 12.91%);
	color: #484646;
	text-align: center;
	font-size: 1.1em;
	padding: 8vh 0 4vh 0;
}
.animSectionDirector {
	background-image: url('../img/siteHeadSeg1.webp');
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
}
.animSectionDesigner {
	background-image: url('../img/siteHeadSeg2.webp');
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
}
.animSectionManager {
	background-image: url('../img/siteHeadSeg3.webp');
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
}
.svgName {
	width: 95vw;
	padding: 2vw;
}
.svgDirector {
	width: 50vw;
	padding: 2vw 3vw;
}
.svgDesigner {
	width: 50vw;
	padding: 2vw 3vw;
}
.svgManager {
	width: 50vw;
	padding: 2vw 3vw;
}

/* colors and text */

h2 {
	font-weight: 700;
	font-size: 1.4em;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
	margin: 1% 0;
}
h3 {
	font-weight: 700;
	font-size: 1.2em;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}
h4 {
	font-weight: 700;
	font-size: 1.1em;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}

li {
	margin: 0.5em 0;
}

a:hover {
	opacity: 0.8; 
}
.screenReader {
	display: none;
}
.calloutText {
	background-color: rgba(0,0,0, 0.8);
	padding: 1em;
	border-radius: 8px;
	max-width: 100%;
	position: relative;
	box-shadow: 0px 0px 36px rgba(0, 0, 0, 0.4);
	z-index: 99;
	color: #e5e5e5;
}

.calloutTextCenter {
	padding: 1em;
	max-width: 100%;
	position: relative;
	text-align: center;
	z-index: 99;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
	font-size: 1.65em;
	color: #e5e5e5;
	margin-top: 10%;
}
.highlightLink {
	padding: 12px 16px;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.85);
	color: #425675;
	text-decoration: none;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
	white-space: nowrap;
	cursor: pointer;
}
.highlightLink:hover {
	background-color: rgba(255, 255, 255, 1);
}

.txtCaseStudy {
	color: #a3a3a3;
	font-size: 1em;
}
.txtCaseTitle {
	color: #27335a;
	font-size: 1.75em;
	font-weight: 500;
}
.titleText {
	font-size: 1.65em;
	line-height: 1.2em;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
	color: #e6e5e5;
}

.reverseText {
	font-size: 1.2em;
	line-height: 1.4em;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
	color: #ffffff;
}

.quadTitle {
	font-size: 3.25em;
	line-height: 1;
}

.large {
	font-size: 1.5em
}
.small {
	font-size: 0.8em;
}
.recommend {
	font-size: 1.35em;
	font-family: "Mate", sans-serif;
	line-height: 1.25;
}
.bottom {
	position: absolute;
	bottom: 10px;
}
.icon100 {
	font-size: 100px;
}
.icon50 {
	font-size: 50px;
}
.icon25 {
	font-size: 25px;
}
.icon12 {
	font-size: 12px;
}

.blueGray {
	color: #425675;
}
.accentOrange {
	color: #fa9f5b;
}
.white {
	color: #e6e5e5;
}
.black {
	color: #000000;
}
.gray1 {
	color: #1a1a1a;
}
.gray2 {
	color: #3f3f3f;
}
.gray3 {
	color: #717171;
}
.gray4 {
	color: #939393;
}
.gray5 {
	color: #cfcfcf;
}

/* images and swiper */

.topBackground {
	background-image: url('../img/topBackgroundGradient.webp');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #daf7f8;
}

.lightBackground {
	background-image: url('../img/lightBackground.webp');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}
.darkBackground1 {
	background-image: url('../img/darkBackground1.webp');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #203050;
	color: #ffffff;
}

.darkBackground2 {
	background-image: url('../img/darkBackground2.webp');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #203050;
	color: #ffffff;
}

.darkBackground3 {
	background-image: url('../img/darkBackground3.webp');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #203050;
	color: #ffffff;
}

.cloudcmeBackground {
	background-image: url('../img/gallery_CloudCMEPortals.webp');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #aab0bb;
	color: #36373f;
}
.ivusBackground {
	background-image: url('../img/gallery_TeachIVUS.webp');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #aab0bb;
	color: #36373f;
}
.ctaBackground {
	background-image: url('../img/gallery_TeachCTA.webp');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #aab0bb;
	color: #36373f;
}
.mobileBackground {
	background-image: url('../img/gallery_mobileDesign.webp');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #aab0bb;
	color: #36373f;
}
.dashboardBackground {
	background-image: url('../img/gallery_dashboards.webp');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #aab0bb;
	color: #36373f;
}
.figmaBackground {
	background-image: url('../img/gallery_figma.webp');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #aab0bb;
	color: #36373f;
}
.encardedBackground {
	background-image: url('../img/gallery_encarded.webp');
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #aab0bb;
	color: #36373f;
}

.encarded {
	background-image: url('../img/encarded_screenshot.jpg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 300px;
}

.nndscrpt {
	background-image: url('../img/nndscrpt_screenshot.jpg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 300px;
}

#headingParent {
	position: relative;
	top: 10vh;
	left: 5vw;
	max-width: 90%;
}
#topTagline {
	width: 50vw;
	position: relative;
}
#topSlash {
	width: 10vw;
	position: relative;
}
#topContact {
	width: 25vw;
	position: relative;
	top: 15vh;
}
#headerName {
	width: 320px;
	position: relative;
	margin: 6px 0 0 12px;
}
.backArrow {
	position: relative;
	top: 10px;
}
.caseImage {
	max-width: 95%;
}
.caseImageCloud img, .caseImageTeach img, .caseImageDashboard img {
	max-width: 100%;
}
.galleryImage {
	max-width: 100%;
}
.roundShadow {
	border-radius: 12px;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.30);
	margin-top: 1em;
}
.swiper {
	padding: 0 0 10px 0 !important;
}
.swiper1, .swiper2, .swiper3 {
  width: 90vw;
}

.slide-content {
	padding: 2em;
	border-radius: 16px;
	margin: auto;
	max-width: 70vw;
}
.swiper1 .slide-content {
	min-height: 70vh;
}
.swiper-button-next {
	color: #c2c2c2 !important;
}
.swiper-button-prev {
	color: #c2c2c2 !important;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm {
	background-color: #425675 !important;
}

.fancybox__content {
	background: none !important;
}

/* mobile media queries */
@media only screen and (max-width: 1250px) {
	.howHelp {
		width:48%;
	}
}
	
@media only screen and (max-width: 768px) {
	body {
		font-size: 1em;
	}
	.half, .third, .quarter, .quarterSm {
		width: 98%;
	}
	.swiper {
	  width: 90vw;
	}
	.swiper1 .slide-content {
		min-height: 430px;
	}
	#contactButton {
		bottom: 10px;
		right: 10px;
		padding: 0.8em;
		font-size: 0.8em;
	}
	#resumeButton {
		bottom: 10px;
		right: 60px;
		padding: 0.8em;
		font-size: 0.8em;
	}
	.titleText {
		font-size: 1.25em;
	}
	#topHeading {
		min-height: 30vh;
	}
	.swiper-button-next {
		right: -1px !important;
	}
	.swiper-button-prev {
		left: -1px !important;
	}
	#headingParent {
		flex-direction: column;
	}
	#topTagline {
		width: 90vw;
		top: -5vh;
	}
	#topSlash {
		display: none;
	}
	#topContact {
		width: 70vw;
		top: -4vh;
		left: 2vw;
	}
	.flexChild {
		padding-bottom: 0;
	}
	.calloutText {
		max-width: 100%;
		font-size: 0.9em;
	}
	.paddedLR {
		margin: 0.4em 1em;
	}
	.figmaBackground {
		background-position: bottom center;
	}
	.encardedBackground {
		background-position: bottom center;
	}
	.cloudcmeBackground {
		background-position: bottom left;
	}
	.reverseText {
		margin-bottom: 1.5em;
	}
	.caseImage {
		max-width: 100%;
	}
	.galleryImage {
		max-width: 90%;
		margin: 0 5%;
	}
	.animSectionDirector {
		min-height: inherit;
	}
	.animSectionDesigner {
		min-height: inherit;
	}
	.animSectionManager {
		min-height: inherit;
	}
	.svgDirector {
		width: 96vw;
		padding: 2vw;
	}
	.svgDesigner {
		width: 96vw;
		padding: 2vw;
	}
	.svgManager {
		width: 96vw;
		padding: 2vw;
	}
	.hdTitle {
		padding: 2em 2vw 2em 0;
	}
	.svgName {
		padding: 6vw 2.5vw;
	}
	h1 {
		margin: 0;
	}
	#headerName {
		width: 250px;
		margin-top: 12px;
	}
	.icon50 {
		font-size: 25px;
	}
	.item {
	  min-width: 250px;
	  margin-right: 12px;
	  margin-top: 12vh;
	}
	.item img {
		margin-bottom: 12px;
	}
	#galleryInstruct {
		margin: 8vh auto -8vh auto;
		font-size: 1.15em;
	}
}