/*
Theme Name: Catalina Skylights
Theme URI: https://catalinaskylights.com
Author: Magus Pressworks
Author URI: https://maguspressworks.com
Description: A custom theme built for Catalina Skylights 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:#5b9dd5;
  --color2:#ffffff;
  --color3:#7d7d7d;
  --color4:#000000;
  --color5:#fec20f;
}

/* 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;
text-decoration:none;
}

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;
}
body{
  background:url(https://catalinaskylights.com/wp-content/uploads/2025/10/catalina-skylights-bg.avif) top center fixed no-repeat;
}
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;}

/* Above Header */

.above-header{
  background:var(--color3);
  color:var(--color2);
}
.above-header .widget{
    flex:1;
    line-height:2em;
    font-weight:200;
    text-transform:uppercase;
    padding:0.5rem 0 0.5rem 0;
}
.above-header .widget:nth-of-type(2){
    text-align:right;
}
.above-header p{
    margin:0;
    padding:0;
}
.above-header a:not(.button){
    line-height:3rem;
}

/* Header */
header{
  background: #E4E4E4;
  background: linear-gradient(0deg, rgba(228, 228, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);
  border-bottom:1px var(--color1) solid;
  padding:2rem 0 1rem 0;
}
.header-left{
  flex:1;
}
.header-right{
    flex:2;
}
.site-title{
    font-size: 2em;
    font-weight: bold;
}

.site-description {
    font-size: 1em;
    color: #666;
}

/* Navigation */
header nav{
    width:100%;
}

.menu{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content:space-around;
  text-align:right;
  position:relative;
  margin-top:2rem;
  background:var(--color1);
  border-top:1px #fff solid;
  border-left:1px #fff solid;
  border-right:1px #000 solid;
  border-bottom:1px #000 solid;
  border-radius:5px;
  --moz-border-radius:5px;
  --webkit-border-radius:5px;
}

.menu .menu-item{
  margin:0 2rem 0 0;
}
.menu .menu-item:last-child{
  margin:0;
}

.menu .menu-item a{
  display:block;
  color:var(--color2);
  text-decoration:none;
  text-transform:uppercase;
  font-size:1rem;
  font-weight:400;
  line-height:3em;
  padding:0 1rem 0 1rem;
}
.menu .menu-item:hover a{
  background:var(--color2);
  color:var(--color4);
  border-top:1px var(--color5) solid;
}

/* Nav Level 2 */

.sub-menu{
  display:none;
  position: absolute;
  transform: translateX(-20%);
  top: 0;
  z-index: 10;
  background:rgba(255, 255, 255, 1);
  border: 5px var(--color2) solid;
  padding:1rem;
}
.sub-menu li{
  width:100%;
}
.dropdown-toggle{
  display:none;
}
.menu .menu-item:hover .sub-menu{
	display:block;
	position:absolute;
	top:3rem;
	border:1px var(--color1) solid;
	border-top:none;
}
.menu .menu-item .menu-item{
	list-style-type:none;
}
.menu .menu-item .menu-item a{
	border:none;
	color:#000;
	text-align:center;
}
.menu .menu-item .menu-item:hover a{
	color:var(--color3);
	font-weight:bold;
}

/* Nav Level 3 */

.sub-menu .sub-menu{
  flex-direction: column;
  transform: none;
  position: static;
  border: none;
  background:none;
}
.sub-menu .sub-menu .menu-item a{
  color:var(--color2)!important;
  border:none!important;
  font-weight:300!important;
  text-transform:capitalize;
  padding:0!important;
  line-height:1em;
}
.sub-menu .sub-menu .menu-item:hover a{
  color:var(--color3)!important;
  font-style:italic;
}
.sub-menu .sub-menu .menu-item a span{
  display:block;
  font-size:.8em;
  color:var(--color3);
  font-style:italic;
  font-weight:200;
}
.sub-menu .sub-menu .menu-item:hover a span{
  color:var(--color2);
  font-style:normal;
}

/*  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);}

/* Feature */

.home .feature{
  -webkit-box-shadow: inset 0px -100px 100px -15px #000;
  box-shadow: inset 0px -100px 100px -15px #000;
  border-bottom:1px var(--color1) solid;
}
.feature .widget{
  padding:5rem 0 15rem 0;
}
.feature h1{
  font-size:4rem;
  text-transform:uppercase;
}
.feature h2{
  font-size:2.5rem;
  text-transform:uppercase;
  color:var(--color1);
  font-style:italic;
  font-weight:thin;
  line-height:2em;
}
.feature .content{
  flex:1;
  padding-right:10rem;
  font-size:1.4rem;
  line-height:1.4em;
}
.feature .graphic{
  flex:1;
}
.feature .graphic img{
  width:80%;
  border:1rem #fff solid;
  border-bottom:4rem #fff solid;
  -moz-transform: rotate(9deg);
  -webkit-transform: rotate(9deg);
  -o-transform: rotate(9deg);
  -ms-transform: rotate(9deg);
  transform: rotate(9deg);
}
.feature .graphic figcaption{
  width:100%;
  padding-left:15%;
  font-size:1.5rem;
  font-style:italic;
  margin-top:-2rem;
  -moz-transform: rotate(9deg);
  -webkit-transform: rotate(9deg);
  -o-transform: rotate(9deg);
  -ms-transform: rotate(9deg);
  transform: rotate(9deg);
}
.feature .button{
  margin:4rem 0 4rem 0;
}

/* Above Content */

.above-content{}
.above-content .widget{
  width:100%;
  text-align:center;
  padding:5rem 0 5rem 0;
  margin:0 0 4rem 0;
}

/* Columns: Upper */

.columns-upper{
  background:url(https://catalinaskylights.com/wp-content/uploads/2025/10/catalina-skylights-bg-2.avif) top center fixed no-repeat;
  background-size:cover;

}

.columns-upper .flexwrap{
    justify-content:space-between;
}

.columns-upper .widget{
  flex:1;
  background:var(--color2);
  color:var(--color4);
  margin:-8rem .5rem 5rem .5rem;
  min-height:10rem;
  font-weight:200;
  font-size:1.2rem;
  line-height:1.2em;
  background: #E4E4E4;
  background: linear-gradient(0deg, rgba(228, 228, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
  --moz-border-bottom-left-radius:10px;
  --moz-border-bottom-right-radius:10px;
  --webkit-border-bottom-left-radius:10px;
  --webkit-border-bottom-right-radius:10px;
}
.columns-upper .widget h2{
    font-size:2rem;
    color:var(--color2);
    text-align:center;
    font-weight:bold;
    text-transform:uppercase;
    line-height:2em;
    background:var(--color1);
    border-top-left-radius:5px;
    border-top-right-radius:5px;
}
.columns-upper .widget p{
  padding:1rem;
  text-align:center;
  line-height:2em;
}
.columns-upper .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
.columns-upper .more-link:hover{
    color:var(--color3);
}
.columns-upper .button{
  display:block;
  width:30%;
  text-transform:uppercase;
  text-align:center;
  margin:2rem auto 2rem auto;
  line-height:2em;
}


/* Content */

main{
  background:var(--color2);
  padding:2rem 0 2rem 0;
}
.home main{
    background:rgba(255, 255, 255, 0.9);
    padding:0;
}
main article{
    flex:2;
    line-height: 1.6em;
    font-size: 1.2rem;
    font-weight: 300;
    padding:3rem 1rem 0 0;
}
main article .title{
    font-size:3rem;
    background:var(--color1);
    padding:1rem;
    text-transform:uppercase;
    color:var(--color2);
    margin:0 0 1em 0;
  border-radius:10px;
  --moz-border-radius:10px;
  --webkit-border-radius:10px;
}
main article .title span{
    font-weight:300;
    font-style:italic;
}
main article h2{
  font-size:2.5rem;
  line-height:1.4em;
	margin-top:1em;
}
main article a{
	color:var(--color1)!important;
}

h2.schedulebanner{
  clear:both;
  display:block;
  font-size:4rem;
  font-style:italic;
  color:var(--color1);
  line-height:2em;
  text-align:center;
  border-top:1px var(--color1) solid;
  border-bottom:1px var(--color1) solid;
  margin:0;
  padding:0;
}

/* Sidebar / Sidebar Widgets */

aside{
  flex:1;
}
aside .widget{
  padding:1rem;
}
aside .widget{
  background:var(--color2);
  color:var(--color4);
  margin:1rem .5rem 5rem .5rem;
  min-height:10rem;
  font-weight:200;
  font-size:1.2rem;
  line-height:1.2em;
  background: #E4E4E4;
  background: linear-gradient(0deg, rgba(228, 228, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);
  border-radius:10px;
  --moz-border-radius:10px;
  --webkit-border-radius:10px;
  border:1px var(--color3) solid;
}
aside .widget h2{
    font-size:2rem;
    color:var(--color2);
    text-align:center;
    font-weight:bold;
    text-transform:uppercase;
    line-height:2em;
    background:var(--color1);
    border-top-left-radius:5px;
    border-top-right-radius:5px;
}
aside .widget p{
  padding:1rem;
  text-align:center;
  line-height:2em;
}
aside .widget .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
aside .widget .more-link:hover{
    color:var(--color3);
}
aside .widget .button{
  display:block;
  width:30%;
  text-transform:uppercase;
  text-align:center;
  margin:2rem auto 2rem auto;
  line-height:2em;
}

/* Below Content */

.below-content{}
.below-content .widget{
  width:100%;
  text-align:center;
  padding:5rem 0 5rem 0;
  margin:0 0 4rem 0;
}

/* Columns: Lower */

.columns-lower{
  background:#fff;
}

.columns-lower .flexwrap{
    justify-content:space-between;
}

.columns-lower .widget{
    flex:1;
    background:var(--color2);
    color:var(--color4);
    padding:1.5rem 1.5rem 1.5rem 3rem;
    margin:5rem .5rem 5rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
}
.columns-lower .widget h2{
    font-size:3rem;
    text-transform:uppercase;
    font-weight:bold;
}
.columns-lower .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
.columns-lower .more-link:hover{
    color:var(--color3);
}

.home .columns-lower .widget{
  background:var(--color1);
  color:var(--color2);
  border-radius:5px;
  --moz-border-radius:5px;
  --webkit-border-radius:5px;
  border-top:1px #fff solid;
  border-left:1px #fff solid;
  border-right:1px #777 solid;
  border-bottom:1px #777 solid;
}

/* Footer */

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

footer .widget{
    flex:1;
    color:var(--color4);
    margin:3rem .5rem 1rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
}
footer .widget h2{
    font-size:4rem;
    font-weight:bold;
    color:var(--color1);
    text-align:right;
    line-height:1.5em;
}
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{
    text-align:center;
    font-weight:bold;
    line-height:2em;
    text-transform:uppercase;
    border-top:1px var(--color1) solid;
    padding:1rem 0 0 0;
    color:var(--color1);
}

/* Global Extras */

.alignleft{
    float:left;
    margin:1rem 1rem 1rem 0;
}
.aligncenter{
    margin:1rem auto 1rem auto;
}
.alignright{
    float:right;
    margin:1rem 0rem 1rem 1rem;
}
.button{
  display:inline-block;
  background:var(--color1);
  border:1px var(--color1) solid;
  color:var(--color2)!important;
  font-weight:bold;
  text-decoration:none;
  padding:0.5rem;
  border-radius:15px;
  --moz-border-radius:15px;
  --webkit-border-radius:15px;
}
.button:hover{
  background:var(--color3);
}
.more-link{
    text-decoration:none;
    color:var(--color2);
}
.more-link:hover{
    color:var(--color4);
}
.clearfix{
  display:block;
  clear:both;
  width:100%;
  margin:0;
  padding:0;
}
.has-text-align-center{
  text-align:left;
}

/* Regular Page Template */

/* Landing Page Template */

/* Page-Specific */

/* Media Queries / Responsive */

@media (min-width:2500px){

}
@media (max-width:1920px){
  html{font-size:16px;}
  .feature h2{font-size:2rem;}
  .button{font-size:1.2rem;}
  .feature .graphic img{width:100%;}
  .feature .content{padding-right:1rem;}
}
@media (max-width:1800px){
  html{font-size:14px;}
  .header-right{padding-left:5rem;}
  .feature .content{flex:2;}
  .columns-lower .widget{font-size:1.6rem;}
}
@media (max-width:1600px){
  html{font-size:12px;}
}
@media (max-width:1500px){
  footer h2{line-height:2.5em!important;}
  footer .footer-logo{width:75%;}
}
@media (max-width:1300px){
  html{font-size:10px;}
}

/* PHONE LAYOUT */

@media (max-width:1200px){

.above-header,
.feature .graphic{
  display:none;
}

html{font-size:16px;}
body{
  overflow-x:hidden;padding-bottom:4rem;
  background-size: cover;
  position:relative;
}
header .logo{
  display:block;
  width:80%!important;
  margin:1rem auto 1rem auto!important;
}
.feature{
  text-align:center;
}
.feature .widget{
  padding:0;
}
.feature .button{
  margin:1rem 0 1rem 0;
}
.columns-upper .widget h2{
  font-size:1.4rem;
}
.button{
  width:60%!important;
}
main article .title,
main article h2{
  font-size:2rem;
}
.schedulebanner{
  font-size:2rem!important;
}
.wrapper{
  width:100%;
  padding:1rem!important;
}
.flexwrap{
  flex-direction:column;
}
article{padding:1rem;}
.widget{
  margin:1rem 0 1rem 0!important;
}
footer .widget{
  min-height:1rem;
}
footer .widget h2{
  font-size:2rem;
  text-align:center;
}
footer .footer-logo{
  display:block;
  margin:1rem auto 1rem auto;
}

/* HEADER / LOGO */

header .flexwrap{
  flex-direction:column;
}
header .logo{
  width:100%;
  margin:2rem 0 2rem 0;
}
header h1{margin:0;}

/* FEATURE AREA */

/* UPPER COLUMNS */

/* 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(--color1);text-align:center;font-size:1.4rem;line-height:1.6em;}
nav .menu li:hover a{background:var(--color2);color:var(--color3);}
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);
}

}