/*!
Theme Name: lo-orbit theme
Theme URI:
Author: Curtis Square
Author URI:
Description:
Version: 1.1.1
Requires PHP: 8.0
Requires CP: 2.0
License:
License URI:
Text Domain: lo-orbit-theme


This theme is based on default ClassicPress theme by Tim Kaye and ClassicPress contributors,
which was based on Susty by Jack Lenox https://blog.jacklenox.com

Susty is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Accessibility
# Media
	## Galleries
# Site
	## HEADER Nav
	## Mobile NAV
	## Footer
	## Media Queries
--------------------------------------------------------------*/
/* Reset */
*{
  font-size: 1.5em;
}
body {
  /* font-family: "Space Grotesk", sans-serif; */
  font-family: "Libre Franklin", sans-serif;
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    max-width: 100dvw;
}

body {
    line-height:1.25;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    text-decoration:none;
    color: inherit;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
/* .gallery {
	margin-bottom: 1.5em;
}
.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}
.gallery-columns-2 .gallery-item {
	max-width: 50%;
}
.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
	max-width: 25%;
}
.gallery-columns-5 .gallery-item {
	max-width: 20%;
}
.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}
.gallery-caption {
	display: block;
} */
/*--------------------------------------------------------------
# Site
--------------------------------------------------------------*/
/* RESPONSIVE LETTER SPACING */
/* * {
  letter-spacing: clamp(
    -0.005em,
    calc((1em - 1rem) / -2),
    0em
  );
} */

:root {
    --grid-number: auto;
    --grid-gutter: 0;
    --grid-col: 1;
    --grid-row: 1;
    --grid-order: 0;
    --grid-col-start: auto;
    --grid-row-start: auto;


    --Brand-BLACK:#00262D;
    --Brand-DARK:#055355;

    --Brand-GREY:#F1EFEB;
    --Brand-WHITE:#FFFFFF;

    --Brand-MAIN:#FF7F50;
    --Brand-HILITE:#FFC750;
}
html{
  height:100%;
  width:100%;
}
* {
  font-size: 1.25em;
}
.alignCenter {
  text-align: center;
    margin: 0 auto;
    width: 100%;
    display: inline-grid
;
}
.mainContent > a:hover {
  border: 1px solid var(--Brand-MAIN);
}
.mainContent {
  max-width:90rem;
  margin: 0 auto;
  width:100%;
  display: block;
  position: relative;
}
body {
  background-size: 1em 1em;
  background-image:
    linear-gradient(to right, lightgrey .5px, transparent .5px),
    linear-gradient(to bottom, lightgrey .5px, transparent .5px);
  background-repeat: repeat;
  background-attachment: fixed;
  display: grid;
  grid-gap: 0;
  grid-template-columns: 1fr;
  grid-template-areas: "header" "content" "footer";
  grid-template-rows: 8rem 1fr 6rem;
  width:100%;
  height:100%;
  min-height: 100vh;
  background-color: var(--Brand-GREY);

}
.DIRG{
  margin:0 auto;
  width:100%;
  height:100%;
  margin-left: 0;
  margin-right: 0;
  max-width:90rem;
  background-color: var(--Brand-GREY);
}
.grid-list{
  width: 100%;
  column-width: 25rem;
  gap: 1em;
  padding:1rem;
}
.portfolio-item, .homeList a,  .blogList a{
  width: 100%;
  object-fit: cover;
  overflow: hidden;
  position: relative;
  margin: 1rem 0 0 0;
  /* border: 0.1rem solid transparent; */

}
.homeList a, .blogList a{
  display:block;
  overflow: hidden;
  position: relative;
  /* border: 0.1rem solid transparent; */
  height: 100%;
  width: 100%;
  padding:0;
  margin: -0.01rem;

}
.portfolio-item a:before, .homeList a:before, .blogList a:before {
    position: absolute;
    left: 0;
     top: 0;
    bottom: 0;
    right: 0;
    background: var(--Brand-HILITE);
    z-index: 1000;
    content: '';
    display: block;
    overflow: hidden;
    opacity: 0;
}
.portfolio-item a:hover:before, .homeList a:hover:before, .blogList a:hover:before {
    opacity:0.3;
}

.portfolio-item:first-of-type {
  margin-top:0;
}

.LinkTitle {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  position: relative;
  z-index: -1000;
  padding: 1rem;
  font-size: 1.25rem;
  background-color: white;
  align-items: center;
  display:none;
  max-height:4rem;
}
.Rsidebar >.LinkTitle {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  position: relative;
  z-index: -1000;
  padding: 1rem;
  font-size: 1.25rem;
  background-color: white;
  align-items: center;
  display:none;
  max-height:3.3rem;
}
.LinkTitle:first-child {
  font-size: 2rem;
  color: var(--Brand-HILITE);
  display: flex;
  position: relative;
  left: 0;
  margin: 0 auto;
  font-size: 1rem;
  align-content: space-around;
  justify-content: flex-end;
  flex-wrap: wrap;
  flex-direction: row;
  border: .1rem solid var(--Brand-HILITE);
  padding: .5rem;
}
.FolioTitle {
  left:0;
  display: flex;
  position: relative;
  left: 0;
  color:var(--Brand-BLACK);
}
.FolioCategory {
  color: var(--Brand-HILITE);
  display: flex;
  position: relative;
  margin: 0 auto;
  font-size: 1rem;
  align-content: space-around;
  justify-content: flex-end;
  flex-wrap: wrap;
  flex-direction: row;
  border-top: .1rem solid var(--Brand-HILITE);
  padding: .5rem;
  font-style: italic;
}

.portfolio-item a:hover .LinkTitle, .homeList a:hover .LinkTitle, .blogList a:hover .LinkTitle{
  z-index: 1000;
  bottom:4rem;
  display:flex;
  margin-bottom:-4rem;
}
.Rsidebar .portfolio-item a:hover .LinkTitle{
  z-index: 1000;
  bottom:3.3rem;
  display:flex;
  margin-bottom:-3.3rem;
}

.homeList a:hover .LinkTitle, .blogList a:hover .LinkTitle{
  z-index: 1000;
    /* display: block; */
    font-weight: bold;
    top: 0;
    right: 0;
    position: absolute;
    font-size: 2rem;
    background-color: var(--Brand-HILITE);
}
.col-1 {
  --grid-col: 1;
}
.col-2 {
  --grid-col: 2;
}
.col-3 {
  --grid-col: 3;
}
.col-4 {
  --grid-col: 4;
}
* {
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}
.textbox{
  padding:2rem;
  overflow: hidden;
  /* display: flex;
  justify-content: space-between;
  flex-wrap: wrap; */
  position: relative;
}
h1 {
  font-size: 3.5vw;
  line-height: 3.5vw;
  padding-bottom:1.75vw;
  font-weight: 900;
  text-transform: uppercase;
}
h2 {
  font-size: 1.75vw;
  line-height: 1.75vw;
  padding-bottom:0.87vw;
  font-weight: 500;
  text-transform: uppercase;
}
p {
  font-family: "DM Sans", sans-serif;
  font-size: 1.25rem;
  line-height: 1.5rem;
}
img {
  position:relative;
  display:block;
}
.fill {
    width:100%;
    height:auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.fill img {
    /* flex-shrink: 0; */
    min-width: 100%;
    min-height: 100%;
    height:auto;
}
.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
}

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wp-post-image {
  width:100%;
  height:auto;
}
.light {
  background-color: var(--Brand-GREY);
  color: var(--Brand-BLACK);
  /* border-bottom: 1px solid var(--Brand-BLACK); */
}
.dark {
  color: var(--Brand-WHITE);
  background-color:var(--Brand-DARK);
  /* border-top: 1px solid var(--Brand-WHITE); */
}

#page-content{
  /* padding:1rem; */
}
.mainContent header {
  padding-top:2rem;
}
header h1, h2 {
  padding-bottom: 1.25rem;
}
#page-content > h1:first-child {
  /* padding-top:2rem; */
}
 /* p, h1, h2 {
  padding: 0 2rem 0 2rem;
}  */
.bigButton {
  font-size: 1.25rem;
}
.smallButton {
  font-size: 1rem;
}
.viewAllButton {
  /* width:100%; */
  margin: 0 auto;
  font-style: italic;
  background-color: var(--Brand-DARK);
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  --horizontal-padding: calc(24* .0625rem);
  --vertical-padding: calc(12* .0625rem);
  text-align: center;
  box-sizing: border-box;
  border: none;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transform: translateY(0);
  text-decoration: none;
  padding: 1rem;
  text-transform: uppercase;
  border: 0.1rem solid var(--Brand-HILITE);
  radius:.25rem;
}
.microButton{
  margin: 0.5rem;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  --horizontal-padding: calc(24* .0625rem);
  --vertical-padding: calc(12* .0625rem);
  text-align: center;
  box-sizing: border-box;
  border: none;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transform: translateY(0);
  margin-top: 0;
  text-decoration: none;
  padding: 1rem;
  text-transform: uppercase;
  border: 0.1rem solid var(--Brand-HILITE);
  font-size:0.8rem;
}
.bigButton, .smallButton {
    margin: 2rem
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    --horizontal-padding: calc(24* .0625rem);
    --vertical-padding: calc(12* .0625rem);
    text-align: center;
    box-sizing: border-box;
    border: none;
    text-decoration: none;
    transition: transform .3scubic-bezier(.5,2.5,.7,.7), box-shadow .3scubic-bezier(.5,2.5,.7,.7);
    display: inline-block;
    position: relative;
    transform: translateY(0);
    margin-top: 0;
    text-decoration: none;
    padding: 1rem;
    /* border-top: .25rem solid var(--Brand-BLACK); */
    text-transform: uppercase;
    border: 0.15rem solid var(--Brand-HILITE);
}
.bigButton:hover, .smallButton:hover, .microButton:hover, .viewAllButton:hover{
    background: none;
    -webkit-transform: translateY(calc(-1* var(--animation-depth, .375em)));
    -ms-transform: translateY(calc(-1* var(--animation-depth, .375em)));
    transform: translateY(calc(-1* var(--animation-depth, .375em)));
    /* border-bottom: 0.25rem solid black; */
}
.bigButton:hover:before, .smallButton:hover:before {
    content:"";
    display:block;
    position:absolute;
    left:0;
    bottom:-0.4rem;
    width:100%;
    height:0.25rem;
    background:var(--Brand-DARK);
}
a:visited{
  color:inherit
}
.sidebarThumb{
  position: relative;
  display: block;
  margin: 0 auto;
  text-align:center;
}
.sidebarThumb p {
  padding-top:0.5rem;
}
.Rsidebar {
  display:block;
  position:relative;
padding-bottom:2rem;
}
.Rsidebar .grid-list{
  padding:0 0 1rem 0;
}
.blogListImage {
  overflow: hidden;
  max-height: 25rem;
}
.blogList{
  width:100%;
}
.blogList a:nth-child(even) .blogEntry{
  background-color:var(--Brand-DARK);
  color:var(--Brand-WHITE);
}

