

/**** Start Colors ****/

/*

SUB

uw dark purple: #1e0a46 / rgb(30, 10, 70)
uw mid purple: #550091 / rgb(85, 0, 145)
uw light purple: #f5eef9 / rgb(245, 238, 249)
uw bubblegum pink: #f495f9 / rgb(244, 149, 249)
uw light pink: #e2c7eb

uw blue: #75a7fd / rgb(117, 167, 253)
UW light blue: #a6c8fc / rgb(166, 200, 252)



*/

/**** End Colors ****/

/**** Declare Font Family ****/
@font-face {
    font-family: 'open_sansbold';
    src: url('../fonts/opensans-bold-webfont.woff2?v=1.0.4') format('woff2'),
         url('../fonts/opensans-bold-webfont.woff?v=1.0.4') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sansitalic';
    src: url('../fonts/opensans-italic-webfont.woff2?v=1.0.4') format('woff2'),
         url('../fonts/opensans-italic-webfont.woff?v=1.0.4') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sansregular';
    src: url('../fonts/opensans-regular-webfont.woff2?v=1.0.4') format('woff2'),
         url('../fonts/opensans-regular-webfont.woff?v=1.0.4') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sanssemibold';
    src: url('../fonts/opensans-semibold-webfont.woff2?v=1.0.4') format('woff2'),
         url('../fonts/opensans-semibold-webfont.woff?v=1.0.4') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sansbold';
    src: url('../fonts/opensans-bold-webfont.woff2?v=1.0.4') format('woff2'),
         url('../fonts/opensans-bold-webfont.woff?v=1.0.4') format('woff');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'helveticaregular';
    src: url('../fonts/helvetica-webfont.woff2') format('woff2'),
         url('../fonts/helvetica-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'helveticalight_oblique';
    src: url('../fonts/helvetica-lightoblique-webfont.woff2') format('woff2'),
         url('../fonts/helvetica-lightoblique-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'helveticabold_oblique';
    src: url('../fonts/helvetica-boldoblique-webfont.woff2') format('woff2'),
         url('../fonts/helvetica-boldoblique-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'helveticalight';
    src: url('../fonts/helvetica-light-webfont.woff2') format('woff2'),
         url('../fonts/helvetica-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/**** End Declare Font Family ****/


.button, button, 
input[type='button'], input[type='reset'], 
input[type='submit'] {
	color: #FFF;
	background-color: #f495f9;
	border: 2px solid #f495f9;
	border-radius: 50px;
}
.button:hover, .button:focus,
button:hover, button:focus,
input[type='button']:hover, input[type='button']:focus, 
input[type='reset']:hover,input[type='reset']:focus, 
input[type='submit']:hover,input[type='submit']:focus {
	color: #f495f9;
	background-color: #fff;
	border: 2px solid #f495f9;
}

.button.secondary, button.secondary, 
input[type='button'].secondary, input[type='reset'].secondary, 
input[type='submit'].secondary {
	color: #FFF;
	background-color: #1e0a46;
	border: 2px solid #fff;
}
.button.secondary:hover, .button.secondary:focus,
button.secondary:hover, button.secondary:focus,
input[type='button'].secondary:hover, input[type='button'].secondary:focus, 
input[type='reset'].secondary:hover,input[type='reset'].secondary:focus, 
input[type='submit'].secondary:hover,input[type='submit'].secondary:focus {
	color: #1e0a46;
	background-color: #fff;
	border: 2px solid #fff;
}

.button.outline, button.outline, 
input[type='button'].outline, input[type='reset'].outline, 
input[type='submit'].outline {
    border-color: #1e0a46;
    background-color: #FFF;
	color: #1e0a46;
}
.button.outline:hover, .button.outline:focus,
button.outline:hover, button.outline:focus, 
input[type='button'].outline:hover, input[type='button'].outline:focus, 
input[type='reset'].outline:hover, input[type='reset'].outline:focus, 
input[type='submit'].outline:hover, input[type='submit'].outline:focus {
    border-color: #1e0a46;
    background-color: #1e0a46;
	color:#FFF;
}

/****** Start Common Styles ******/
html,body {
	color:#1e0a46;
	font-size: 1.05em;
	font-family: open_sansregular, sans-serif;
	font-weight: 400;
}
h1,h2,h3,h4,h5,h6 {
	font-family:open_sansbold, sans-serif;
}
li, div, p {
	font-size: 1em;
}
a {
	color:#f495f9;
	transition: all 0.5s ease
}
a:hover,
a:focus {
	color:#1e0a46;
}
.lead {
	font-size: 125%;
	text-align:center;
}

/******  End Common Styles  ******/

/****** Start Page Container ******/
.page-container {
	background-color: #FFF;
}
.commercial-utilities .page-container {
	display: grid;
	opacity:1;
}

/******  End Page Container  ******/

/****** Start Header Section ******/
header .preheader.own-row {
	background-color: #1e0a46;
	border-bottom: 1px solid #1e0a46;
}
header .header.right-preheader .preheader {
	border-bottom: none;
}
header .preheader ul i {
    color: #575757;
}
header .preheader a {
    color: #575757;
}
header .preheader a:hover,
header .preheader a:focus {
    color: #FFF;
}
header .header.right-preheader .preheader ul i,
.mobile-nav-handler i {
	color: #f495f9;
}
header .header.right-preheader .preheader a {
	color: #f495f9;
	border-bottom: 1px dotted #f495f9;
}
header .header.right-preheader .preheader a:hover,
header .header.right-preheader .preheader a:focus {
	color: #1B120D;
	border-bottom: 1px dotted #1B120D;
}
header .header {
	background: #FFF;
	border-bottom: 2px solid #f495f9;
	transition: all 0.5s ease;
}
header .nav-link--home a {
    flex: 1 0 120px;
}
header .header .logo {
	max-width: 18.25em;
    display: grid;
    grid-template-columns: 64px 170px;
    align-items: center;
}
header .header .logo img {
    max-width: 2em;
}
.logo .site-description {
    font-family: 'open_sansbold';
    font-size: 1em;
    color: #f495f9;
	margin-bottom: 0;
}

/****** End Header Section ******/


/****** Start Nav Section ******/

body .mobile-nav {
    background-color: #FFF;
}
body.theme-color-custom .mobile-nav {
    background-color: #FFF;
}
body.theme-color-custom .mobile-nav .nav-link {
    color: #1e0a46;
	border-bottom: 1px dotted #1e0a46;
}
.hamburger.lines:hover.active body.theme-color-custom span:after, 
.hamburger.lines:hover.active body.theme-color-custom span:before, 
.hamburger body.theme-color-custom span, 
.hamburger body.theme-color-custom span:after, 
.hamburger body.theme-color-custom span:before, 
body.theme-color-custom .bg-secondary-color, 
body.theme-color-custom .hamburger.lines:hover.active span:after, 
body.theme-color-custom .hamburger.lines:hover.active span:before, 
body.theme-color-custom .hamburger span, 
body.theme-color-custom .hamburger span:after, 
body.theme-color-custom .hamburger span:before, 
body.theme-color-custom .nav-link--home__text:after {
    background-color: #1e0a46;
    color: #f495f9;
}
.nav-link--home__text:after {
	display:none;
}
body.theme-color-custom .logo .nav-link {
    color: #f495f9;
}
body.theme-color-custom--active.nav-link:visited, 
body.theme-color-custom .logo .nav-link--active, 
body.theme-color-custom .logo .nav-link:hover {
    border-color: #1e0a46;
}

body.theme-color-custom .nav-link {
    color: #1e0a46;
}
body.theme-color-custom--active.nav-link:visited, 
body.theme-color-custom .nav-link--active {
    border-color: #550091;
	color: #550091;
}

.header--fixed .nav-link {
	color: #f495f9;
}
.header--fixed .nav-link--active, 
.header--fixed .nav-link:hover {
	border-bottom-color: #1e0a46!important;
}
.header--fixed .hamburger span, 
.header--fixed .hamburger span:after, 
.header--fixed .hamburger span:before {
	background-color: #1e0a46!important;
}
.hamburger span, 
.hamburger span:after, 
.hamburger span:before {
	background-color: #1e0a46!important;
}
header .preheader ul.login button {
    margin-right: 0.725em;
}
body.frontpage .header:not(.header--fixed) .nav-link--home__text:after {
    background-color: #fff
}
body.frontpage .header:not(.header--fixed) .nav-link {
    color: #f495f9;
}
body.frontpage .header:not(.header--fixed) .nav-link--active, 
body.frontpage .header:not(.header--fixed) .nav-link:hover {
	border-bottom-color: #fff
}
body.frontpage .header:not(.header--fixed) .hamburger span, 
body.frontpage .header:not(.header--fixed) .hamburger span:after, 
body.frontpage .header:not(.header--fixed) .hamburger span:before {
    background-color: #f495f9;
}


a.nav-link.nav-link--black {
    color: #1B120D;
	transition: all 0.5s ease
}
a.nav-link.nav-link--black:hover {
	border-color: #1B120D
}
.nav-link--home {
    color: #f495f9;
}

body.theme-color-custom .footer-nav .nav-link {
	color: #f495f9;
	border-bottom: 1px dotted #f495f9;
}
body.theme-color-custom .footer-nav .nav-link:hover,
body.theme-color-custom .footer-nav .nav-link:focus {
	color: #FFF;
	border-bottom: 1px dotted #FFF;
}

body.theme-color-custom--active.nav-link:visited, 
body.theme-color-custom .footer-nav .nav-link--active, 
body.theme-color-custom .footer-nav .nav-link:hover {
	color: #FFF;
    border-color: #FFF;
}
.footer-nav .nav-link::before {
	color: #f495f9;
	transition: all 0.5s ease
}
.footer-nav .nav-link:hover::before {
	color: #FFF;
}
.footer2.contact-details ul.wp-block-list {
    display: flex;
	flex-flow: wrap row;
    margin: 0;
	gap: 1em;
	text-align: center;
    align-items: center;
    justify-content: center;
}
/****** End Nav Section ******/




/* Content Section */
.content-container .slider {

}
.content-container .banner-container {
	grid-column: span 6;
	display:grid;
	grid-template-columns: 1fr;
	background-color: #550091;
}
.content-container.sidebar .banner-container {
	grid-column: span 14;
}
.banner-container .bg-banner-image {
    background-attachment: initial;
	background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    display: grid;
    grid-template-columns: 1fr;
	order:2;
}
.banner-container .fg-banner-image {
    display: grid;
    grid-template-columns: 1fr;
	align-items: center;
	order:2;
}
.banner-container .bg-banner-video {
    position: relative;
}
.banner-container .bg-banner-video video {
	width: 100%;
    height: auto;
    object-fit: cover;
    position: relative;
}
/*.banner-container .bg-banner-video:after {
	content:'';
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background: rgba(251,92,8,0.2);
}*/
.content-container .banner .banner-content, 
.content-container .banner-container .banner-content {
	margin: 0;
    /*background: rgba(27,18,13,0.5);*/
	/*background: -moz-linear-gradient(90deg, rgba(27,18,13,1) 0%, rgba(27,18,13,1) 40%, rgba(27,18,13,0.4990589985994398) 70%, rgba(27,18,13,0) 100%);
	background: -webkit-linear-gradient(90deg, rgba(27,18,13,1) 0%, rgba(27,18,13,1) 40%, rgba(27,18,13,0.4990589985994398) 70%, rgba(27,18,13,0) 100%);
	background: linear-gradient(90deg, rgba(27,18,13,1)  40%, rgba(27,18,13,0.4990589985994398) 70%, rgba(27,18,13,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#1B120D",endColorstr="#1B120D",GradientType=1);

	background: linear-gradient(90deg, rgba(27,18,13,1) 40%, rgba(27,18,13,0) 100%);*/
    color: #FFF;
    border-radius: 0;
    width: 100%;
	order:1;
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(2,auto);
	align-content: center;
	gap: 2em;
}
.content-container.single-post .banner .banner-content, 
.content-container.single-post .banner-container .banner-content {
	order:unset;
	grid-template-rows: unset;
}
.content-container .banner-container .frontpage.banner-content {
	position: relative;
    /*height: 90vh;*/
    padding: 5% 1em;
	width:100%;
}
.content-container .banner-container.no-image .frontpage.banner-content {
	grid-template-columns: minmax(auto,1200px);
	justify-content: center;
    padding: 2em 1em;
}
.single-post .no-image .frontpage.banner-content {
    text-align: center;
}
.content-container .banner-container .banner-content h1 {
	font-size: 2.2em;
	padding: 0;
	margin: 0;
	justify-self: flex-start;
}
.content-container .banner-container .banner-content h1 span {
	font-size: 3rem;
}
.banner-container.no-image .frontpage.banner-content h1 {
    text-align: center;
    justify-self: unset;
}
.content-container .banner-container .banner-content h4 {
	font-size: 0.9275em;
}
.content-container .banner-container .banner-content h4 .button {
	font-size: 0.65em;
}
.banner-content p {
    margin: 0;
}
.banner-content a.button {
	margin: 0 1.4em 1.4em 0;
}

/****** Start Homepage Content ******/
.section__hero-content {
	color: #1e0a46;
    background-color: rgba(205, 220, 220, 0.85);
}
.section__hero-content .section__description {
    font-size: 1.1em;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.content-container>section, .content-container>div {
    grid-column: span 4;
    position: relative;
}
.content-container .aside {
	background: gold;
}
.content-container .services.boxed {
	grid-column-start: span 6;
	display:grid;
	grid-template-columns: auto minmax(auto,71.5em) auto;
	grid-template-rows: auto 1fr auto;
	grid-gap: 1em 1.75em;
}
.content-container .services.boxed .inner-content.grid-theme-1 {
	grid-column: 2/3;
	grid-row: 2/3;
	text-align: justify;
}
.content-container .services.boxed .inner-content.grid-theme-2 {
	grid-column: 2/3;
	grid-row: 2/3;
	text-align: justify;
}
.grid-theme-1 .services figure {
	order: 1;
	border-radius: 50%;
}
.grid-theme-2 .services figure {
	order: 1;
	border-radius: 0%;
}
.grid-theme-1 .services header.entry-header {
	order: 2;
}
.grid-theme-2 .services header.entry-header {
	order: 2;
}
.grid-theme-1 .services header h2.entry-title {
	font-size: 1.25em;
	margin: 0;
}
.grid-theme-2 .services header h2.entry-title {
	font-size: 1.25em;
	margin: 0;
}
.grid-theme-1 .services .services-grid .type-services {
	background-color: #FFE030;
}
.grid-theme-2 .services .services-grid .type-services {
	background-color: #2B17FF;
}
.grid-theme-1 .services .services-grid .type-services .button {
	color: #FFE030;
	background: #2B17FF;
	border: 2px solid #2B17FF;
}
.grid-theme-2.services .services-grid .type-services .button {
	color: #2B17FF;
	background: #FFE030;
	border: 2px solid #FFE030;
}
.grid-theme-1 .services .services-grid .type-services .button:hover,
.grid-theme-1 .services .services-grid .type-services .button:focus {
	color: #2B17FF;
	background: transparent;
	border: 2px solid #2B17FF;
}
.grid-theme-2.services .services-grid .type-services .button:hover,
.grid-theme-2 .services .services-grid .type-services .button:focus {
	color: #FFE030;
	background: transparent;
	border: 2px solid #FFE030;
}
.blogpost-meta i {
    color: #f495f9;
}
.main a:not(.button) {
	border-bottom: 1px dotted #f495f9;
}
.main a:not(.button):hover,.main a:not(.button):focus {
	border-bottom: 1px dotted #1e0a46;
}
.main a.button {
	position: relative;
	padding: 0.8em 1.8em 0.8em 3.5em;
	border: 2px solid;
	z-index:9;
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.main a.button:hover,.main a.button:focus {
	padding: 0.8em 3.5em 0.8em 1.8em;
}
.main a.button span {
	z-index:99;
}
.main a.button:before {
    color: #1e0a46;
    background: #f495f9;
    content: '\f324';
    width: 34px;
    height: 100%;
    border-bottom-right-radius: 50px;
    border-top-right-radius: 50px;
    border-top-left-radius: .4em;
    border-bottom-left-radius: .4em;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
	z-index:9;
    position: absolute;
    top: 0;
    left: 0;
	font-family: "Font Awesome 5 Pro";
    bottom: 0;
    right: 0;
    display: grid;
    align-items: center;
    justify-content: flex-end;
    grid-template-columns: 25px;
	opacity:1;
}
.main a.button:after {
 /*   content: '\f10f324';*/
}
.main a.button:hover:before {
    background: #f495f9;
    color: #1e0a46 !important;
    width: 100% !important;
    border-bottom-right-radius: .4em !important;
    border-top-right-radius: .4em !important;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
}
.main .about {
	background:#FFE030;
}
.main .about .button {
	color: #FFE030;
	background: #2B17FF;
	border: 2px solid #2B17FF;
}
.main .about .button:hover,
.main .about .button:focus {
	color: #2B17FF;
	background: transparent;
	border: 2px solid #2B17FF;
}

.embed-container #calendly-embed {
    width: 100%;
    height: 100vh;
}
.embed-container .calendly-intro {
    padding: 3em 1em 0;
}
.embed-container .calendly-intro p {
    margin-bottom:0;
}


/****** End Homepage Content ******/

/****** Start Inner Page Content ******/

.content-container.sidebar {
    grid-template-columns: minmax(1em,auto) repeat(12,minmax(auto, 5.95833333em)) minmax(1em,auto);
}
.content-container.sidebar .main.blog,
.content-container.sidebar.single-post .main {
	display: grid;
	margin: 2em 0 2em 0;
    grid-column: 2 / 14;
    grid-template-columns: auto minmax(auto, 71.5em) auto;
    grid-template-rows: auto 1fr auto;
}
.content-container.sidebar .main.blog {
	grid-template-rows: auto 1fr 50px auto;
    align-items: center;
}
.content-container.sidebar .main.blog nav.navigation.posts-navigation {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
}
.content-container.sidebar .blog .inner-content {
    display: grid;
    grid-template-columns: minmax(120px,320px);
    gap: 2em 1em;
	grid-row: initial;
	justify-content: center;
	overflow-wrap: break-word;
}
.content-container.sidebar aside#secondary {
	margin-top: 2em;
	margin-bottom: 2em;
    grid-column: 2 / 14;
}
aside#secondary .wp-block-search__inside-wrapper {
	flex-wrap: wrap;
    max-width: 100%;
}
.blog article {
    display: grid;
	grid-template-rows: 1fr auto;
}
.blog .post-item-inner {
    background-color: #550091;
    padding: 1em;
    text-align: center;
    color: #fff;
}
.blog .post-item-inner>a h3 {
    color: #FFF;
    text-align: center;
    font-size: 1.3rem;
	margin-bottom: 1em;
}
.blog .post-item-inner>div {
	margin-bottom: 1em;
	font-size: 1em;
}
.blog .post-link {
    background-color: #f495f9;
	border: 3px solid #f495f9;
    padding: 1em;
    text-align: center;
	transition: all 0.5s ease-in;
}
.blog .post-link:hover,
.blog .post-link:focus {
    background-color: #550091;
}
.blog .post-link a {
	color: #550091;
	border-bottom: 1px dotted #550091;
}
.blog .post-link:hover a,
.blog .post-link:focus a {
	color: #f495f9;
	border-bottom: 1px dotted #f495f9;
}
.blog .entry-meta {
    font-size: 0.9em;
}
.blog .entry-meta span a {
	color: #f495f9;
	border-bottom: 1px dotted #f495f9;	
}
.blog .entry-meta span a:hover,
.blog .entry-meta span a:focus {
	color: #e2c7eb;
	border-bottom: 1px dotted #e2c7eb;	
}
aside#secondary .wp-block-latest-posts__list li {
    border-bottom: 1px dashed #550091;
    padding: 6px 0;
}
aside#secondary a {
	color: #550091;	
}
aside#secondary a:hover,
aside#secondary a:focus {
	color: #a524ff;
	
}

i.fa-ellipsis-h {
	padding: 0 12px;
	margin:0;
}
.content-container .banner {
	color: #FFF;
    background-color: #f495f9;
}
.content-container .banner h1 {
}
.content-container .banner .section__description {
    font-size: 1.1em;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.banner-content a:not(.button) {
	color:#f495f9;
	transition: all 0.5s ease
}
.banner-content a:not(.button):hover,
.banner-content a:not(.button):focus {
	color:#e2c7eb;
}


/****** Start Table Layout ******/
.mag-table-wrapper .mag-table {
	background: #FFF;
	color: #333333;
}
.mag-table tr:first-child,
.mag-table td:first-child {
    background: #FFE030;
}
.mag-table td:first-child {
	border-right-color: #1e0a46;
}
.mag-table-cell {
	border-color: 101010;
	background: #FFE030;
}
/****** End Table Layout ******/


/****** Start Contact Page Contact Details & Form ******/

.contact-section .contact-info i {
	color: #1e0a46;
}

/****** End Contact Page Contact Details & Form ******/

/*****  Login page   *****/

.login-page .mag-grid div {
	background-color:#FFE030;
}

/***** End Login page   *****/

/****** End Inner Page Content ******/


.product-grid__item {
	background:#FFE030;
}
.mag-grid a.haverlogolink {
	border-bottom: 0;
    display: flex;
    max-width: 340px;
    float: none;
    margin: 0 auto;
}
.mag-grid img.haverlogo {
	max-width: 80%;
	margin:0 auto;
	float: left;
	padding: 0 0 20px 0;
}
.cta-container {
    margin-top: 3em;
    background: #cddcdc;
    padding: 3em 3em 1.5em;
    text-align: center;
}
.sample-report {
	margin-bottom: 2em;
}

/**** Account Dashboard Styles ****/
.account-dashboard {
    display: grid;
    grid-gap: 1em;
}
.inner-content.account-dashboard h1 {
	font-size: 1.7em;
}
.account-dashboard .mag-grid {
    grid-column: span 12;
}
.account-dashboard .account-details  {
	grid-column: span 12;
	text-align:left;
}
.account-dashboard h3 {
    grid-column: span 12;
	margin:0;
}
.account-dashboard .account-details ul {
    padding-left: 0;
}
.account-dashboard .account-details li {
	list-style-type: none;
	line-height: 1.6;
}
.account-dashboard .account-details li i {
    width: 1.4em;
}
.account-dashboard .account-details span,
.account-dashboard .publication-item span {
	font-weight: bold;
	padding: 2px 0px;
}
.account-dashboard .publications-container {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2em;
	justify-content:center;
	grid-column: span 12;
}
.account-dashboard .publication-table .publication-table-subhead {
	display:none;
}
.account-dashboard .publication-table div {
	line-height:1.6;
}
.account-dashboard .publication-table .publication-item {
	align-items:center;
}
.account-dashboard .publication-table .publication-item div:nth-of-type(1) {
	padding: 0;
}
.account-dashboard .publication-item {
    display: grid;
    grid-template-columns:1fr;
    grid-column-gap: 2em;
    grid-row-gap: 0;
    grid-template-rows: repeat(2,auto);
	align-items: flex-start;
	border: 1px solid #aaa;
	text-align:center;
}
.account-dashboard .noSubscribedPubs {
	border: 1px solid #aaa;
	text-align:center;
	padding: 4px 10px;
}
.account-dashboard .publication-table-head h4,
.account-dashboard .publication-item h4 {
	font-size:1.1em;
    grid-column: 1;
	margin: 0;
	background: #2B17FF;
	padding: 3px 10px;
	text-align:center;
}
.savePubForm button {
	padding: 1px 12px;
	margin: 5px 0;
}
.logoutLink form {
    display: inline;
}
.publication-item>div {
    display: grid;
    grid-row-gap: 0;
	border-bottom: 1px solid #aaa;
	padding-bottom: 0;
}
.publication-item>div>div:first-child {
    border-bottom: 0;
    padding-bottom: 0;
}
button.logoutLink {
    background: transparent;
    border: none;
    color: #2B17FF;
    padding: 0;
    line-height: 1.6;
    font: 100 1em helveticaregular;
    min-width: auto;
	letter-spacing: 1px;
}
button.logoutLink:hover,button.logoutLink:active,button.logoutLink:focus {
	color: #1e0a46;
	border:none;
	outline: 0;
}
/**** End Account Dashboard Styles ****/

.services .grid-theme-1 .services-grid {
    gap: 2em;
	padding:1em 0 2em;
}
.services .grid-theme-1 .services-grid a {
	position:relative;
}
.services .grid-theme-1 .services-grid a,
.services .grid-theme-1 .services-grid a:hover {
	border: 0;
}
.services .grid-theme-1 .services-grid .type-services {
    /* justify-content: center; */
    padding: unset;
	flex: 0 18em;
}

.services .grid-theme-2 .services-grid {
    gap: 2em;
	padding:1em 0 2em;
}
.services .grid-theme-2 .services-grid a {
	position:relative;
}
.services .grid-theme-2 .services-grid a,
.services .grid-theme-2 .services-grid a:hover {
	border: 0;
}
.services .grid-theme-2 .services-grid .type-services {
    /* justify-content: center; */
    padding: unset;
	flex: 0 18em;
}

.map-container {
	display: grid;
	grid-template-columns:1fr;
	margin-bottom: 0;
}
.map-container iframe {
	width:100%;
	height:200px;
}
.contact-section {
	display:grid;
	grid-template-columns: minmax(auto,1fr);
	gap:2em;
}
#block-21 p {
    padding: 0;
    margin: 0;
}
.contact-section #block-21,
.contact-section #block-23,
.contact-section .social {
    width: 100%;
    float: left;
}
.social {
    display: flex;
    gap: 1em;
    flex-flow: row wrap;
	justify-content: center;
}
footer .footer-grid .social a,
.contact-info .social a {
	border-bottom: 0;
	text-align: center;
}

/***** End Content Section  *****/

/***** Start Footer Section *****/
footer.site-footer {
	background-color: #1e0a46;
	border-top: 8px solid #f495f9;
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
footer.site-footer h4 {
	color: #575757;
}
footer.site-footer p, footer.site-footer li {
	color: #575757;
}
.footer-grid ul {
    margin: 0 0 2em;
    padding: 0;
}
.footer-grid .widget p {
    margin: 0;
}
.contact-info ul {
    margin: 0;
    padding: 0;
}
footer .footer-grid ul li,
.contact-info ul li {
    line-height: 2;
	list-style: none;
}
footer .footer-grid .address li,
.contact-info li {
    line-height: 1.4;
}
.footer-grid .contact-details i {
	color: #f495f9;
}
.footer-grid .address i,
.contact-info i {
	width: 1.8em;
}
.footer-grid .nav-link, 
.footer-grid .nav-link:visited {
    margin: 0;
}
footer .footer-grid a,
 footer .footer-grid .nav-link{
	color: #FFF;
	border-bottom: 1px dotted #FFF;
}
footer .footer-grid a:hover,
footer .footer-grid a:focus {
	color: #e2c7eb;
	border-bottom: 1px dotted #e2c7eb;
}
.footer-grid .footer1,
footer .footer-grid>div:nth-of-type(-n+2),
.footer-grid .footer1 #nav_menu-2 {
    margin: 0;
}
.footer-grid .widget {
    margin-bottom: 0;
}
.footer-grid .footer1 #menu-footer-menu {
    display: flex;
    flex-flow: row wrap;
    gap: 1em;
    text-align: center;
    justify-content: center;
    margin: 0 0 1em;
}
/*.footer1 img {
    border-radius: 50%;
	border: 10px solid #fff;
}*/
footer .subfooter {
	border-top: 2px solid #f495f9; 
    background: #1e0a46;
}
footer .subfooter p, footer .subfooter span {
	color: #FFF;
}
footer .subfooter a,footer .subfooter .nav-link {
	color: #fff;
	border-bottom: 1px dotted #fff;
}
footer .subfooter a:hover,footer .subfooter a:focus,
footer .subfooter .nav-link:hover,footer .subfooter .nav-link:focus {
	color: #e2c7eb;
	border-bottom: 1px dotted #e2c7eb;
}

