/* 
Theme Name: Hello Opus
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* REM is based on the root element's font size. We'll use REM. In this case that's 14px. */

/* Color Variables */
:root {
    --opusDarkest: #243239;
    --opusDark: #324651;
    --opusMediumB: #94AFB9;
    --opusMediumG: #708891;
    --opusLight: #E2F1F6;
    --opusAccent: #59C6F1;
    --opusTan: #E6C695;
    --white: #ffffff;
}
html {font-family:'Poppins', Helvetica, Arial, sans-serif; font-size:14px; color:var(--opusDark);}
body:not([class*=elementor-page-]) .site-main {max-width:1400px;padding:0;}
a {color:var(--opusAccent);}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  font-style: normal;
}
.opus-intro h1 {
  font-weight:200;
  font-size:2.875rem;
  line-height:3.5rem;
  color:var(--opusLight);
}
.opus-intro p {
  font-weight:400;
  color:var(--opusLight);
}
.opus-page-title h1 {
  font-weight:300;
  font-size:1.5rem;
  line-height:1.5rem;
  color:var(--opusLight);
}
.opus-intro h2, .opus-story h2 {
  font-weight:500;
  font-size:1.25rem;
  line-height:1.75rem;
  color:var(--opusLight);
  margin:0;
}
h3 {
  font-weight:300;
  color:var(--opusLight);
}
.opus-possibilities h4 {
  font-weight:100;
  font-size:5rem;
  line-height:4rem;
  color:var(--opusLight);
  margin:20px 0;
}
.opus-story, .opus-possibilities p {
  font-weight:300;
  font-size:1rem;
  line-height:1.5rem;
  color:var(--opusLight);
}
p {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-style: normal;
}
/* Opus Footer */
.opus-footer a {
  color:var(--opusDark);
  font-family: 'Poppins', sans-serif;
  font-style: normal;
}
/* Opus Header */
.opus-header .column {
  color:var(--opusMediumB);
}
.opus-header .column:hover {
  color:var(--white);
}
.opus-header .nav-title, .nav-text p {
  font-family: 'Poppins', sans-serif;
  font-style: normal;
}
.opus-header .nav-title p {
  font-size:2rem;
  font-weight:200;
  line-height:2rem;
}
.opus-header .nav-text p {
  font-size:.875rem;
  font-weight:300;
  line-height:1rem;
}
/* Opus Buttons */
.opus-button .elementor-button {
  font-family:"Poppins", sans-serif;
  font-style:normal;
}
.opus-button .elementor-button {
  border:1px solid var(--opusAccent);
  background:transparent;
  font-size:.875em;
  font-weight:400;
  color:var(--opusAccent);
  text-transform:uppercase;
  letter-spacing:.15rem;
  padding:15px 6px 6px 6px;
  border-radius:0;
}
.opus-button .elementor-button:hover {
  background:var(--opusAccent);
  color:var(--opusDark);
}
/* Page IDs for Menu Management */
body.page-id-118 .opus-connect {color:var(--white);}
body.page-id-114 .opus-windows {color:var(--white);}
body.page-id-32 .opus-windows {color:var(--white);}
body.page-id-412 .opus-windows {color:var(--white);}
body.page-id-116 .opus-doors {color:var(--white);}
body.page-id-408 .opus-doors {color:var(--white);}
body.page-id-410 .opus-doors {color:var(--white);}
body.page-id-414 .opus-doors {color:var(--white);}
body.page-id-82 .by-crystal {color:var(--white);}
body.page-id-1653 .by-crystal {color:var(--white);}

/* Pages */
.opus-side-by-side h2 {
  font-weight:300;
  font-size:3rem;
  line-height:3.5rem;
  color:var(--opusLight);
}
.opus-side-by-side p {
  font-weight:300;
  font-size:1rem;
  line-height:1.5rem;
  color:var(--opusLight);
}
.opus-three-column p {
  font-weight:300;
  font-size:1rem;
  line-height:1.5rem;
  color:var(--opusLight);
}
.opus-side-by-side .elementor-field-required .elementor-field-label::after {
    color:var(--white);
}
/* CTA */
.opus-cta p {
  margin:0;
  font-weight:200;
  font-size:3rem;
  line-height:3rem;
  color:var(--opusLight);
}
.opus-cta a:hover {
  color:var(--opusTan);
}
/* Tan CTA */
.opus-ctaTan p {
  margin:0;
  font-weight:200;
  font-size:3rem;
  line-height:3rem;
  color:var(--opusDark);
}
.opus-ctaTan a {
  color:var(--opusMediumG);
}
.opus-ctaTan a:hover {
  color:var(--white);
}
/* Product Rows */
.opus-product-row {
  color:var(--opusLight);
}
.opus-product-row h2 {
  margin:0;
  font-weight:100;
  font-size:6rem;
  line-height:6rem;
}
/* Product Variants */
.product-variants-loop-item {
  color:var(--opusLight);
}
.product-variants-loop-item h3 {
  font-weight:200;
  font-size:2.5rem;
  line-height:2.5rem;
  margin:20px 0 15px 0;
}
.product-variants-loop-item .opus-button {
  margin:20px 0 15px 0;
}
.product-variants-loop-item .elementor-icon-list-text {
  font-size:.75rem;
}
/* Tailored Features */
.opus-tailored-features p {
  font-weight:300;
  font-size:1rem;
  line-height:1.5rem;
  color:var(--opusLight);
}
.opus-tailored-features p strong {
  font-weight:600;
}
.opus-tailored-features h4 {
  font-weight:500;
  font-size:1.25rem;
  line-height:1.75rem;
  color:var(--opusLight);
  margin:0;
}

/* Tailored Features Dark */
.opus-tailored-features-dark p {
  font-weight:300;
  font-size:1rem;
  line-height:1.5rem;
  color:var(--opusDarkest);
}
.opus-tailored-features-dark p strong {
  font-weight:600;
}
.opus-tailored-features-dark h4 {
  font-weight:500;
  font-size:1.25rem;
  line-height:1.75rem;
  color:var(--opusDarkest);
  margin:0;
}



/* Global */
.hide-this {display:none;}
.sitecredit {margin:0 0 0 30px;}
.caption p {
  color:var(--opusLight);
  font-size:.75rem;
  line-height:1rem;
  margin:-2px 0 0 0;
  padding:0 0 0 10px;
  border-left:1px solid var(--opusMediumG);
}

/* Media Queries */
@media only screen and (max-width: 1400px){   
    /* body:not([class*=elementor-page-]) .site-main {max-width:1400px;padding:10px;} */
    
}

@media only screen and (max-width: 1200px){   
  
}

@media only screen and (max-width: 900px){   
    
}

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

}

@media only screen and (max-width: 500px){
    
}