.alignRight {
  display: inline-flex;
  justify-content: flex-end;
}

.bottomRight
{
right: 0;
bottom: 0;
position: absolute;
}

.bottomLeft
{
left: 0;
bottom: 0;
position: absolute;
}
/*--------------------------------------------------------------
# HEADER NAV
--------------------------------------------------------------*/
.fullwidth{
  height: auto;
  width: 100%;
  position: relative;
  min-height: 2.5rem;
}
.fullwidth img {
  width: 100%;
  height: auto;
}
.headerBG {
  position: relative;
  background-color: var(--Brand-BLACK);
  height: 8rem;
  display: block;
}
.Navbtn {
  display: block;
  background-color: var(--Brand-DARK);
  color: #fff;
  width: 4rem;
  height: 4rem;
  padding: 1rem;
  cursor: pointer;
  transition: width .3s ease-in-out;
  font-size: 1rem;
  text-align:center;
}
.Navbtn span {
  font-size: 1rem;
}
.fa { font-size: 1rem;}
.topNav {
  display: flex;
  position: sticky;
  top: 0;
  z-index: 2000;
  display:flex;
}
.topNav .menu {
  justify-items: center;
}
.topNav ul {
  display: flex;
  height: 8rem;
}
.topNav li a {
  margin-top: 0;
  text-decoration: none;
  padding: 1rem;
  color: var(--Brand-WHITE);
  text-transform: uppercase;

}
.topNav a > img{
  max-height: 6rem;
  top: 0rem;
  position: relative;
  left: 0;
  display: block;
  align-content: center;
}
.topNav li{
  margin-top: 0;
  display: inline-grid;
}

