/*
Theme Name: Plum Cases, Inc.
Author: Phire Group
Author URI: http://thephiregroup.com/
Version: 1.1
*/

@media screen {

	/* RESETS */

	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	b, u, i, center,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, embed, 
	figure, figcaption, footer, header, hgroup, main,
	menu, nav, output, ruby, section, summary,
	time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}
	article, aside, details, figcaption, figure, 
	footer, header, hgroup, main, menu, nav, section {
		display: block;
	}
	body {
		line-height: 1;
	}
	ol, ul {
		list-style: none;
	}
	blockquote, q {
		quotes: none;
	}
	blockquote:before, blockquote:after,
	q:before, q:after {
		content: '';
		content: none;
	}
	table {
		border-collapse: collapse;
		border-spacing: 0;
	}
	

	/* WORDPRESS CLASSES */

	.alignnone {
		margin: 5px 20px 20px 0;
	}

	.aligncenter,
	div.aligncenter {
		display: block;
		margin: 5px auto 5px auto;
	}

	.alignright {
		float:right;
		margin: 5px 0 20px 20px;
	}

	.alignleft {
		float: left;
		margin: 5px 20px 20px 0;
	}

	a img.alignright {
		float: right;
		margin: 5px 0 20px 20px;
	}

	a img.alignnone {
		margin: 0 20px 20px 0;
	}

	a img.alignleft {
		float: left;
		margin: 5px 20px 20px 0;
	}

	a img.aligncenter {
		display: block;
		margin-left: auto;
		margin-right: auto
	}

	.wp-caption {

	}

	.wp-caption.alignnone {
		margin: 0;
	}

	.wp-caption.alignleft {
		margin: 5px 20px 20px 0;
	}

	.wp-caption.alignright {
		margin: 5px 0 20px 20px;
	}

	.wp-caption img {
		display: block;
		border-radius: 10px;
		margin: 0 0 10px 0;
	}

	.wp-caption p.wp-caption-text {
		color: var(--black);
		font-size: 0.875rem;
		line-height: 1.125rem;
		letter-spacing: -0.00438rem;
	}
	
	.wp-caption p {
		margin: 0 !important;
	}

	/* Text meant only for screen readers. */
	.screen-reader-text {
		clip: rect(1px, 1px, 1px, 1px);
		position: absolute !important;
		height: 1px;
		width: 1px;
		overflow: hidden;
	}

	.screen-reader-text:focus {
		background-color: #f1f1f1;
		border-radius: 3px;
		box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
		clip: auto !important;
		color: #21759b;
		display: block;
		font-size: 14px;
		font-size: 0.875rem;
		font-weight: bold;
		height: auto;
		left: 5px;
		line-height: normal;
		padding: 15px 23px 14px;
		text-decoration: none;
		top: 5px;
		width: auto;
		z-index: 100000; /* Above WP toolbar. */
	}
	
	.skip-main:not(:focus) {
	  position: absolute;
	  left: -9999px;
	  z-index: 999;
	  padding: 3em;
	  opacity: 0;
	}
	.skip-main:focus {
	  left: 50%;
	  transform: translateX(-50%);
	  opacity: 1;
	}
	.skip-main {
	  color: #000000;
	  background-color: #FFCB05;
	}
	
	.visually-hidden {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	.sr-only {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}
	
	


	/* GLOBAL */
	
	html {
		scroll-behavior: smooth;
	}
	
	body {
		font-family: "Stack Sans Text", sans-serif;
		color: var(--grey-5, #2B1A2D);
		font-size: 1rem;
		font-style: normal;
		font-weight: 300;
		line-height: 1.625rem;
		text-align: center;
		position: relative;
		overflow-x: hidden;
	}

	:root {
		--black: #000;
		--off-black: #130016;
		--white: #ffffff;

		--grey-1: #F3F2F3;
		--grey-2: #E7E5E8;
		--grey-3: #BFBAC0;
		--grey-4: #5A4D5C;
		--grey-5: #2B1A2D;

		--plum: #4D18C0;

		--kelly-green: #4EBD35;
	}
	

	*, *:before, *:after {
		box-sizing: border-box;
	}
	
	.main_container {
		margin: 0 auto;
	}
	
	.row {
		margin: 0 auto;
		width: 1280px;
		text-align: left;
		position: relative;
	}
	
	.clearfix::after {
		display: block;
		visibility: hidden;
		clear: both;
		height: 0;
		content: '';
	}
	
	p {
		margin-bottom: 1.88rem;
	}
	
	a {
		text-decoration: none;
		color: inherit;
	}
	
	a:focus, button:focus, input:focus, select:focus, textarea:focus {
		/* outline: dotted 2px #253746; */
	}
	
	img {
		max-width: 100%;
	}
	
	.centered {
		text-align: center;
	}
	
	.hide_on_desktop {
		display: none;
	}
	
	button {
		font-family: "Stack Sans Text", sans-serif;
		font-size: 1rem;
		border: 0;
		margin: 0;
		padding: 0;
		background-color: transparent;
		-webkit-appearance: none;
		appearance: none;	
		cursor: pointer;		
	}
	
	b, strong {
		font-weight: 600;
	}

	i, em {
		font-style: italic;
	}
	
	#main {

	}
	
	h1 {
		color: var(--white);
		font-family: Michroma, sans-serif;
		font-size: 2.5rem;
		font-style: normal;
		font-weight: 400;
		line-height: 120%;
	}
	
	h2 {
		color: var(--grey-4);
		font-size: 1.75rem;
		font-style: normal;
		font-weight: 400;
		line-height: 2.1875rem;
		letter-spacing: -0.035rem;
		margin: 0 0 20px 0;
	}
	
	h3 {
		color: var(--black);
		font-size: 1.25rem;
		font-style: normal;
		font-weight: 500;
		line-height: 1.625rem;
		margin: 0 0 8px 0;
	}
	
	h4 {
		font-size: 1rem;
		font-style: normal;
		font-weight: 600;
		line-height: 1.375rem;
		margin: 0 0 10px 0;
	}
	
	.lil_head {
		color: var(--grey-4);
		font-size: 0.75rem;
		font-style: normal;
		font-weight: 500;
		line-height: normal;
		letter-spacing: -0.0075rem;
		text-transform: uppercase;
		margin: 0 0 12px 0;
	}

	.cta {
		height: 48px;
		border-radius: 2.5rem;
		padding: 0 24px;
		color: var(--off-black);
		font-family: "Stack Sans Text", sans-serif;
		font-size: 0.875rem;
		font-style: normal;
		font-weight: 500;
		line-height: 1.3125rem;
		letter-spacing: -0.00875rem;
		display: inline-flex;
		align-items: center;
		transition: all .3s ease;
	}

	.cta_green {
		background: linear-gradient(127deg, #68F847 13.13%, #4EBD35 61.3%);
		color: var(--off-black);
	}
	.cta_green:hover {
		background: linear-gradient(214deg, #68F847 29.3%, #4EBD35 93.02%);
	}

	.cta_purple {
		background: linear-gradient(103deg, #4D18C0 34.68%, #C73DAB 127.92%);
		color: var(--white) !important;
		position: relative;
		z-index: 0;
		overflow: hidden; 
	}
	.cta_purple::after {
		content: "";
		border-radius: 2.5rem;
		position: absolute; inset: 0;
		background: linear-gradient(107deg, #C73DAB 32.35%, #4D18C0 106.79%);
		opacity: 0;
		transition: opacity 0.3s;
		z-index: -1;  
	}
	.cta_purple:hover::after { opacity: 1; }

	.cta_general {
		background: var(--purple);
		border: 1px solid var(--purple);
	}
	.cta_general:hover {
		background: var(--white);
	}

	.cta_white {
		background: var(--white);
		border: 1px solid var(--off-black);
	}
	.cta_white:hover {
		background: var(--off-black);
		color: var(--white);
	}

	.btn_search {
		width: 48px;
		height: 48px;
		border-radius: 24px;
		background: var(--grey-1);
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 0 10px;
	}


	/* HEADER */
	
	header {
		padding: 10px 0 0 0;
	}
	
	.desktop_header {
		max-width: calc(100% - 20px);
		height: 83px;
		margin: 0 auto;
	}
	
	.desktop_header .row {
		width: 100%;
		height: 83px;
		display: flex;
	}
	
	.desktop_logo_nav {
		height: 83px;
		padding: 0 30px;
		display: flex;
		flex-grow: 1;
		justify-content: space-between;
		align-items: center;
		border-radius: 20px 20px 0 0;
		background-color: var(--off-black);
	}
	
	.desktop_logo img {
		display: block;
		margin: 0 36px 0 0;
	}
	
	.main_desktop_nav {
		flex-grow: 1;
		display: flex;
		justify-content: center;
	}
	
	.desktop_logo_nav ul {
		display: flex;
	}
	
	.desktop_logo_nav li {
		display: flex;
		margin: 0 12px;
	}
	
	.desktop_logo_nav a {
		color: var(--white);
		font-size: 0.875rem;
		font-style: normal;
		font-weight: 500;
		line-height: 1.125rem;
		letter-spacing: -0.00875rem;
	}
	
	.desktop_secondary_nav {
		background-color: var(--off-black);
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	.desktop_secondary_nav_inner {
		width: 100%;
		height: 100%;
		padding: 0 10px 0 40px;
		background-color: var(--white);
		border-radius: 0 0 0 20px;
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: center;
	}
	
	.desktop_secondary_nav .cta_white {
		margin: 0 0 0 10px;
	}
	
	
	
	/* IMAGE HEADER */
	
	.ih_inner {
		width: calc(100% - 20px);
		margin: 0 auto 10px auto;
		height: 500px;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;
		border-radius: 0 0 20px 20px;
	}
	
	.ih_inner .row {
		height: 500px;
		display: flex;
		flex-direction: column;
		justify-content: end;
		padding: 0 0 80px 0;
	}
	
	
	/* GREY BOX */
	
	.gb_inner {
		width: calc(100% - 20px);
		margin: 0 auto 10px auto;
		background-color: var(--grey-2);
		border-radius: 20px;
	}
	
	.gb_inner .row {
		padding: 80px 0;
		color: var(--off-black);
		font-size: 1.625rem;
		font-style: normal;
		font-weight: 300;
		line-height: 150%;
	}
	
	.gb_inner .row p:last-of-type {
		margin: 0;
	}
	
	
	
	/* GRADIENT HEADER */
	
	.gradient_header {

	}
	
	.gh_inner {
		width: calc(100% - 20px);
		margin: 0 auto 80px auto;
		padding: 80px 0;
		border-radius: 0 0 20px 20px;
		background: linear-gradient(140deg, #130016 48.95%, #4EBD35 106.78%);
	}
	
	
	
	
	
	/* HOME HERO */
	
	.home_hero_inner {
		width: calc(100% - 20px);
		height: 800px;
		background-color: var(--off-black);
		border-radius: 0 0 20px 20px;
		margin: 0 auto 10px auto;
	}
	
	
	
	/* REQUEST A QUOTE */
	
	.request_a_quote {
		margin: 0 0 10px 0;
	}
	
	.raq_inner {
		width: calc(100% - 20px);
		margin: 0 auto;
		height: 280px;
		border-radius: 20px;
		background: linear-gradient(281deg, #C73DAB 0.59%, rgba(199, 61, 171, 0.00) 92.71%), #5920D8;
		background-blend-mode: normal, normal;
	}
	
	.raq_inner .row {
		height: 280px;	
		display: flex;
		align-items: center;
	}
	
	.raq_row_inner {
		width: 670px;
		color: var(--white);
	}
	
	.raq_link {
		color: var(--white);
		font-family: Michroma, sans-serif;
		font-size: 2.5rem;
		font-style: normal;
		font-weight: 400;
		line-height: 120%;
		margin: 0 0 20px 0;
		display: flex;
		align-items: center;
	}
	
	.icon_arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		border-radius: 24px;
		background-color: #4D18C0;
		margin: 0 0 0 20px;
	}
	
	.raq_link svg {
		display: block;
	}
	
	
	
	/* CASE STUDIES */
	
	.cs_cards {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 28px;
		row-gap: 28px;
		margin: 0 0 30px 0;
	}
	
	.cs_card {
		border-radius: 12px;
	}
	
	.cs_img {

	}
	
	.cs_img img {
		display: block;
		border-radius: 12px 12px 0 0;
	}
	
	
	.cs_grey {
		padding: 30px 30px 20px 30px;
		background-color: var(--grey-1);
		border-radius: 0 0 12px 12px;
	}
	
	.cats {
		margin: 0 0 10px 0;
	}
	
	.cats ul {
		display: inline;
	}
	
	.cats li {
		display: inline-block;
		margin: 0 5px 5px 0;
		border-radius: 20px;
		background: var(--grey-4);
		color: var(--white);
		font-size: 0.75rem;
		font-style: normal;
		font-weight: 500;
		line-height: normal;
		letter-spacing: -0.0075rem;
		padding: 4px 12px;
	}
	
	.cs_title {
		color: var(--grey-5);
		font-size: 1.25rem;
		font-style: normal;
		font-weight: 500;
		line-height: 1.625rem;
	}
	
	.cs_title:hover {
		text-decoration: underline;
	}
	
	.cs_ind {
		color: var(--grey-4);
		font-size: 1.75rem;
		font-style: normal;
		font-weight: 400;
		line-height: 2.1875rem;
		letter-spacing: -0.035rem;
		margin: 0 0 20px 0;
	}
	
	.case_study {
		margin: 0 0 80px 0;
	}
	
	.case_study .row {
		display: flex;
		justify-content: space-between;
	}
	
	.cs_left {
		width: 330px;
	}
	
	.cs_right {
		width: 800px;
	}
	
	.jump_box {
		border-radius: 20px;
		background: var(--grey-1);
		padding: 40px;
		position: sticky;
		top: 0;
	}
	
	.jump_to {
		color: var(--grey-4);
		font-size: 0.875rem;
		font-style: normal;
		font-weight: 500;
		line-height: 1.125rem;
		letter-spacing: -0.00875rem;
		margin: 0 0 30px 0;
	}
	
	.jump_box li a {
		display: block;
		padding: 8px 0 8px 8px;
		color: var(--grey-4);
		font-size: 1.25rem;
		font-style: normal;
		font-weight: 400;
		line-height: 1.625rem;
		letter-spacing: -0.0125rem;
		transition: all .15s ease;
		border-left: 2px solid var(--grey-1);
	}
	.jump_box li a:hover {
		color: var(--plum);
		border-left: 2px solid var(--plum);
	}
	
	.related_case_studies {
		padding: 0 0 80px 0;
	}
	
	.rcs {
		display: flex;
		column-gap: 28px;
		margin: 0 0 50px 0;
	}
	
	.rcs .cs_card {
		width: 408px;
	}
	
	
	
	/* FOOTER */
	
	.footer_con {
		border-radius: 20px 20px 0 0;
		background-color: var(--grey-2);
		padding: 80px 0 30px 0;
		width: calc(100% - 20px);
		margin: 0 auto;
	}

	footer .row_1 {
		display: flex;
		justify-content: space-between;
		padding: 0 0 100px 0;
	}
	
	.footer_logo {
		width: 480px;
		flex: 0 0 auto;
		color: var(--off-black);
		font-size: 0.875rem;
		font-style: normal;
		font-weight: 300;
		line-height: 1.5rem;
	}
	
	.footer_logo img {
		display: block;
		margin: 0 0 20px 0;
	}
	
	.footer_nav {
		width: 420px;
		flex: 0 0 auto;
		display: flex;
		justify-content: space-between;
	}
	
	.footer_nav nav {
		width: 200px;
		flex: 0 0 auto;
	}
	
	.footer_nav_1 li {
		margin: 0 0 12px 0;
	}
	
	.footer_nav_1 a {
		color: var(--off_black);
		font-size: 1rem;
		font-style: normal;
		font-weight: 500;
		line-height: 1.3125rem;
		letter-spacing: -0.01rem;
	}

	.footer_nav_2 li {
		margin: 0 0 12px 0;
	}
	
	.footer_nav_2 li a {
		color: var(--plum);
		font-size: 1rem;
		font-style: normal;
		font-weight: 500;
		line-height: 1.3125rem;
		letter-spacing: -0.01rem;
		display: inline-flex;
		align-items: center;
	}
	
	.footer_nav_2 li a svg {
		display: block;
		margin: 0 0 0 8px;
	}


	footer .row_2 {
		display: flex;
		justify-content: space-between;
	}

	footer .row_2, footer .row_2 a {
		color: var(--grey-4);
		font-size: 0.75rem;
		font-style: normal;
		font-weight: 300;
		line-height: normal;
		letter-spacing: -0.0075rem;
	}
	
	footer .row_2 a {
		text-decoration: underline;
		text-transform: uppercase;
	}

	
}


@media screen and (min-width: 990px) and (max-width: 1360px) {

	.row {
		width: calc(100vw - 40px);
		margin: 0 auto;
	}



}


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


	.hide_on_desktop {
		display: block;
	}
	
	.hide_on_mobile {
		display: none !important;
	}
	
	.row {
		width: calc(100vw - 30px);
		margin: 0 auto;
	}
	


}

