/*
Theme Name: Magus Pressworks 2026
Theme URI: https://maguspressworks.com
Author: Magus Pressworks
Author URI: https://maguspressworks.com
Description: A custom theme built by Magus Pressworks.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maguspressworks.com
*/

/* COLORS */

:root {
  --color1:#000000;
  --color2:#00ff41;
  --color3:#003b00;
  --color4:#202020;
  --color5:#646464;
  --color6:#ffffff;
}

/* Reset */

*{
margin: 0px;
padding: 0px;
border: 0px;
font-family: inherit;
font-size: inherit;
line-height: inherit;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}

*:before,
*:after{
box-sizing: inherit;
}

html, body,h1, h2, h3, h4, h5, h6,a, p, span,em, small, strong,sub, sup,mark, del, ins, strike,abbr, dfn,blockquote, q, cite,code, pre,ol, ul, li, dl, dt, dd,div, section, article,main, aside, nav,header, hgroup, footer,img, figure, figcaption,address, time,audio, video,canvas, iframe,details, summary,fieldset, form, label, legend,table, caption,tbody, tfoot, thead,tr, th, td{
margin: 0;
padding: 0;
border: 0;
}

a,
a:visited{
color: inherit;
}

article,
aside,
footer,
header,
nav,
section,
main{
display: block;
}

img{max-width:100%;}

/* Top-level styles */

*{transition: all 0.2s ease;}

html{
  scroll-behavior: smooth;
  font:18px/1.4em Segoe UI, sans-serif;
  height:100%;
}
body{
  height:100%;
  font-family: "Rubik", sans-serif;
}
h1{font-size:2rem;}
h2{font-size:1.6rem;}
h3{font-size:1.2rem;}
h1,h2,h3{
  line-height:1em;
  margin-bottom:1rem;
  font-weight:normal;
}
p{margin-bottom:1rem;}
li{list-style-position: inside;}

/* Structure elements */

.wrapper{
  width:80%;
  margin:0 auto 0 auto;
}
.flexwrap{display:flex;}

main{
  height:100%;
}
main .left{
  position:fixed;
  width:15%;
  height:100%;
  background-color:var(--color1);
  background:url("https://maguspressworks.com/wp-content/uploads/2026/03/hexdark.avif") repeat fixed;
  color:var(--color2);
  border-right:1px var(--color6) solid;
  overflow:hidden;
}
main .right{
  width:100%;
  height:100%;
  overflow-y:scroll;
  overflow-x:hidden;
  background-color:var(--color4);
  color:var(--color6);
  padding:0 10% 2rem 20%;
}

/* Logo */

.logo-wrapper{
  padding:2rem 1rem 2rem 1rem;
}
.logo-wrapper h1{
	padding:0!important;
}

/* Navigation */

.menu{
  width:100%;
  text-align:center;
}
.menu li{
  list-style-type:none;
  text-transform:uppercase;
}
.menu li a{
  font-weight:300;
  text-decoration:none;
  font-size:1.3rem;
  line-height:3em;
}
.menu li:last-of-type{
  padding-top:3rem;
}
.menu li:last-of-type a{
  font-size:2rem;
}

.menu li:hover a{
  color:var(--color6);
}

/*  Nav Mobile */

.mobile-menu-icon{
  display:none;
  width:100vw;
  background: var(--color2)!important;
  color:var(--color4);
  padding:1rem;
  position:fixed;
  bottom:0;
}
.mobile-menu-icon .line{
  width:25px;
  height:5px;
  background-color:var(--color4);
  margin:5px auto 5px auto;
}
.close{
  display:none;
  width: 32px;
  height: 32px;
  text-align:center;
  margin:2px auto 2px auto;
}
.close:hover{opacity: 1;}
.close:before, .close:after{
  position:absolute;
  text-align:center;
  content: ' ';
  height: 32px;
  width: 2px;
  background-color:var(--color3);
}
.close:before{transform: rotate(45deg);}
.close:after{transform: rotate(-45deg);}

/* Phone */

.phone{
  position:absolute;
  bottom:4rem;
  width:100%;
  text-align:center;
  color:var(--color6);
}
.phone a{
  font-size:1.8rem;
  font-weight:300;
  text-decoration:none;
}
.phone a:hover{
  color:var(--color2);
}
.phone i{
  font-size:1.4rem;
}

/* Above Content */

.above-content{}
.above-content .widget{}

/* Content */

.topbanner{
  width:100%;
  height:430px;
  background:url("https://maguspressworks.com/wp-content/uploads/2026/03/magus-topbanner.avif") center center no-repeat;
  background-size:contain;
  margin-bottom:2rem;
}
.topbanner h1, h1.title{
  font-size:2.2rem;
  padding-top:1.4em;
  -webkit-text-stroke: 1px black;
  font-weight:400;
  text-transform:uppercase;
}
article{
  font-size:1.3rem;
  line-height:1.8em;
  font-weight:300;
}
article h2{
  color:var(--color2);
  margin:1em 0 1em 0;
}
article p{
  line-height:1.8em;
}
article a{
  color:var(--color2)!important;
  text-decoration:none;
}