.topNav .current-menu-item a {
    color: var(--Brand-GREY);
    background-color: var(--Brand-DARK);
    display: inline-block;
}
.topNav .current-menu-item:after{
  content: "↓";
    text-align: center;
    position: relative;
    color: var(--Brand-GREY);
    background-color: var(--Brand-DARK);
}
.topNav .current-menu-item a:hover {
  color: var(--Brand-GREY);
  background-color: var(--Brand-DARK);
}
.topNav ul li a:hover, .topNav  a:hover {
    color: white;
    /* transform:translateY(0.25rem); */
    /* border-top: .25rem solid var(--Brand-MAIN); */
    background-color: var(--Brand-MAIN);
}

.topNav ul li a:hover {
  top:-1rem;
  background-color: var(--Brand-HILITE);
  color:var(--Brand-BLACK);
}
.headerLogo {
  /* display: inline-block;
  float:left; */
  /* background-color:var(--Brand-DARK); */
  padding: 1rem;
}
.headerLogo:hover{
  background-color:var(--Brand-BLACK);!important
}
.menu-main-nav-container {
  /* display:flex; */
}
/*--------------------------------------------------------------
# MOBILE NAV
--------------------------------------------------------------*/
.mobileNav {
  display: block;
  position: relative;
  top:0;
  width:100%;
  height:6rem;
  background-color: var(--Brand-BLACK);
}