/**** Mailchimp Form Styling  ****/
.mc-field-group {
    display: grid;
}
.mc-field-group {
padding: 0.3em;
}
.mc-field-group input {
padding:0.5em;
}
#mc-embedded-subscribe {

color: #FFE030;
background-color: #1B120D;
border: 2px solid #2B17FF;
width:100%;
}
#mc-embedded-subscribe:hover {
    color: #2B17FF;
    background-color: #FFE030;
    border: 2px solid #2B17FF;
}
.mc-field-group label {
color: #FFE030; 
}

/*****  End Footer Section  *****/


/**** Start Colors ****/

/*

Light Green #A2E676 / 136,182,106
Green: #73AB31 / 115,171,49
Dark Green #1C642F / 28,100,47
Light Blue #9DD1F2 / 157,209,242
Mid Blue: #2482C5 / 36,130,197
Dark Blue: #323390 / 50,51,144

*/

/**** End Colors ****/




.waterdrop {
	overflow: hidden;
}
.drop-container {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
.waterdrop:hover .drop {
	position: relative;
	width: 20px;
	height: 20px;
	top: -30px;
	margin: 0 auto;
	background: #FFF;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	-moz-animation-name: drip;
	-webkit-animation-name: drip;
	animation-name: drip;
	-moz-animation-timing-function: cubic-bezier(1,0,.91,.19);
	-webkit-animation-timing-function: cubic-bezier(1,0,.91,.19);
	animation-timing-function: cubic-bezier(1,0,.91,.19);
	-moz-animation-duration: 2s;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	
	-moz-animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

.waterdrop:hover .drop:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 20px solid rgba(255,255,255,1);
	top: -9px;
	left: 0;
}

.waterdrop:hover .wave {
	position: relative;
	opacity: 0;
	top: 0px;
	margin: 175px auto;	
	width: 2px;
	height: 1px;
	border: #FFF 7px solid;
	-moz-border-radius: 300px / 150px;
	-webkit-border-radius: 300px / 150px;
	border-radius: 300px / 150px;
	-moz-animation-name: ripple;
	-webkit-animation-name: ripple;
	animation-name: ripple;
	-moz-animation-delay: 2s;
	-webkit-animation-delay: 2s;
	animation-delay: 2s;
	-moz-animation-duration: 2s;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	-moz-animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

.waterdrop:hover .wave:after {
	content: "";
	position: absolute;
	opacity: 0;
	top: -5px;
	left: -5px;
	width: 2px;
	height: 1px;
	border: #FFF 5px solid;
	-moz-border-radius: 300px / 150px;
	-webkit-border-radius: 300px / 150px;
	border-radius: 300px / 150px;
	-moz-animation-name: ripple-2;
	-webkit-animation-name: ripple-2;
	animation-name: ripple-2;
	-moz-animation-duration: 2s;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	-moz-animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}
.waterdrop .driptext {
    opacity: 0;
}
.waterdrop:hover .driptext {
    position: absolute;
    bottom: 60px;
    color: #fff;
    text-align: center;
    left: 0;
    right: 0;
    opacity: 0;
	-moz-animation-name: driptext;
	-webkit-animation-name: driptext;
	animation-name: driptext;
	-moz-animation-delay: 2s;
	-webkit-animation-delay: 2s;
	animation-delay: 2s;
	-moz-animation-duration: 2s;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	-moz-animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}
@keyframes ripple {
    from {
		opacity: 1;
    }
    to {
		width: 274px;
		height: 137px;
		border-width: 1px;
		top: -80px;
		opacity: 0;
    }
}

@keyframes ripple-2 {
    0% {
		opacity: 1;
    }
    50% {
		opacity: 0;
    }
	100% {
		width: 150px;
		height: 75px;
		border-width: 1px;
		top: 20px;
		left: 60px;
	}
}

@keyframes drip {
    to {
		top: 200px;
    }
}

@keyframes driptext {
    0% {
		opacity: 0;
    }
    50% {
		opacity: 1;
    }
    0% {
		opacity: 0;
    }
}





/*****  Start Grid Styles  *****/


.grid-container.full-width {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 3em 1.875em;
    grid-column-start: span 6;
    grid-template-rows: auto 1fr auto;
}
.grid-container.boxed {
    display: grid;
    grid-template-columns: auto minmax(auto,71.5em) auto;
    grid-gap: 3em 1.875em;
    grid-column-start: span 6;
    grid-template-rows: auto 1fr auto;
}

.grid-container.boxed .grid-inner {
    grid-column: 2/3;
	grid-row: 2/3;
	display: grid;
    grid-gap: 1.875em;
}
.grid-container .grid-inner,
.grid-container .grid-inner.four-col-grid {
    grid-template-columns: repeat(4,minmax(auto,1fr));
}
.grid-container .grid-inner.three-col-grid {
    grid-template-columns: repeat(3,minmax(auto,1fr));
}
.grid-container .grid-inner.two-col-grid {
    grid-template-columns: repeat(2,minmax(auto,1fr));
}



.grid-item {
    display: grid;
    position: relative;
    background: rgb(204 232 254);
	border-radius: 1em 1em 1em 1em;
    grid-template-columns: 1fr 2fr;
    grid-gap: 1.875em;
    align-items: center;
}
.grid-item figure {
    z-index: 0;
    width: 100%;
	grid-column: span 2;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-gap: 3.75em;
    flex-flow: row wrap;
}
.grid-item figure img {
    grid-column: 2 / 3;
    /* display: grid; */
    /* grid-gap: 1.875em; */
    grid-row: 2 / 4;
}
.grid-item .service-icon {
    position: relative;
    display: grid;
    align-items: center;
    justify-content: center;
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 22px 35px 0px rgb(2 18 106 / 8%);
    width: 6.25em;
    height: 6.25em;
    border-radius: 50%;
    margin: 1.875em;
}
.service-icon .rotate {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.service-icon .rotate span {
    position: relative;
    display: block;
    height: 100%;
}
.service-icon .rotate span::before,
.service-icon .rotate span::after {
    position: absolute;
    width: 8px;
    height: 8px;
    content: "";
    border-radius: 50%;
}
.service-icon .rotate span::before {
    left: 11px;
    bottom: 10px;
}
.service-icon .rotate span::after {
    right: 11px;
    top: 10px;
}
.grid-item.light-theme .service-icon {
    background-color: rgb(255, 255, 255);
}
.grid-item.light-theme .service-icon .rotate span {
    animation: rotation 10s infinite linear;
}
.grid-item.light-theme .service-icon .rotate span::before,
.grid-item.light-theme .service-icon .rotate span::after {
    background-image: -moz-linear-gradient(
            -45deg,
            rgb(253, 68, 133) 0%,
            rgb(255, 163, 141) 100%
    );
    background-image: -webkit-linear-gradient(
            -45deg,
            rgb(253, 68, 133) 0%,
            rgb(255, 163, 141) 100%
    );
    background-image: -ms-linear-gradient(
            -45deg,
            rgb(253, 68, 133) 0%,
            rgb(255, 163, 141) 100%
    );
}
.grid-item.light-theme .service-icon i.fad {
    color: #f495f9;
}
.grid-item.mid-theme .service-icon {
    background-color: #1e0a46;
}
.grid-item.mid-theme .service-icon .rotate span {
    animation: rotation 9s infinite linear;
}
.grid-item.mid-theme .service-icon .rotate span::before,
.grid-item.mid-theme .service-icon .rotate span::after {
    background-image: -moz-linear-gradient(
            -45deg,
            rgb(255, 220, 24) 0%,
            rgb(255, 244, 185) 100%
    );
    background-image: -webkit-linear-gradient(
            -45deg,
            rgb(255, 220, 24) 0%,
            rgb(255, 244, 185) 100%
          );
     background-image: -ms-linear-gradient(
            -45deg,
            rgb(255, 220, 24) 0%,
            rgb(255, 244, 185) 100%
    );
}
.grid-item.mid-theme .service-icon i.fad {
    color: #f495f9;
}
.grid-item.dark-theme .service-icon {
    background-color: rgb(255, 255, 255);
}
.grid-item.dark-theme .service-icon .rotate span {
    animation: rotation 9s infinite linear;
}
.grid-item.dark-theme .service-icon .rotate span::before,
.grid-item.dark-theme .service-icon .rotate span::after {
    background-image: -moz-linear-gradient(
            -45deg,
            rgb(255, 220, 24) 0%,
            rgb(255, 244, 185) 100%
    );
    background-image: -webkit-linear-gradient(
            -45deg,
            rgb(255, 220, 24) 0%,
            rgb(255, 244, 185) 100%
          );
     background-image: -ms-linear-gradient(
            -45deg,
            rgb(255, 220, 24) 0%,
            rgb(255, 244, 185) 100%
    );
}
.grid-item.dark-theme .service-icon i.fad {
    color: #f495f9;
}
.grid-item .service-icon i.fad {
    font-size: 3em;
}
.primary span {
    animation: rotation 8s infinite linear;
}
.primary span::before,
.primary span::after {
    background-image: -moz-linear-gradient(
            -45deg,
            rgb(80, 94, 255) 0%,
            rgb(3, 189, 255) 100%
    );
    background-image: -webkit-linear-gradient(
            -45deg,
            rgb(80, 94, 255) 0%,
            rgb(3, 189, 255) 100%
    );
    background-image: -ms-linear-gradient(
            -45deg,
            rgb(80, 94, 255) 0%,
            rgb(3, 189, 255) 100%
    );
}
.secondary span {
    animation: rotation 7s infinite linear;
}
.secondary span::before,
.secondary span::after {
    background-image: -moz-linear-gradient(
            -45deg,
            rgb(178, 65, 255) 0%,
            rgb(254, 134, 255) 100%
    );
    background-image: -webkit-linear-gradient(
            -45deg,
            rgb(178, 65, 255) 0%,
            rgb(254, 134, 255) 100%
          );
    background-image: -ms-linear-gradient(
            -45deg,
            rgb(178, 65, 255) 0%,
            rgb(254, 134, 255) 100%
    );
}
.grid-theme-1 .page-header {
    text-align: center;
}
.grid-theme-2 .page-header {
    text-align: center;
}
.services .services-grid .entry-content {
	flex: 1;
    background-color: #f495f9;
    border-radius: 20em 0em 1em;
    padding: 1.875em;
    border-top: 1px dashed #f495f9;
    border-left: 12px solid #f495f9;
}
.services .services-grid .entry-content .title {
	font-weight: 700;
	line-height: 0.8;
	margin-bottom: 25px;
	font-size: 25px;
}
.services .services-grid .entry-content p {
	margin-bottom: 30px;
}

@-webkit-keyframes rotation {
	from {
		-webkit-transform: rotate(0deg);
	}
	to {
		-webkit-transform: rotate(359deg);
	}
}


/*****  End Grid Styles  *****/

/*****  Placeholders  *****/

input, select, textarea {
	font-family: open_sansregular, sans-serif !important;
}

::-webkit-input-placeholder {
	font-family: open_sansregular, sans-serif !important;
}

:-moz-placeholder {
	font-family: open_sansregular, sans-serif !important;
}

::-moz-placeholder {
	font-family: open_sansregular, sans-serif !important;
}

:-ms-input-placeholder {
	font-family: open_sansregular, sans-serif !important;
}


/* -------------------------
   Start Hover Effect
---------------------------- */
.mc-item,
.mc-item > * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
.mc-item {
	position: relative;
}
.mc-item > .mc-item__image,
.mc-item > .mc-item__caption {
	display: block;
	-webkit-transition: all 0.3s ease-in;
	transition: all 0.75s ease-in;
}
.mc-item > .mc-item__image {
	width: 100%;
	border-radius: 0;
	padding: 0px;
}
.grid-theme-1 .mc-item > .mc-item__image {
	border-radius: 50%;
}

.grid-theme-1 .services-grid a figure:after {
	content: '';
	position:absolute;
	top: 0;
	left: 0;
	right:0;
	bottom:0;
    width: 100%;
    height: 100%;
    border: 10px solid #f495f9;
    border-right-color: #1e0a46;
    border-bottom-color: #1e0a46;
    border-radius: 50%;
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}
.grid-theme-1 .services-grid a:hover figure:after {
	-webkit-transform: rotate(600deg);
	-moz-transform: rotate(600deg);
	-ms-transform: rotate(600deg);
	-o-transform: rotate(600deg);
	transform: rotate(600deg);
}
.mc-item .mc-item__caption {
	background-color: #f495f9;
}
.mc-item .mc-item__caption h4 {
	color: #FFF;
	font-size: 1.1em;
	margin-bottom: 0em;
    padding: 0.35em 0.35em 0;
}
.mc-item .mc-item__caption p {
	color: #FFF;
	font-size: 1em;
	margin-top: 50px;
}
.mc-item.mc-item--slideInUp-zoomIn, 
.mc-item.mc-item--slideInUpBig-zoomIn, 
.mc-item.mc-item--slideInDown-zoomIn, 
.mc-item.mc-item--slideInDownBig-zoomIn,
.mc-item.mc-item--slideInUpDownBig-zoomIn {
	overflow: hidden;
}
.mc-item.mc-item--slideInUp-zoomIn > .mc-item__image, 
.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__image, 
.mc-item.mc-item--slideInDown-zoomIn > .mc-item__image, 
.mc-item.mc-item--slideInDownBig-zoomIn > .mc-item__image,
.mc-item.mc-item--slideInUpDownBig-zoomIn > .mc-item__image {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.mc-item.mc-item--slideInUp-zoomIn > .mc-item__caption, 
.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__caption, 
.mc-item.mc-item--slideInDown-zoomIn > .mc-item__caption, 
.mc-item.mc-item--slideInDownBig-zoomIn > .mc-item__caption,
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn > .mc-item__caption.mc-top,
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn > .mc-item__caption.mc-bottom {
	position: absolute;
	left: 0;
	width: 100%;
	top:0;
}
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn > .mc-item__caption.mc-bottom {
	top:unset;
	bottom:0;
}
.mc-item.mc-item--slideInUp-zoomIn:hover > .mc-item__image, 
.mc-item.mc-item--slideInUp-zoomIn.touch > .mc-item__image, 
.mc-item.mc-item--slideInUpBig-zoomIn:hover > .mc-item__image, 
.mc-item.mc-item--slideInUpBig-zoomIn.touch > .mc-item__image, 
.mc-item.mc-item--slideInDown-zoomIn:hover > .mc-item__image, 
.mc-item.mc-item--slideInDown-zoomIn.touch > .mc-item__image, 
.mc-item.mc-item--slideInDownBig-zoomIn:hover > .mc-item__image, 
.mc-item.mc-item--slideInDownBig-zoomIn.touch > .mc-item__image,
.mc-item.mc-item--slideInUpDownBig-zoomIn:hover > .mc-item__image, 
.mc-item.mc-item--slideInUpDownBig-zoomIn.touch > .mc-item__image {
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
}
.mc-item.mc-item--slideInUp-zoomIn:hover > .mc-item__caption, 
.mc-item.mc-item--slideInUp-zoomIn.touch > .mc-item__caption, 
.mc-item.mc-item--slideInUpBig-zoomIn:hover > .mc-item__caption, 
.mc-item.mc-item--slideInUpBig-zoomIn.touch > .mc-item__caption, 
.mc-item.mc-item--slideInDown-zoomIn:hover > .mc-item__caption, 
.mc-item.mc-item--slideInDown-zoomIn.touch > .mc-item__caption, 
.mc-item.mc-item--slideInDownBig-zoomIn:hover > .mc-item__caption, 
.mc-item.mc-item--slideInDownBig-zoomIn.touch > .mc-item__caption,
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn:hover > .mc-item__caption.mc-top, 
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn.touch > .mc-item__caption.mc-top,
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn:hover > .mc-item__caption.mc-bottom, 
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn.touch > .mc-item__caption.mc-bottom {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__caption, 
.mc-item.mc-item--slideInDownBig-zoomIn > .mc-item__caption {
	height: 100%;
}
.mc-item.mc-item--slideInUpDownBig-zoomIn > .mc-item__caption {
	height: 50%;
	display: grid;
    grid-template-columns: 1fr;
    align-items: end;
}
.mc-item.mc-item--slideInUp-zoomIn > .mc-item__caption, 
.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__caption {
	bottom: 0;
	-webkit-transform: translateY(11.5em);
	transform: translateY(12em);
}
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn > .mc-item__caption.mc-bottom {
	bottom: 0;
	-webkit-transform: translateY(7.5em);
	transform: translateY(8em);
    align-items: start;
}
.mc-item.mc-item--slideInDown-zoomIn > .mc-item__caption, 
.mc-item.mc-item--slideInDownBig-zoomIn > .mc-item__caption, 
.grid-theme-1 .mc-item.mc-item--slideInUpDownBig-zoomIn > .mc-item__caption.mc-top {
	top: 0;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

@media (min-width: 30em) {

	.mc-item.mc-item--slideInUp-zoomIn, 
	.mc-item.mc-item--slideInUpBig-zoomIn, 
	.mc-item.mc-item--slideInDown-zoomIn, 
	.mc-item.mc-item--slideInDownBig-zoomIn {
		overflow: hidden;
	}
	.mc-item.mc-item--slideInUp-zoomIn > .mc-item__image, 
	.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__image, 
	.mc-item.mc-item--slideInDown-zoomIn > .mc-item__image, 
	.mc-item.mc-item--slideInDownBig-zoomIn > .mc-item__image {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	.mc-item.mc-item--slideInUp-zoomIn > .mc-item__caption, 
	.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__caption, 
	.mc-item.mc-item--slideInDown-zoomIn > .mc-item__caption, 
	.mc-item.mc-item--slideInDownBig-zoomIn > .mc-item__caption {
		position: absolute;
		left: 0;
		width: 100%;
	}
	.mc-item.mc-item--slideInUp-zoomIn:hover > .mc-item__image, 
	.mc-item.mc-item--slideInUp-zoomIn.touch > .mc-item__image, 
	.mc-item.mc-item--slideInUpBig-zoomIn:hover > .mc-item__image, 
	.mc-item.mc-item--slideInUpBig-zoomIn.touch > .mc-item__image, 
	.mc-item.mc-item--slideInDown-zoomIn:hover > .mc-item__image, 
	.mc-item.mc-item--slideInDown-zoomIn.touch > .mc-item__image, 
	.mc-item.mc-item--slideInDownBig-zoomIn:hover > .mc-item__image, 
	.mc-item.mc-item--slideInDownBig-zoomIn.touch > .mc-item__image {
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
	.mc-item.mc-item--slideInUp-zoomIn:hover > .mc-item__caption, 
	.mc-item.mc-item--slideInUp-zoomIn.touch > .mc-item__caption, 
	.mc-item.mc-item--slideInUpBig-zoomIn:hover > .mc-item__caption, 
	.mc-item.mc-item--slideInUpBig-zoomIn.touch > .mc-item__caption, 
	.mc-item.mc-item--slideInDown-zoomIn:hover > .mc-item__caption, 
	.mc-item.mc-item--slideInDown-zoomIn.touch > .mc-item__caption, 
	.mc-item.mc-item--slideInDownBig-zoomIn:hover > .mc-item__caption, 
	.mc-item.mc-item--slideInDownBig-zoomIn.touch > .mc-item__caption {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__caption, 
	.mc-item.mc-item--slideInDownBig-zoomIn > .mc-item__caption {
		height: 100%;
	}
}

@media (min-width: 75em)/* 1200px */ {
	.mc-item.mc-item--slideInUp-zoomIn > .mc-item__caption, 
	.mc-item.mc-item--slideInUpBig-zoomIn > .mc-item__caption {
		transform: translateY(12.3em);
	}
}
/* -------------------------
   End Hover Effect
---------------------------- */

.wp-block-image figure {
    margin: 0 0 1.25em;
}

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

@media (min-width: 40em /*640px*/) {

	li, div, p {
		font-size: 1.025em;
	}
	.logo .site-description {
		font-size: 1.1em;
	}
	header .header .logo {
		grid-template-columns: 74px 180px;
	}
	header .header .logo img {
		max-width: 2.3em;
	}
	/*.banner-content a.button {
		margin: 0 1.4em 0 0;
	}*/
	.section__hero-content {
		max-width: 32.5em;
		margin: 6.35em auto;
	}
	.mag-grid img.haverlogo {
		max-width: 300px;
		float: right;
		padding: 0 0 20px 20px;
	}
	header .nav-link--home a {
		flex: 1 0 150px;
	}
	.map-container iframe {
		height:250px;
	}
	.contact-section #block-21,
	.contact-section #block-23,
	.contact-section .social {
		width: 46%;
		float: left;
	}
	.content-container .banner-container .banner-content h1 {
		font-size: 2.4em;
	}
	.content-container .banner-container .banner-content h4 {
		font-size: 1.125em;
	}
	.content-container .banner-container .banner-content h4 .button {
		font-size: 0.7em;
	}
	.content-container .banner-container .frontpage.banner-content {
		padding: 10% 2em;
	}
	.content-container .banner-container.no-image .frontpage.banner-content {
		padding: 4em 2em;
	}
	.content-container .banner .banner-content, 
	.content-container .banner-container .banner-content {
		width: 100%;
	}
	.banner-container .bg-banner-image {
		background-attachment: fixed;
		background-size: cover;
	}
	.content-container.sidebar .blog .inner-content {
		grid-template-columns: repeat(2, minmax(120px,320px));
	}

	aside form.wp-block-search {
		max-width: 60vw;
	}
}

@media (min-width: 53.75em /*860px*/) {

	.contact-section {
		display:grid;
		grid-template-columns: minmax(auto, 70%);
        gap: 1em;
        justify-content: center;
	}
	.contact-section #block-21, 
	.contact-section #block-23,
	.contact-section .social {
		width: 100%;
		float: unset;
	}
	.footer-grid .footer1 #menu-footer-menu {
		gap: 2em;
	}
	aside form.wp-block-search {
		max-width: 50vw;
	}

}
@media (min-width: 60em /*960px*/) {
	.content-container .banner-container {
		grid-template-columns: repeat(2,1fr);
	}
	.content-container .banner-container.no-image {
		grid-template-columns: 1fr;
	}
	.banner-container .fg-banner-image {
		order:2;
	}
	header .header.header--fixed .logo img {
		max-width: 2em;
	}
	.header--fixed nav.nav-bar.top-nav .sub-menu {
		top: 2.2em;
	}
	.header--fixed nav.nav-bar.top-nav .main-nav li {
		padding: 0.25em 0;
	}
	nav.nav-bar.top-nav .sub-menu {
		background-color:#1e0a46;
		border-top: 2px solid #1e0a46;
		max-width: 224px;
	}
	nav.nav-bar.top-nav .sub-menu a,
	.header--fixed .sub-menu a.nav-link	{
		color:#FFF;
	}
	nav.nav-bar.top-nav .main-nav .sub-menu li {
		padding: 0.75em 0;
		margin: 0 1.25em;
	}
	nav.nav-bar.top-nav .sub-menu::before {
		border-left: 0.625em solid transparent;
		border-right: 0.625em solid transparent;
		border-bottom: 0.625em solid #1e0a46;
	}
	nav.nav-bar.top-nav .main-nav > li > .nav-link:hover::before {
		/*border-bottom: 0.25em solid #f495f9;*/
		width: 0em;
		transition: all 1s ease;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		border: 4px solid #f495f9;
		border-bottom: 0;
	}
	nav.nav-bar.top-nav .main-nav > li > .nav-link.nav-link--active::before {
		border-top: 0.25em solid #f495f9;
		width: 2em;
		transition: all 1s ease;
	}
	nav.nav-bar.top-nav .main-nav > li > .nav-link:hover::before {
		width: 2.5em;
	}

/*	nav.nav-bar.top-nav .main-nav > li > .nav-link:hover::after {
		width: 2em;
		transition: all 1s ease;
		border-bottom-left-radius: 75px;
		border-bottom-right-radius: 75px;
		border: 17px solid #f495f9;
		border-top: 0;
	}
	nav.nav-bar.top-nav .main-nav > li > .nav-link.nav-link--active::after {
		border-bottom: 0.25em solid #f495f9;
		width: 2em;
		transition: all 1s ease;
	}
	nav.nav-bar.top-nav .main-nav > li > .nav-link:hover::after {
		width: 2em;
	}*/
	.mag-grid img.haverlogo {
		max-width: 420px;
		float: right;
		padding: 0 0 20px 30px;
	}	
	header .nav-link--home a {
		flex: 0 0 13em;
	}
	nav.nav-bar.top-nav .main-nav li {
		padding: 1.15em 0;
		margin: 0 1.25em 0 0;
	}
	header .header .logo {
		grid-template-columns: 90px 2.8fr;
	}
	header .header .logo img {
		max-width: 2.6em;
	}
	.logo .site-description {
		font-size: 1.125em;
	}
	.account-dashboard .publication-table .publication-table-subhead {
		display:grid;
		grid-template-columns: repeat(3,1fr);
		grid-row-gap: 0.5em;
		grid-template-rows: auto;
		align-items: flex-start;
		border: 1px solid #aaa;
		text-align:center;
		background: #FFE030;
		padding: 3px 0;
		grid-column-gap: 1em;
	}
	.account-dashboard {
		grid-gap: 2em;
	}
	.inner-content.account-dashboard h1 {
		font-size: 1.8em;
	}
	.account-dashboard .mag-grid {
		grid-column: span 8;
	}
	.account-dashboard .account-details  {
		grid-column: span 4;
	}
	.account-dashboard .publication-table .publication-item	{
		grid-template-columns: repeat(3,1fr);
		grid-column-gap: 1em;
		grid-row-gap: 0;
	}	
	.account-dashboard .publication-table .publication-item div:nth-of-type(1) {
		background: none;
		padding: 0 10px;
	}
	.account-dashboard .publication-table-head h4,
	.account-dashboard .publication-item h4 {
		font-size: 1.2em;
		grid-column: 1/4;
	}
	.account-dashboard .publication-item {
		grid-template-columns: repeat(3,1fr);
	}
	.map-container iframe {
		height:350px;
	}
	.content-container.sidebar {
		grid-template-columns: minmax(2em,2em) repeat(12,minmax(2em, 8em)) minmax(2em,2em);
	}
	.content-container.sidebar .main.blog,
	.content-container.sidebar.single-post .main	{
		margin: 3em 1em 3em 0;
		grid-template-columns: auto minmax(auto, 71.5em) auto;
		grid-column: 2 / 11;
	}
	.content-container.sidebar aside#secondary {
		margin-top: 3em;
		margin-bottom: 3em;
		grid-column: 11 / 14;
	}

	.content-container .banner-container .banner-content h1 {
		font-size: 2.6em;
	}
	.content-container .banner-container .banner-content h1 span {
		font-size: 4rem;
	}
	.content-container .banner-container .banner-content h4 {
		font-size: 1.5em;
        margin-bottom: 0;
	}
	.content-container .banner-container .banner-content h4 .button {
		font-size: 0.8em;
	}
    footer .footer-grid {
        grid-template-columns: 3em repeat(3, minmax(auto, 1fr)) 3em;
    }
	.footer-grid .footer1,
	.footer-grid .footer2,
	.footer-grid .footer3 {
		grid-column: 2 / 5;
	}
	aside#secondary .wp-block-search__inside-wrapper .wp-block-search__button {
		margin-left: 0px;
		margin-top: 5px;
	}
	aside#secondary .wp-block-search__input {
		width: 100%;
	}

}
@media (min-width: 64em /*1024px*/) {
	nav.nav-bar.top-nav .main-nav li {
		padding: 1.2em 0;
		margin: 0 1.75em 0 0;
	}
/*	.content-container .banner-container .frontpage.banner-content {
		height: 90vh;
	}*/
	.content-container .banner .banner-content, 
	.content-container .banner-container .banner-content {

	}
	.content-container.sidebar .blog .inner-content {
		grid-template-columns: repeat(2, minmax(100px,340px));
	}
	header .header .logo {
		grid-template-columns: 102px 3fr;
	}
	header .header .logo img {
		max-width: 3em;
	}
	.logo .site-description {
		font-size: 1.22em;
	}
}
@media (min-width: 72em /*1140px*/) {
	.content-container.sidebar {
		grid-template-columns: minmax(2em,0em) repeat(12,minmax(2em, 8em)) minmax(2em,0em);
	}
	.content-container.sidebar .main.blog,
	.content-container.sidebar.single-post .main	{
		margin: 3em 2em 3em 0;
		grid-column: 2 / 11;
	}
}
@media (min-width: 75em /*1200px*/) {
	nav.nav-bar.top-nav .main-nav li {
		padding: 1.25em 0;
		margin: 0 2.5em 0 0;
	}
	nav.nav-bar.top-nav .sub-menu {
		max-width: 240px;
	}
	.section__hero-content {
		margin: 10em auto;
	}
	.services .grid-theme-1 .services-grid .type-services {
		flex: 0 16.1em;
	}
	.services .grid-theme-2 .services-grid .type-services {
		flex: 0 16.1em;
	}
	.content-container.sidebar .blog .inner-content {
		grid-template-columns: repeat(3, minmax(100px,340px));
	}	
}
@media (min-width: 90em /*1440px*/) {
	.content-container.sidebar {
		grid-template-columns: minmax(2em,2em) repeat(12,minmax(2em, 8em)) minmax(2em,2em);
	}
}
@media (min-width: 100em /*1440px*/) {
	.content-container.sidebar {
		grid-template-columns: minmax(2em,auto) repeat(12,minmax(2em, 8em)) minmax(2em,auto);
	}
}

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

/***** Start CART  *****/
button.close {
	margin-top: 30px;
	margin-right: 40px;
	background-color: #2B17FF!important;
}
.cart {
	margin-left: 2em;
}
.plus-item.btn.btn-primary.input-group-addon {
	display: none;
}
.minus-item.input-group-addon.btn.btn-primary {
	display: none;
}
.delete-item.btn.btn-danger {
	display: none;
}
.show-cart.table {
	border-top: 2px solid #EFEFEF;
	border-bottom: 2px solid #EFEFEF;
}
/***** END CART  *****/

/***** START MAG MODAL *****/

.modal-footer {
	padding-top:60px;
}
.modal-content {
    margin-right: 4em;
    margin-left: 4em;
}
.modal-header {
	margin-bottom:2em;
}
.close-modal {
	background: #FFE030;
	color: #1e0a46;
	line-height: 1;
	position: absolute;
	right: -0.75em;
	text-align: center;
	top: -0.625em;
	width: 2em;
	text-decoration: none;
	font-weight: bold;
	-webkit-border-radius: 1.25em;
	-moz-border-radius: 1.25em;
	border-radius: 1.25em;
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}
.close {
	background: #f495f9;
}
.close:hover {
	background: #1e0a46;
}

@media only screen and (min-width: 40em) {
	.modal-overlay {
		display: -webkit-box;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-webkit-box-pack: center;
		justify-content: center;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 5;
		background-color: rgba(0, 0, 0, 0.6);
		opacity: 0;
		visibility: hidden;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1);
		transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	}
	.modal-overlay.active {
		opacity: 1;
		visibility: visible;
	}
}

.modal {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	position: relative;
	margin: 0 auto;
	background-color: #fff;
	max-width: 75rem;
	min-height: 20rem;
	margin: 0 2rem;
	padding: 1rem;
	border-radius: 3px;
	opacity: 0;
	overflow-y: auto;
	visibility: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
	-webkit-transition: all 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	transition: all 0.6s cubic-bezier(0.55, 0, 0.1, 1);
}
.modal .close-modal {
	position: absolute;
	cursor: pointer;
	top: 5px;
	right: 15px;
	opacity: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), transform 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), transform 0.6s cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
.modal .close-modal svg {
	width: 1.75em;
	height: 1.75em;
}
.modal .modal-content {
	opacity: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1);
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
.modal.active {
	visibility: visible;
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.modal.active .modal-content {
	opacity: 1;
}
.modal.active .close-modal {
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	opacity: 1;
}
.modalTrigger {
	cursor: pointer;
}

@media only screen and (max-width: 39.9375em) {
	.modal {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		-webkit-overflow-scrolling: touch;
		border-radius: 0;
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		padding: 0 !important;
	}

	.close-modal {
		right: 20px !important;

	}
}

/***** END MAG MODAL *****/

/***** START MAG CHECKOUT *****/
.checkout-body {
	padding: 2em;
	border: solid 1px;
	background-color: #EFEFEF;
}
.total {
	padding-top: 2em;
	text-align: right;
	font-weight: bold;
	font-size: 1.2rem;
}
.checkout-body .show-cart.table {
	border-top: 2px solid #1e0a46;
	border-bottom: 2px solid #1e0a46;
	padding:10px 0px 10px 0px;
}
.checkout-body .item-count.form-control {
	max-width: 3em;
	min-height: 1em;
	padding: 1em;
}
.checkout-footer .clear-cart.button.button--border--solid {
	float: right;
	margin-top:0.5em;
}
.checkout-wrap {
	padding-top: 3em;
}
.checkout-body .show-cart.table {
	width: 100%;
}
.formulate-wrapper.checkout-wrap {
	border: solid 1px;
	margin-top: 1em;
	padding: 2em;
	background-color:#EFEFEF;
}
.checkout-wrap .formulate__field__label {
	padding-right: 2em;
}
.checkout-body-page .item-count.form-control {
    /*display: none;*/
}

.checkout-wrap .formulate__field__label {
    grid-area: left;
    grid-column: 1 / 3;
}




/******************************************/
/****        Start Portfolio           ****/
/******************************************/

.project-description,
.service-description {
	width:88%;
	max-width:1152px;
	margin: 0 auto;
}
.portfolio-grid {
	display: grid;
	grid-gap: 1em;
	grid-template-columns: minmax(auto,360px);
	grid-auto-flow: dense;
}
.portfolio-grid {
	background: #FFF;
	position: relative;
}
.portfolio-grid p {
	left: 50%;
	margin: 0px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}
.portfolio-grid-item {
	grid-column: span 1;  
	grid-row: span 1
}
.portfolio-grid-item img {
	-o-object-fit: cover;
    object-fit: cover;
    width: 100% !important;
    height: 100% !important;
    display: block;
}
.single-project-portfolio .content-sidebar-wrap,
.single-service .content-sidebar-wrap {
	width:100%;
	max-width:100%;
}
.single-project-portfolio.single .content,
.single-service.single .content {
	padding:6rem 0;
	margin:3rem auto 0;
}
.wp-block-image .alignright {
	float: none;
	margin: 1em auto 2em;
}

@media only screen and (min-width: 640px) {
	.portfolio-grid {
		grid-auto-rows: 1fr;
		grid-template-columns: repeat(2, calc(50vw - 22px));
		grid-auto-rows: calc(50vw - 15px);
	}
	.portfolio-grid.ywblightbox.grid-of-2,
	.portfolio-grid.ywblightbox.grid-of-3,
	.portfolio-grid.ywblightbox.grid-of-4 {
		grid-template-columns: minmax(auto,360px);
		grid-auto-rows: unset;
	}
	/*.portfolio-grid-item:nth-child(7n+1),*//* (7*0)+1=1,(7*1)+1=8,(7*2)+1=15,(7*3)+1=22,(7*4)+1=29,(7*5)+1=36,(7*6)+1=43 */
	.portfolio-grid-item:nth-child(10n+1), /* 1, 11, 21, 31, 41, etc */
	.portfolio-grid-item:nth-child(10n+8) /* 8, 18, 28, 38, 48, etc */ {
		/* 2 cols 2 rows */
		grid-column: auto / span 2;  
		grid-row: auto / span 2
	}
	.portfolio-grid-item:nth-child(10n+4), /* 4, 14, 24, 34, 44, etc */ 
	.portfolio-grid-item:nth-child(10n+6)  /* 6, 16, 26, 36, 46, etc */ {
		grid-row: auto / span 2; /* 1 col 2 rows */
	}
	.portfolio-grid-item:nth-child(10n+5), /* 5, 15, 25, 35, 45, etc */ 
	.portfolio-grid-item:nth-child(10n+7) /* 7, 17, 27, 37, 47, etc */ {
		grid-column: auto / span 2; /* 2 cols 1 row */
	}
	/*.portfolio-grid-item:nth-child(7n+1),*//* (7*0)+1=1,(7*1)+1=8,(7*2)+1=15,(7*3)+1=22,(7*4)+1=29,(7*5)+1=36,(7*6)+1=43 */
	.grid-of-2.ywblightbox .portfolio-grid-item:nth-child(10n+1), /* 1, 11, 21, 31, 41, etc */
	.grid-of-2.ywblightbox .portfolio-grid-item:nth-child(10n+8), /* 8, 18, 28, 38, 48, etc */
	.grid-of-3.ywblightbox .portfolio-grid-item:nth-child(10n+1), /* 1, 11, 21, 31, 41, etc */
	.grid-of-3.ywblightbox .portfolio-grid-item:nth-child(10n+8), /* 8, 18, 28, 38, 48, etc */ 
	.grid-of-4.ywblightbox .portfolio-grid-item:nth-child(10n+1), /* 1, 11, 21, 31, 41, etc */
	.grid-of-4.ywblightbox .portfolio-grid-item:nth-child(10n+8) /* 8, 18, 28, 38, 48, etc */ {
		/* 2 cols 2 rows */
		grid-column: unset;  
		grid-row: unset;
	}
	.grid-of-2.ywblightbox .portfolio-grid-item:nth-child(10n+4), /* 1, 11, 21, 31, 41, etc */
	.grid-of-2.ywblightbox .portfolio-grid-item:nth-child(10n+6), /* 8, 18, 28, 38, 48, etc */
	.grid-of-3.ywblightbox .portfolio-grid-item:nth-child(10n+4), /* 1, 11, 21, 31, 41, etc */
	.grid-of-3.ywblightbox .portfolio-grid-item:nth-child(10n+6), /* 8, 18, 28, 38, 48, etc */ 
	.grid-of-4.ywblightbox .portfolio-grid-item:nth-child(10n+4), /* 1, 11, 21, 31, 41, etc */
	.grid-of-4.ywblightbox .portfolio-grid-item:nth-child(10n+6) /* 8, 18, 28, 38, 48, etc */ {
		grid-row: unset; /* 1 col 2 rows */
	}
	.grid-of-2.ywblightbox .portfolio-grid-item:nth-child(10n+5), /* 1, 11, 21, 31, 41, etc */
	.grid-of-2.ywblightbox .portfolio-grid-item:nth-child(10n+7), /* 8, 18, 28, 38, 48, etc */
	.grid-of-3.ywblightbox .portfolio-grid-item:nth-child(10n+5), /* 1, 11, 21, 31, 41, etc */
	.grid-of-3.ywblightbox .portfolio-grid-item:nth-child(10n+7), /* 8, 18, 28, 38, 48, etc */ 
	.grid-of-4.ywblightbox .portfolio-grid-item:nth-child(10n+5), /* 1, 11, 21, 31, 41, etc */
	.grid-of-4.ywblightbox .portfolio-grid-item:nth-child(10n+7) /* 8, 18, 28, 38, 48, etc */ {
		grid-column: unset; /* 2 cols 1 row */
	}	
}
@media only screen and (min-width: 767px) {
	.portfolio-grid.ywblightbox.grid-of-2,
	.portfolio-grid.ywblightbox.grid-of-3,
	.portfolio-grid.ywblightbox.grid-of-4 {
		grid-template-columns: repeat(2, minmax(auto,360px));
	}
}
@media only screen and (min-width: 860px) {
	.portfolio-grid {
		grid-template-columns: repeat(4, calc(25vw - 16px));
		grid-auto-rows: calc(25vw - 15px);
	}
	.wp-block-image .alignright {
		float: right;
		margin: 0 0 1.275em 1.275em;
	}
}
@media only screen and (min-width: 1024px) {
	.portfolio-grid {
		grid-template-columns: repeat(5, calc(20vw - 15px));
		grid-auto-rows: calc(20vw - 15px);
	}	
	.portfolio-grid.ywblightbox.grid-of-2 {
		grid-template-columns: repeat(2, minmax(auto,360px));
	}
	.portfolio-grid.ywblightbox.grid-of-3 {
		grid-template-columns: repeat(3, minmax(auto,360px));
	}
	.portfolio-grid.ywblightbox.grid-of-4 {
		grid-template-columns: repeat(4, minmax(auto,360px));
	}
}

/******************************************/
/****          End Portfolio           ****/
/******************************************/

/******************************************/
/****         Start Projects           ****/
/******************************************/

.projects-container {
    display: grid;
    grid-gap: 1em;
    grid-template-columns: minmax(260px,1fr);
    justify-content: center;
    align-items: flex-start;
}
.entry-content h4.project-title {
	font-size: 1.1em;
}
.entry-content h4.project-title:before {
	padding-right: 10px;
}
.entry-content h4.project-title:after {
	padding-left: 10px;
}
.entry-content .project-item h5 {
	font-size: 1em;
	margin: 0;
    padding: 10px 20px 0;
}
.project-item .project-extract {
    padding: 10px 20px;
}
.entry-content .project-extract p {
    color: inherit;
	margin:0;
}
.project-item .project-link {
	display: grid;
    justify-content: center;
    grid-gap: 1em;
    grid-template-rows: 1fr 0.1em;
}
.project-item .project-link a {
	background: #FFF;
    color: #1F384F;
}
.project-item .project-link a:hover, 
.project-item .project-link a:focus {
    background: #E4F3FA;
    color: #1F384F!important;
    box-shadow: 0 0.5rem 2rem -0.5rem #e4f3fa !important;
}
.project-item .project-link a span {
    cursor: pointer;
    display: inline-block;
    position: relative;
    transition: 0.5s;
    color: #1F384F;
}

.portfolio-grid.ywblightbox {
}
.grid-of-4 .portfolio-grid-item,
.grid-of-3 .portfolio-grid-item, 
.grid-of-2 .portfolio-grid-item {
}

@media only screen and (min-width: 767px) {
	.grid-of-4 .portfolio-grid-item {
	}
	.grid-of-3 .portfolio-grid-item {
	}
	.grid-of-2 .portfolio-grid-item {
	}
}
@media only screen and (min-width: 960px) {
	.projects-container {
		/*grid-template-columns: repeat(2,minmax(260px,1fr));*/
	}
	.grid-of-4 .portfolio-grid-item {
	}
	.grid-of-3 .portfolio-grid-item {
	}
	.grid-of-2 .portfolio-grid-item {
	}
}

/******************************************/
/****          End Projects            ****/
/******************************************/

/******************************************/
/****        Start Lightbox            ****/
/******************************************/

.ywblightbox-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-items: center;
	grid-gap: 2em;
    margin-top: 2em;
	position:relative;
	z-index:2;
}
/*.ywblightbox {
	flex: 0 1 276px;
}*/
.ywblightbox_full {
	z-index: 990;
	position: fixed;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.8);
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	cursor: default;
	transition: opacity 1s ease;
}
.ywblightbox_full img {
	position: fixed;
	z-index: 994;
	background-color: #fff;
	margin: 0;
	padding: 0;
	max-height: 90%;
	max-width: 90%;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 20px #000;
}
.portfolio-grid .ywblightbox_full p {
    left: 50%;
    margin: 0px;
    position: absolute;
	top: unset;
    bottom: 5%;
    transform: translate(-50%, -50%);
    color: #fff;
	z-index:999;
}
.ywblightbox .ywblightbox_close,
.ywblightbox .ywblightbox_prev,
.ywblightbox .ywblightbox_next {
	z-index: 999;
	position: fixed;
	text-decoration: none;
	visibility: hidden;
	color: #fff;
	transition: all 1s ease-in-out;
}
.ywblightbox .ywblightbox_close:hover,
.ywblightbox .ywblightbox_prev:hover,
.ywblightbox .ywblightbox_next:hover {
	color: #2db2c9;
}
.ywblightbox .ywblightbox_close {
	font-size: 30px;
	top: 3em;
	right: 0.8em;
}
.ywblightbox .ywblightbox_prev,
.ywblightbox .ywblightbox_next {
	font-size: 36px;
	top: 50%;
	transform: translate(0%, -50%);
}
.ywblightbox .ywblightbox_prev {
	left: 0.2em;
}
.ywblightbox .ywblightbox_next {
	right: 0.2em;
}
/*.ywblightbox .ywblightbox_close::after {
	content: '\00d7'; //invoke this if not using Font Awesome
	//if not using FA, also remove i tags and replace &lt; and &gt; in the html and remove i tag from close button 
}*/
.ywblightbox a:target ~ a.ywblightbox_close, /* selects every a.ywblightbox_close element that is preceded by a a:target element */
.ywblightbox a:target ~ a.ywblightbox_prev,
.ywblightbox a:target ~ a.ywblightbox_next {
	visibility: visible;
}
.ywblightbox a:target img.ywblightbox_thumb + span.ywblightbox_full { 
/* Selects the first span.ywblightbox_full element that is placed immediately after a:target img.ywblightbox_thumb elements */
	visibility: visible;
	opacity: 1;
	pointer-events: initial;
}
.entry-content .ywblightbox a, .entry-content .ywblightbox a:hover,
.ywblightbox a, .ywblightbox a:hover {
	border:none;
}
.ywblightbox a {
	position:relative;
	display:block;
}
.ywblightbox_thumb~div {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    color: #FFF;
    background: #f495f9;
    padding: 0.5em;
}
@media only screen and (min-width: 960px) {
	.ywblightbox .ywblightbox_close {
		font-size: 36px;
		top: 3em;
		right: 1.2em;
	}
	.ywblightbox .ywblightbox_prev,
	.ywblightbox .ywblightbox_next {
		font-size: 46px;
	}
	.ywblightbox .ywblightbox_prev {
	  left: 0.5em;
	}
	.ywblightbox .ywblightbox_next {
	  right: 0.5em;
	}
}

/******************************************/
/****           End Lightbox           ****/
/******************************************/

/* -------------------------
   PURE CSS Testimonial Carousel
---------------------------- */
.main .testimonials-container {
    margin: 2em 0 3em;
}
.main .testimonials-container .testimonial {
    background: #25408e;
    color: #fff;
    padding: 3em;
	border-radius: 10px;
}
.main .testimonials-container .testimonial i {
    color: #fff;
}
.testimonial a {
    color: #DBF1FD;
}
.testimonial a:hover,
.testimonial a:focus {
    color: #FFF;
}
.testimonial h4,
.testimonial .author-details {
    text-align: center;
}
.testimonial i.fa-quote-left{
	font-size: 3em;
	color: #25408E;
	display: grid;
    justify-items: center;
    margin-bottom: 0.5em;
}
.testimonials-slider {
}
.testimonials-slider>ul {
	display: grid;
	list-style: none;
	padding: 0;
	position: relative;
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	grid-template-columns: 100%;
	grid-template-rows: minmax(min-content, max-content);
}
.testimonials-slider>ul li {
    display: grid;
	grid-template-columns: 1fr;
    width: 100%;
    opacity: 0;
	visibility: hidden;
    margin: 0 auto;
	grid-row: 1/2;
    grid-column: 1/2;
	animation-name: fade; 
    animation-iteration-count: infinite; 
}
.testimonials-slider>ul li:nth-child(1) {
    /*opacity: 1;*/
}
.testimonial-caption {
    display: grid;
    align-content: center;
}
.testimonials-slider .author-details {
    text-align: center;
}
.author-details h6 {
    margin-top: 1em;
    margin-bottom: 1em;
}
.testimonials-slider .author-details div {
    display:block;
	width:100%;
	padding: 0 1em 1em;
}
.testimonials-slider .testimonial-caption h4 {
	text-align: center;
}
.quote-image .fa-solid.fa-quote-left {
    text-align: center;
    font-size: 3em;
    color: #f495f9;
	display: grid;
    justify-items: center;
    margin-bottom: 0.25em;
}
.fa-solid.fa-star {
    color: #f495f9;
}

/* KEYFRAME DECLARATIONS */
@keyframes fade-animation-1 {
    0%, 25%, 100% {
        opacity:0
    }
    3%, 22% {
        opacity: 1;
    }
}
@keyframes fade-animation-2 {
    0%, 25%, 50%, 100% {
        opacity:0
    }
    28%, 47% {
        opacity: 1;
    }
}
@keyframes fade-animation-3 {
    0%, 50%, 75%, 100% {
        opacity:0
    }
    53%, 72% {
        opacity: 1;
    }
}
@keyframes fade-animation-4 {
    0%, 75%, 100% {
        opacity:0
    }
    78%, 97% {
        opacity: 1;
    }
}

@-webkit-keyframes fade-animation-1 {
    0%, 25%, 100% {
        opacity:0
    }
    3%, 22% {
        opacity: 1;
    }
}
@-webkit-keyframes fade-animation-2 {
    0%, 25%, 50%, 100% {
        opacity:0
    }
    28%, 47% {
        opacity: 1;
    }
}
@-webkit-keyframes fade-animation-3 {
    0%, 50%, 75%, 100% {
        opacity:0
    }
    53%, 72% {
        opacity: 1;
    }
}
@-webkit-keyframes fade-animation-4 {
    0%, 75%, 100% {
        opacity:0
    }
    78%, 97% {
        opacity: 1;
    }
}

/* -------------------------
   PURE CSS Testimonial Carousel
---------------------------- */