article .more-link{
  font-weight:400;
  color:var(--color2);
  text-transform:uppercase;
}

.page article h1{
  padding-bottom:0.5em;
  border-bottom:1px var(--color3) solid;
  margin-bottom:1em;
}

.page article img{
  border:1px var(--color2) solid;
}
.home article img{border:none;}
.front-page article h1, h1.title{
  margin-top:0;
  border:0;
}

.breakout{
  width:100%;
  border:2px var(--color2) solid;
  padding:1rem;
  margin:4rem 0 4rem 0;
  position:relative;
}
.breakout:nth-of-type(even){
  background: #000000;
  background: linear-gradient(90deg, rgba(0, 0, 0, 1) 44%, rgba(0, 84, 0, 1) 85%);
}
.breakout:nth-of-type(odd){
  background: #000000;
  background: linear-gradient(-90deg, rgba(0, 0, 0, 1) 44%, rgba(0, 84, 0, 1) 85%);
}

.breakout img.printers{
  margin:-10rem -8rem 0 0;
}

/* Footer */

footer .flexwrap{
    justify-content:space-between;
}

footer .widget{
    flex:1;
    color:var(--color4);
    min-height:10rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
}
footer .widget h2{
    font-size:2rem;
}
footer .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
footer .more-link:hover{
    color:var(--color3);
}

/* Credit */

.credit{
  border-top:1px var(--color3) solid;
  margin-top:1rem;
  padding-top:1rem;
  text-align:center;
  font-weight:200;
  line-height:2em;
}

/* Global Extras */

.magus{
  font-weight:400;
  font-style:italic;
  color:var(--color2);
}

.alignleft{
    float:left;
    margin:1rem 1rem 1rem 0;
}
.aligncenter{
    margin:1rem auto 1rem auto;
}
.alignright{
    float:right;
    margin:1rem 0rem 1rem 1rem;
}
.more-link{
    text-decoration:none;
    color:var(--color2);

}
.more-link:hover{
    color:var(--color4);
}
blockquote{
  background:var(--color1);
  display:block;
  clear:both;
  width:100%;
  margin:1rem 0 1rem 0;
  padding:1rem;
  border:1px var(--color2) solid;
  font-style:italic;
  font-weight:300;
}
.clearfix{
  display:block;
  clear:both;
  width:100%;
  margin:0;
  padding:0;
}

/* Gallery */

.gallery {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.gallery-item {
  position:relative;
  width: 25%;
  padding: 1rem;
  box-sizing: border-box;
}

.gallery-item a {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 100%; /* forces square */
  overflow: hidden;
}

.gallery-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border:1px var(--color3) solid;
  opacity:75%;
}

.gallery-item img:hover{
  border:2px var(--color2) solid;
  opacity:100%;
}

.gallery-item figcaption{
  display:none;
  position:absolute;
  bottom:0;
  left:0;
  width:92%;
  background:rgba(0,0,0,0.75);
  padding:1rem;
  margin:1rem;
  font-size:0.8rem;
  line-height:1.4em;
  color:var(--color2);
  font-style:italic;
}
.gallery-item:hover figcaption{
  display:block;
}

/* Regular Page Template */

/* Landing Page Template */

/* Page-Specific */

/* Events Schedule Plugin */

.ses-event-schedule thead tr{
  background-color:#000!important;
  border:1px var(--color2) solid;
  border-bottom:1px var(--color3) solid;
  text-transform:uppercase;
}
.ses-event-schedule tbody tr{
  background:#000!important;
  color:var(--color2);
  font-weight:300;
  border:1px var(--color2) solid;
  border-bottom:1px var(--color3) solid!important;
}
.ses-event-schedule tbody tr:last-child{
  border-bottom:1px var(--color2) solid!important;
}
.ses-col-date br{display:none;}
.ses-event-schedule .ses-date-end{
  color:var(--color2)!important;
}
.ses-event-logo{
  margin:0 auto 0 auto;
}
.ses-event-schedule .ses-col-title{text-align:center;}
.ses-col-date{vertical-align: middle!important;text-align:center!important;}

.ses-event-title-text{
  color:var(--color6);
}

.ses-event-schedule .ses-col-desc p{
  font-size:.8em;
  font-style:italic;
}

.ses-event-schedule th.ses-sortable:hover{
	background:var(--color2)!important;
	color:#000;
}

/* Contact Form */

input, textarea, q, select{
  background:#000;
  border:1px var(--color2) solid;
  color:#fff;
}
.forminator-button-submit{
  background:var(--color2)!important;
  color:#000!important;
  text-transform:uppercase!important;
}