.mobileNav #expandSymbol {
  margin: 0 auto;
}
#hamburger{
  position: relative;
  top: 0;
  display: block;
}

#hamburger span {
  display: block;
  height: .15rem;
  margin-bottom: .25rem;
  position: relative;
  background: white;
  border-radius: .5rem;
  z-index: 1;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#checkbox { /* Hide the checkbox input & word "Menu" in the button */
    display: none;
}
.sidebar {
    background-color: var(--Brand-WHITE);
    position: fixed;
    width: 45%;
    min-width:9rem;
    height: 100%;
    z-index: 3000;
    transition: transform .3s ease-in-out;
    transform: translateX(-100%);
}
.sidebar ul {
    list-style-type: none;
    padding:0;
}
.sidebar ul a, .sidebar a  {
  position: relative;
  text-decoration: none;
  display: inline-block;
  background-color: var(--Brand-WHITE);
  color: var(--Brand-BLACK);
  padding: 0.5rem;
  font-size: 1rem;
  line-height: 2rem;
  width: 100%;
  text-align: right;
  text-transform: uppercase;
}
.sidebar ul a:after {
  content: '';
  position: absolute;
  right: 0px;
  top: 0px;
  width: 50%;
}
.sidebar ul a li i {
    margin-right: 1rem;
}
.sidebar .current_page_item {
    background-color: var(--Brand-MAIN);
    color: white;
    border-right: .25rem solid var(--Brand-HILITE);
}
.sidebar ul a:hover {
    background-color: var(--Brand-HILITE);
    color: white;
}
.sidebar a > img{
  width: 100%;
  padding: .5rem;
}
/* Effect of showing the sidebar - starts */
#checkbox:checked ~ .sidebar {
    transform: translateX(0);
}