/* WooCommerce */

.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images{
  width:30%!important;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary{
  float:left;
  padding-left:2em;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt{
  background:#000;
  color:var(--color2);
  border:1px var(--color3) solid;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover{
  background:var(--color2);
  color:#000;
}

.woocommerce input{
  border:1px var(--color3) solid;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:#000;
  border:1px var(--color3) solid;
}

.woocommerce-Tabs-panel--description{
  display:block!important;
}
.woocommerce-Tabs-panel h2:first-of-type{
  display:none!important;
}

.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button{
  background:#000;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover{
  background:var(--color3);
  color:#000;
}

.woocommerce-notices-wrapper{
  border:none;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message{
  background:#000;
  color:var(--color2);
  border:none;
}

/* Media Queries / Responsive */

@media (min-width:2500px){

}
@media (max-width:1920px){

}
@media (max-width:1800px){
  html{font-size:16px;}
}
@media (max-width:1600px){
  html{font-size:14px;}
}
@media (max-width:1300px){
  html{font-size:12px;}
}
@media (max-width:1400px){

}

/* PHONE LAYOUT */

@media (max-width:1200px){

html{font-size:16px;}
body{overflow-x:hidden;padding-bottom:4rem;
  background-size: cover;
  position:relative;
}
.wrapper{
  width:100%;
  padding:1rem!important;
}
.flexwrap,main.flexwrap{
  flex-direction:column!important;
}
.logo-wrapper{
  padding:0;
}
main .left{
  position:static;
  width:100%;
  height:30rem;
}
.home main .left,
.page-id-40 main .left{
  height:55rem;
}
.page-id-180 main .left,
.page-id-13 main .left{
  height:20rem;
}
.woocommerce main .left,
.woocommerce-cart main .left{
  height:15%;
}
main .right{
  height:auto;
  overflow:auto;
  padding:1rem;
}
h1.title{
  padding:1rem;
}
.topbanner{
  height:auto;
  background:none;
}
.topbanner h1{
  margin:0;
  padding:0;
  font-size:1.6rem;
  font-weight:bold;
  text-align:center;
  border-bottom:1px var(--color2) solid!important;
}
.topbanner h1 span{
  display:block;
  font-size:1.4rem;
  font-style:italic;
  font-weight:400;
  line-height:1.4em;
}
article{padding:1rem;}
.widget{
  margin:1rem 0 1rem 0!important;
}
.phone{
  background:#000;
  border-top:1px var(--color2) solid;
  padding:1rem;
  margin:0;
  z-index:100;
}
.breakout img.printers{
  margin:1rem;
}
.gallery-item{
  width:100%;
}

/* LOGO */

/* ABOVE CONTENT AREA */

/* BELOW CONTENT AREA */

/* FOOTER */

/* EXTRAS */

.alignleft,
.aligncenter,
.alignright{
  float:none;
  display:block;
  width:100%;
  margin:0;
  padding:1rem;
}

/* NAVIGATION */

nav{height:auto;}
nav .menu{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  background:var(--color2);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transform:translateY(-100%);
  opacity:0;
  padding:1ch;
  z-index:9999;
}
nav .menu li{width:100%;margin:0.5ch 0 0.5ch 0;}
nav .menu li a{font-size:1rem;color:var(--color4);text-align:center;font-size:1.4rem;line-height:1.6em;}
nav .menu li:hover a{background:var(--color2);color:var(--color4);}
nav .menu li:hover .sub-menu, nav .menu li:active .sub-menu{width:100%!important;}
nav .menu li:hover a, nav .menu li:active a, nav .menu li.current-menu-item a{color:var(--color3);}
.mobile-menu-icon{display:block;z-index:100;border-top:2px var(--color3) solid;}
.nav-active{transform:translateY(0%)!important;opacity:1!important;position:fixed!important;z-index:100000;}
nav ul li a{}
nav ul li:hover .sub-menu, nav ul li:active .sub-menu{
  position:static;
  display:block;
}
nav ul li:hover .sub-menu li, nav ul li:active .sub-menu li{
  background:;
  line-height:1.6rem;
  width:100%;
  margin:0;
}
.menu-active .line{display:none;}
.menu-active .close{display:block;}
.menu .sub-menu{
  flex-direction: column;
  transform: none;
}
.menu .menu-item .sub-menu .menu-item a{
  background:none;
}
.menu .menu-item:hover a{
  color:var(--color4);
}

/* Event List */

.ses-event-schedule .ses-col-date,
.ses-event-schedule .ses-col-title,
.ses-event-schedule .ses-col-map, .ses-event-schedule .ses-col-link,
.ses-event-schedule .ses-col-link{
  width:100%!important;
}
.ses-event-schedule .ses-col-desc p{
  color:var(--color2)!important;
}
}