#checkbox:checked + .btn {
    /* width: 250px;
    padding: 0 20px; */
}
#checkbox:checked + .Navbtn span  { /* Show again the word "Menu" in the button */
    display: inline;
}
/* Effect of showing the sidebar - ends */
/* make navbar fill screen behind as black overlay to be clicked to get out of menu */
#checkbox:checked ~ .Navbtn {
    width: 100%;
    height: 100%;
    opacity:0.5;
    position: fixed;
    z-index: 3000;
}
#checkbox:checked ~ .Navbtn:after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1000;
  background: rgba(0,0,0,0); /* or semi-transparent */
}
/*--------------------------------------------------------------
# FOOTER
--------------------------------------------------------------*/
.bottomSpace {
  height:6rem;
  width:100%;
  margin: 0 auto;
}
footer {
  text-align: center;
  padding-top: 1rem;
  text-decoration: none;
  font-size:0.7rem;

}
footer a {
  text-decoration: none;
  color: var(--Brand-GREY);
  padding: 1rem;
}
/*--------------------------------------------------------------
# MEDIA QUERIES
--------------------------------------------------------------*/
@media (max-width: 640px) {
  body{
      grid-template-rows: 4rem 1fr 6rem;
  }

  h1 {
     font-size: 2rem!important;
     line-height: 2rem!important;
     padding-bottom:1rem!important;
  }
  h2 {
    font-size: 1.25rem!important;
    line-height: 1.25rem!important;
    padding-bottom:0.75rem!important;
  }
  .textbox{
    padding:2.5rem!important;
  }
  .topNav, .headerBG {
    display: none;
  }
  .sidebarThumb{
    display: block;
    margin: 2rem;
  }
  .mainContent {
    margin-top:0;
  }
  .headerLogoSmall {
    display:block;
    position:absolute;
    left:0;
  }
  .menu-main-nav-container {
    left:0;
  }
  .headerLogo {
    margin-left: 0;
  }
  .headerLogoSmall {
    height: 4rem;
    left: 4rem;
  }
  .headerLogoSmall img {
    height: 100%;
        padding: 0.7rem;
  }
  .LinkTitle {
    font-size: 0.95rem;
  }
}
/* 640 to 1200px wide */
@media (min-width: 640px) {
  :root{font-size:0.9em}

  .DIRG {
    display: grid;
    grid-template-columns: auto;
    grid-gap: 0;
    max-width: 90rem;
    margin: 0 auto;
  }
  .DIRG > * {
    grid-column: var(--grid-col-start) / span var(--grid-col, auto);
    grid-row: var(--grid-row-start) / span var(--grid-row, auto);
    order: var(--grid-order);
    min-width: 0;
  }
  .mobileNav {
    display: none;
  }
    .mainContent {
      /* margin-top:2rem; */
    }
    .headerLogoSmall {
      display:flex;
      left: 0;
      width:8rem;
      /* position: absolute; */
      /* margin-left: -2rem; */
    }

}
/* beyond 1200px wide */
@media (min-width: 1200px) {
  h1 {
     font-size: 2.5rem!important;
     line-height: 2.5rem!important;
     padding-bottom:1.25rem!important;
     text-transform: uppercase;
  }
  h2 {
    font-size: 2.00rem !important;
    line-height: 2.25rem !important;
    padding-bottom: 2rem !important;
    text-transform: uppercase;
  }
  .textbox{
    padding:2.5rem!important;
  }
}
