@charset "utf-8";

/******* animations start *******/

.accent { animation-name: accent_animation; animation-duration: 1500ms; /*transform-origin: 50% -0%;*/ animation-iteration-count: 1; animation-timing-function: cubic-bezier(1,.5,0,0); z-index: 1;}

/* .slidy { animation-name: slidy; animation-duration: 5s; animation-iteration-count: infinite; animation-timing-function: linear; } */
/* .slidy {right: 100%; right:100% transition: right 5s;} */


@keyframes ssa_animation { from { opacity: 0; transform: scale(0.7) translate(0,0); } to { opacity: 1; transform: scale(1) translate(0,0); } }
.ssa { animation: ssa_animation 1s ease; }


@keyframes accent_animation { 0% { transform: scale(2.5); }
  30% { transform: scale(1); }
  40% { transform: scale(1); }
  50% { transform: scale(1); }
  60% { transform: scale(1.1); }
  70% { transform: scale(1); }
  80% { transform: scale(1); }
  100% { transform: scale(1); } 
}

@keyframes fly-up { from { opacity: 1; transform: translate(0,80vh) scale(0,0); } to { opacity: 1; transform: translate(0,0) scale(1,1); } }

/* @keyframes fly-up { from { opacity: 1; transform: translate(0,300%) scale(0,0); } to { opacity: 1; transform: translate(0,0) scale(1,1); } } */

/* @keyframes fly-up-left { from { opacity: 0; transform: translate(100%,500%) scale(0,1); } to { opacity: 1; transform: translate(0,0) scale(1,1); } } */
@keyframes fly-up-left { from { opacity: 1; transform: translate(calc(85vw - 50%),calc(90vh - 50%)) scale(0,0); } to { opacity: 1; transform: translate(0,0) scale(1,1); } }

@keyframes close-out { from { opacity: 1; transform: scale(1,1); } to { opacity: 0; transform: scale(0,1); } }

@keyframes fly-down { from { opacity: 1; transform: translate(0,0) scale(1,1); } to { opacity: 1; transform: translate(0,70vh) scale(0,0); } }
@keyframes fly-down-right { from { opacity: 1; transform: translate(0,0) scale(0.5,0.8); } to { opacity: 1; transform: translate(calc(85vw - 50%),calc(90vh - 50%)) scale(0,0); } }

/*@keyframes slidy {
    0% { left: 0%; }
    20% { left: 0%; }
    25% { left: -25%; }
    45% { left: -25%; }
    50% { left: -50%; }
    70% { left: -50%; }
    75% { left: -75%; }
    95% { left: -75%; }
    100% { left: -100%; }
}*/
  
.slider_container { 
    width:100%; /*left:5%;*/ 
/*     height:8rem;  */
    display:flex; 
    position:relative; 
    margin-top:0.7rem; 
    align-items:center;
    overflow-x:hidden; 
    overflow-y:hidden; 
}


.slider {flex: 1 0 100%; text-align: center; padding: 0 10%; position: relative; will-change: transform; }
.slider img { will-change: transform; }

@media (min-width: 840px){ 
    .slider_container { height: 11rem; }
/*     .slider img {height: 10rem; } */
    .slider img {max-height: 10rem; height: auto; width: auto;}
}
@media (max-width: 839px){ 
    .slider_container { height: 10rem; width:100%; left:0%; }
    .slider img {max-height: 9rem; height: auto; width: auto;}
}

/* .slider_container:hover > div.slider * { animation-play-state: paused; cursor: pointer;} */

/******* animations end *******/

/* basic property classes */
.show { opacity: 1; }
.hide { opacity: 0; visibility: hidden;}
/*.no-outline{ outline: 2px solid #3085EE00 !important; }*/
/*.outline { outline: 2px solid #3085EE; }*/
.init-glow {box-shadow: 0px 0px 1rem 1rem #3085EE;}

.dark-mask { background: #00000070; }

/*.qqform-popped { overflow-y: hidden; }
.qqform-popped.wide-screen { overflow-y: scroll; }*/

.in-text-btn {
    display: inline-block; font-weight: 650; text-decoration: none;
    color: white; background: #3085EE;
    outline: 0;
    
    word-wrap: pre; padding: 0.15rem 0.4rem; margin: 0; border-radius: 2rem;
}
.in-text-btn:hover {
    text-decoration: none; color: #2075ff; background: #fffffff2;
    outline: 2px solid #3085EE;
}
.in-text-btn:focus {
    text-decoration: none; color: #2075ff; background: #fffffff2;
}

.in-text-btn.in-text-btn-lg{
    color: white; background: #3085EE;
    padding: 0.5em 1em;
}
.in-text-btn.in-text-btn-lg:hover{
    color: #2075ff; background: #fffffff2;
}

html [type="submit"],[type="reset"] {
/*     border-color: #999; */
    border-radius: 2rem;
/*     color: #50596c; */
    /*background-color: #f9f9fd;
    box-shadow: 0px 0px 4px #000000aa, 0 0 1px #3085EEbb inset;*/
    height: 2.2rem;
/*     color: #fff; */
/*     font-weight: bold; */
display: inline-block; font-weight: 650; text-decoration: none;
    color: white; background: #3085EE;
    outline: 0;
    
    word-wrap: pre; padding: 0.15rem 0.4rem; margin: 0; border-radius: 2rem;
}

html [type="submit"]:hover,[type="reset"]:hover {
    /*background-color:pink;*/
     text-decoration: none; color: #2075ff; background: #fffffff2;
    outline: 2px solid #3085EE;
}

html [type="submit"] {
/*     color:red; */
    max-width: 12rem;
    width: 70%;
}
/*html [type="reset"] {
    color:#50596c;
    display: none;
}*/

.overlay-menu .qqform input, .overlay-menu .qqform textarea {
    background: #000;
    color: #fff;
    
}
/*.overlay-menu div.qqform {
    background: #ffffff;
}*/


p.formPopElment {
    margin-bottom: 0.3rem; 
    padding: 0rem;
    height: 0rem;
}

div.button-wrapper.formPopElment {
    padding-bottom: 0.5rem;
    display: flex;
    justify-content: center;
/*     justify-content: space-between; */
}

/* remove extra space at bottom of form */
/*#qqform > div:nth-child(7) {
    display: none;
}*/

.gradbg {
/*     background: rgb(53,144,243); */
/*     background: linear-gradient(345deg, rgba(53,144,243,0.95) 20%, rgba(0,0,0,1) 50%, rgba(53,144,243,0.95) 80%); */
    background: linear-gradient(335deg, rgba(53,144,243,0.98) 20%, rgba(0,0,0,1) 50%, rgba(53,144,243,0.98) 80%);
    /*     text-shadow: -1px 0 2px black, 0 1px 2px black, 1px 0 2px black, 0 -1px 2px black; */
/*     background: #3085EE; */
    color: #fff;
}
.gradbg0 {
    /*background: rgb(53,144,243);
    background: linear-gradient(350deg, rgba(53,144,243,0.98) 10%, rgba(0,0,0,1) 50%, rgba(53,144,243,0.98) 90%);*/
    color: #fff; 
    text-shadow: 0px 0px 1px #000000;
    background: #3085EE;
}

.text-outline{
        text-shadow: -1px 0 0px black, 0 1px 0px black, 1px 0 0px black, 0 -1px 0px black,
        /*-1px -1px 2px #f00, 1px 1px 2px #f00,*/ 0px 0px 4px #f07;
}

html [type="submit"].gradbg:hover {
/*     background: rgb(53,144,243); */
    background: linear-gradient(15deg, rgba(53,144,243,0.7) 15%, rgba(0,0,0,0.9) 50%, rgba(53,144,243,0.7) 85%);
    
    /*background: rgb(0,0,0);
    background: linear-gradient(15deg, rgba(0,0,0,0.95) 15%, rgba(53,144,243,1) 50%, rgba(0,0,0,0.95) 85%);
    /*background: #fff;
    color: #3085EE;*/
/*     color: #fff; */
/*     opacity: 0.7; */
}

#qqformSec{
/*     border: 1px solid #999;  */
/*     border: 2px solid #3085EE; */
/*     box-shadow: 0px 0px 5px #000000dd; */
    box-shadow: 0 0 5px black, 0 0 1px #3085EEbb inset;
    border-radius: 0.5rem;
    display: table;
    background-color: #f9f9fa; /*#f9f9fd;*/ /*#f9f9ff;*/ /*#f0f0f7;*/
    padding-left: 1rem; 
    padding-right: 1rem; 
    position: relative;
    z-index: 3;
}


#qqformPopSec{ 
/*         position: -webkit-sticky; */
        position: fixed;
/*         bottom: calc(100% - 100vh + 2.5rem) ; */
        bottom: 0%; /*calc(100vh - 100% + 3.5rem);*/
/*         height: 30px; */
        left: 0%;
        width: 100%;
        height: 2.35rem;
        
        
/*         height: calc(100% - 100vh - 3rem); */
        
/*         box-shadow: 0 0 5px black, 0 0 1px #3085EEbb inset; */
        
/*         border-radius: 0.5rem 0.5rem 0 0; */
        border-radius: 10% 10% 0% 0% / 100% 100% 0% 0%;
/*         border-radius: 100% 100% 0% 0% / 100% 100% 0% 0%; */
/*         border: 1px solid #3085EE; */
        /*color: #3085EE;*/
        /*background-color: #f9f9fd;*/ /*#eeeef7;*/ /*#f0f0f7;*/
        font-size:2em;
        line-height: normal;
        text-align: center;
        cursor: pointer;
        z-index: 2;
        padding: 3px 0 0 0;
        margin: 0;
        display: block;
/*         font-family: grundschrift_bold; */
        font-family: Oxanium Regular;
/*         font-weight: normal; */
/*         justify-content: center; */
/*         align-items: center; */
}

#qqformPopSecTxt {
    font-family: Oxanium Bold;
    font-weight: bold;
}

#qqformPopSec img { height:1.5rem; }


/* #qqformPopSec svg path { fill: #fff; } */

/* @media (min-width: 480px) { */
   #qqformPopSec {  
        /*position: fixed;
        bottom: 20px;
        left: calc(100% - 78px);
        
        width: 64px;
        height: 64px;
        border-radius: 50%;
*/
        
/*         outline: 1px solid #3085EE; */
        
        color: #fff; /*#000;*/ /*#3085EE;*/
        /*background-color: #dfdfdf;*/ /*#e7e7e7*/; /*#2080EE;*/ /*#77ccdd97;*/ /*#f4f9ffd0;*/ /*#3085EE40;*/
        
/*         box-shadow: 0px 0px 3px 1px #3085EE; */
        
/*         box-shadow: 5px 7px 8px #888; */ /*winner*/
        
/*         box-shadow: 0px 7px 12px #555; */
/*         text-shadow: 0px 0px #0099ff; */
/*         font-weight: bold; */
        
        /*background: rgb(2,0,36);
        background: linear-gradient(2deg, rgba(2,0,36,1) 50%, rgba(48,133,238,1) 90%, rgba(0,212,255,1) 100%);*/  /*Dark 1*/
        
        /*background: rgb(2,0,36);
        background: linear-gradient(3deg, rgba(2,0,36,1) 25%, rgba(48,133,238,1) 90%, rgba(0,212,255,1) 100%);*/  /*Dark 2*/
        
        /*background: rgb(0,0,0);
        background: linear-gradient(5deg, rgba(0,0,0,0.9) 30%, rgba(48,133,238,0.98) 80%, rgba(0,212,255,0.99) 95%);*/  /*Dark 3*/

        /*background: rgb(0,0,0);
        background: linear-gradient(5deg, rgba(0,0,0,0.95) 30%, rgba(48,133,238,0.9) 75%, rgba(0,212,255,0.95) 95%);*/ /* Dark 4*/
        
        /*background: rgb(53,144,243);
        background: linear-gradient(15deg, rgba(53,144,243,0.95) 15%, rgba(0,0,0,1) 50%, rgba(53,144,243,0.95) 85%);*/ /* Dark 5*/
        
/*        background: rgb(48,133,238);
background: linear-gradient(15deg, rgba(48,133,238,0.95) 10%, rgba(255,255,255,1) 50%, rgba(48,133,238,0.95) 90%);*/ /* Light 1*/


        
        /*background: rgb(255,255,255);
        background: linear-gradient(355deg, rgba(255,255,255,1) 50%, rgba(48,133,238,0.9023984593837535) 80%, rgba(0,185,255,0.908000700280112) 100%);*/
   }
/* } */

/*#qqformPopSec {
    opacity: 0.5; transition: opacity 0.7s ease;
}*/

#qqformPopSec.scrolled {
    opacity: 1;
    outline:0;
}

#qqformPopSec:hover {
    opacity: 1;
    outline: 1px solid #3085EE;
}

/*#qqformPopSec:after {
        content: url(/user/themes/quark/images/gafq_h_caps.svg);
}*/

#qqformPopSecTxt{
/*     text-shadow: -1px 2px #000, 0px 1px 2px #000, 1px 0px 2px #000, 0px -1px 2px #000; */
}

@media (min-width: 640px) { /*640 recommended*/
    #qqformPopSec {
        /*width: 70px;
        height: 70px;*/
        
        width: 2.8em; /* was 3.6 for images*/
/*         height: 130px; */
/*         height: auto; */
        left: calc(100% - 3.4em); /* was 4.2 for images*/
        bottom: 30px;
        border-radius: 0.5rem 0.5rem;
        font-size: 1.35rem;
/*         flex-direction: column; */
        /*padding: 0.35rem;*/
        opacity: 0.7;
        transition: opacity 0.4s;
        height: auto;
        
        
        
    }
    /*#qqformPopSec:after {
        content: url(/user/themes/quark/images/gafq_v_caps.svg);
    }*/
    
    /*#qqformPopSec img, #qqformPopSec svg {
        height: auto;
    }*/
}

/*#qqformPopSec.formPopped
{
    background-color: darksilver;
}*/


@media (max-width: 1659px) { 
    #qqformSec { 
        display: none;
/*         visibility: hidden; */
    }
    #qqformPopSec { 
         /*display: none;*/
/*          visibility: visible; */
    }
    
}

@media (min-width: 1780px) {
    
    #qqformPopSec { 
         display: none;
/*          visibility: hidden; */
    }
    #qqformSec { 
        /*display: none;*/
/*         visibility: visible; */
    }
}
    
/* #start {display:table;} */
 

/******** shift content closer to center for wider screens ********/
@media (min-width: 1440px){ 
/*     #start {padding-left: 10rem;}  */
        #start {padding-left: 0; margin: auto;}
}

@media (min-width: 1540px){ 
    /*#start {padding-left: 8rem;}*/
    #start {padding-left: 0; margin: auto;}
}

@media (min-width: 1660px){ 
/*     #start {padding-left: 14rem;}  */
#start {padding-left: 0; margin: auto;}
}

@media (min-width: 1780px){ 
/*     #start {padding-left: 22rem;}  */
    #start {padding-left: 0; margin: auto;}
    
}

/******** shifting end ********/



/******** resizing logo and phone svgs for header ********/

.logo:not(#phoneNumSec) svg {
/*     width: 150px; */
    width: 98%;
    max-width: 180px;
}

#navLogoDiv svg {
    width: 120px;
}

#phoneNumSec svg {
    width: 100%;
    margin-left:5%;
    max-width: 170px;
}

#header .navbar-section {
    margin-right: 2.2rem;
}



/* remove right margin from logo header section to bring 2 halves closer (allows header to fit, oterwise breaks over 2 lines on smaller width phones) */
section.navbar-section.logo:not(#phoneNumSec) { margin-right: 0; }   /*this is now fixed with dynamic sizing of svgs above (or maybe not!)*/

/* underline for header */
#header { width: 100%; height: 4rem; border-bottom: 1px solid rgba(172, 179, 194, 0.2); font-size: 0.7rem; font-weight: 700; background: #fff; color: #454d5d; }

/* faster animations for header shrink - uses transformand translate instead of height */
body.header-fixed.header-animated #header.scrolled { transform: scale(1,0.58) translateY(-1.5rem); /*transform-origin: 0% 0%;*/ }
/* body.header-fixed.header-animated #header.scrolled { transform:  } */

/* body.header-fixed.header-animated #header.scrolled .navbar-section { transform: scale(1,0.58); /*transform-origin: 0% 0%; } */

body.header-fixed.header-animated #header.scrolled .dropmenu { transform: scaleY(1.7); }

body.header-fixed.header-animated #header.scrolled .navbar-section.logo svg, body.header-fixed.header-animated #header.scrolled .navbar-section.logo img { transform: scale(0.8,1.35); }

body.header-fixed.header-animated #header.scrolled ~ .mobile-menu .button_container { transform: translateY(-0.8rem); }

/* body.header-fixed.header-animated #header.scrolled .navbar-section.phone-section { transform: translateX(1.2rem); } */

/******** resizing end ********/


#overlay > div {
    display:flex;
}

/*phone number link to show only on small screens*/
@media (min-width: 841px){
    #header .navbar-section.phone-section {
/*         display: none; */
    }
    
    #header .navbar-section {
        margin-right: 0;
    }
    
    #header .navbar-section.desktop-menu {
        /*width : 80%;
        flex: 1 1 50%;*/
        padding-left: 0.5rem;
    }
    #header .navbar-section.desktop-menu .dropmenu {
       display: grid;
       grid-template-columns: auto auto;
       align-items: end;
    }
    
    #header .navbar-section.desktop-menu .dropmenu ul.navigation a {
        text-decoration: none; padding: 7px 12px; line-height: normal; } 
    }
    
    #header .navbar-section.desktop-menu .dropmenu ul.navigation a.active {
        text-decoration: none; color: #ffffff !important; background:#3085EE !important; border-radius:1rem; /*transition: all 0.2s ease-out;*/  
    }
    
    #header .navbar-section.desktop-menu .dropmenu .navigation ul {
        background: rgba(0, 0, 0, 0.9) !important;
        margin-left: 0.5rem;
    }
    #header .navbar-section.desktop-menu .dropmenu .navigation ul a { 
        text-decoration: none; color: #fff ; /*font-size: 0.8rem;*/ padding: 7px 30px 7px 10px;
    }
    #header:not(.scrolled) .navbar-section.desktop-menu .dropmenu .navigation ul a { 
        text-decoration: none; color: #fff !important; font-size: 0.8rem;
    }
    
    #header:not(.scrolled) .navbar-section.desktop-menu .dropmenu a:hover, #header:not(.scrolled) .navbar-section.desktop-menu .dropmenu .navigation ul a:hover { 
        color: #3085EE !important;
    }
}



/* tweak opacity/darkness of hero image overlay */
.image-overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; }
.overlay-light .image-overlay { background: rgba(255, 255, 255, 0.4); }
.overlay-light-gradient .image-overlay { background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2)); }
.overlay-dark .image-overlay { background: rgba(0, 0, 0, 0.4); }
.overlay-dark-gradient .image-overlay { background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.7)); }



/* change animation timing curve of defualt header animation and mobile menu container */
.default-animation, #header, #header .navbar-section, #header .logo svg, #header .logo img, .modular-features.small .feature-icon i, .modular-features .feature-icon { transition: all 0.3s ease-out; }
/* #header #phoneNumSec svg { transition: all 0.35s cubic-bezier(.4,1,.4,1); } */
.mobile-menu .button_container { position: absolute; top: 1.3rem; right: 1rem; height: 24px; width: 28px; cursor: pointer; z-index: 100; transition: opacity 0.35s ease, transform 0.3s ease-out; }

/* custom animation timing for overlay mobile menu and menu button container*/
/*.overlay { position: fixed; background: rgba(0, 0, 0, 0.9); top: 0; right: 0%; width: 60%; height: 100%; opacity: 0; visibility: hidden; transition: opacity .35s cubic-bezier(0.2,1,0.2,1), visibility .35s cubic-bezier(0.2,1,0.2,1), width .35s cubic-bezier(0.2,1,0.2,1); }*/

/* keep in mind for faster animations */
.overlay { 
    position: fixed; background: rgba(0, 0, 0, 0.9); top: 0; left: 100%; height: 100%; width: 70%; max-width: 25rem;  
    opacity: 0; transition: opacity .35s cubic-bezier(0.2,1,0.2,1), transform .35s cubic-bezier(0.2,1,0.2,1); 
    
}
.overlay.open { opacity: 1; transform: translateX(-100%); }



/* section.section:not(.hero) { padding-left: 0.3rem; padding-right: 1rem; position: relative; } */

#navLogoDiv svg { height: 2.2rem; }
#navLogoDiv svg path { fill: #fff; }

/* .map {height: 0px; width: 90%; margin:auto; z-Index: 1; opacity: 1; visibility: visible; transition: opacity 0.35s, visibility 0.35s, width 0.35s; } */
/* .overlay.open .map { width: 90%; opacity: 1; visibility: visible; z-Index: 3; } */

/*#overlayMap {height: 250px; margin: auto; width: 0; opacity: 0; visibility: hidden; transition: opacity 0.4s, visibility 0.5s, width 0.5s; }
.overlay.open #overlayMap { opacity: 1; visibility: visible; width: 90%; }*/

#overlayMap { height: 250px; margin: auto; width: 90%; right: 90%; opacity: 0; transition: opacity 1s, transform 0.35s cubic-bezier(.8,0,.2,1); }
.overlay.open #overlayMap { opacity: 1; transform: translateX(100%); }
#pageMap {height: 250px; width: 70%; margin:auto; z-Index: 1; border: 3px solid #00000020; border-radius:0.2rem;} /*opacity: 1; visibility: visible; transition: opacity 0.35s, visibility 0.35s, width 0.35s; }*/

.overlay-menu { height: calc(100% - 0.5rem - 40px); top: 40px; overflow-y: scroll; overflow-x: hidden; }



/* *************** Mobile Menu ********************** */
/* small module navigation lists */
.overlay-menu ul.navigation {list-style: none; display:grid; grid-template-columns: auto auto; align-items: stretch;}
.overlay-menu ul.navigation li {line-height: 1.2rem; margin: 0 0 1px; padding: 2px 0;}

/* larger page navigation lists */
.navigation ul {list-style: none;}
/* .navigation ul li {line-height: 1.4; margin: 0; padding: 3px;} */

.overlay-menu .navigation:not(.form-display)> a {padding: 0; margin: 0; font-size:1rem;}
.overlay-menu .navigation ul a {
    text-decoration:none; font-weight: bold; /*background: #333333e0;*/ /*border-bottom: 1px solid #3085EE;*/ /*box-shadow: 0px 0px 3px 2px #3085EE;*/ /*border-radius:0.2rem;*/ 
    color:#fff; font-size: 1rem; padding: 0.1rem 0.1rem; text-align:left;
/*     background: linear-gradient(335deg, rgba(0,0,0,1) 5%, rgba(53,144,243,1) 50%, rgba(0,0,0,1) 90%); */
}

.overlay-menu ul.navigation a {
    display: flex;
    width: 100%;
    margin: auto;
    justify-content: space-around;
}

.overlay-menu ul.navigation a.active { text-decoration:none; color: #ffffff; font-weight: normal; background: #3085EE; /*border: 4px solid #2085EE;*/ /*box-shadow: 0px 0px 3px 2px #2585ED;*/ padding: 0.2rem; border-radius:0.7rem;
    /*background: linear-gradient(335deg, rgba(0,0,0,1) 5%, rgba(53,144,243,1) 50%, rgba(0,0,0,1) 90%);*/
}

/* links in form display fields */
.form-display >a {font-size: inherit;}

/* remove toggler when tree is empty */
.treemenu li.tree-empty > .toggler{
    display: none;
}
/* need consistent background and reduce padding between li's on large page links */
.treemenu li {
    background: #00000000;
    padding: 3px 0;
}
/* shrink margin around ul with large page links */
.treemenu.treemenu-root{
    margin: 0.2rem;
}

/* change color, size and weight ans symbol of unfolding toggler */
.overlay-menu .treemenu .toggler{
    color: #fff; font-size: 1.4rem; font-weight: 400; /*padding-top: inherit;*/ float: right; font-family: "FontAwesome"; /*background:#3085EE;*/ line-height: 100%; /*calc(1.5rem - 10%);*/
}
.overlay-menu .treemenu .tree-closed .toggler:before{
/*     content: "\f107"; */
/*     content: "\f078"; */
    content: "\f054";
    
}
.overlay-menu .treemenu .tree-opened .toggler:before{
/*     content: "\f106"; */
/*     content: "\f077"; */
    content: "\f078";
}

/* *************** End Mobile Menu ********************** */

/* .overlay-menu .navigation a.active { text-decoration:none; color: #ffffff; background: #3085EE; border: 1px solid #ffffff80; border-radius:0.6rem;} */


/*html [type="text"]::placeholder,[type="email"]::placeholder,[type="tel"]::placeholder,[type="textarea"]::placeholder {
  color: rgba(255,0,0,0.45);
}*/

::-moz-placeholder {
  opacity: 1;
}

/*.form-input.requiredF::placeholder {
  color: #bbb;
}
.form-input.requiredF:before::placeholder {
   content: '*';
   color: darkred;
}*/


hr {border:0; border-top: 3px solid red;}


/***** form input changes from spectre theme *****/

.has-error .form-input, .has-error .search-input, .has-error [data-grav-field="array"] input, [data-grav-field="array"] .has-error input, .has-error [data-grav-field="array"] textarea, [data-grav-field="array"] .has-error textarea, .form-input.is-error, .is-error.search-input, [data-grav-field="array"] input.is-error, [data-grav-field="array"] textarea.is-error, .has-error .form-select, .form-select.is-error { background: #ffdad740; border-color: #e85600; }

.form-input, .search-input, [data-grav-field="array"] input, [data-grav-field="array"] textarea { border-radius: 0.5rem; }

.form-input:not(:placeholder-shown):invalid:focus, .search-input:not(:placeholder-shown):invalid:focus, [data-grav-field="array"] input:not(:placeholder-shown):invalid:focus, [data-grav-field="array"] textarea:not(:placeholder-shown):invalid:focus { box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); background: #ffdad740; }

/* ************************************************************************* */



/**************** adjust icon font size for most screens ****************/
.service-section .feature-icon .fa.fa-fw {
    color: #f00 !important;
    font-size: calc(1rem + (8vw / 128) + (56em / 128));
}
@media screen and (min-width: 2048px) {
    .service-section .feature-icon .fa.fa-fw {
       font-size: 4.2rem;
    }
}
@media screen and (max-width: 320px) {
    .service-section .feature-icon .fa.fa-fw {
       font-size: 2.5rem;
    }
    .service-section .feature-icon h6 {
       font-size: calc(2.5rem/4);
    }
}
/* ************************************************************************* */



/* padding for modular template sections */
section.modular-text { padding-top: 1rem; padding-bottom: 3rem; }
section.modular-features { padding-bottom: 1rem; }
section.modular-brands-banner { padding-top: 1rem; padding-bottom: 1rem; }



/************************************ Ribbons *****************************************/
/* common */
.ribbon {
  width: 5rem; /*150px;*/
  height: 5rem; /*150px;*/
  overflow: hidden;
  position: absolute;
}
.ribbon::before,
.ribbon::after {
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
  border: 0.25rem/*5px*/ solid #ff0000;
}
.ribbon span {
  position: absolute;
  display: block;
  width: 8rem; /*225px;*/
  height: 1.35rem;
  /*padding: 0rem 0.4rem 0 0;*/ /*15px 0;*/
  padding: 0.2rem 0rem 0 0rem;
  line-height: 1.15rem;
  color: #fff;
  
  font-size: 1.1rem; 
  box-shadow: 0 0.25rem 0.17rem rgba(0,0,0,.75);
  text-shadow: 0 2px 5px rgba(0,0,0,.8);
  text-transform: uppercase;
  text-align: center;
  
  background: linear-gradient(red 0 0) 50% /34% 100%, linear-gradient(135deg, transparent 19%, red 23%, transparent 90%), linear-gradient(-135deg, transparent 19%, red 23%, transparent 90%);
  background-repeat: no-repeat;
}

/* top right*/
.ribbon-top-right {
  top: -0.5rem; /*-10px;*/
  right: -0.5rem; /*-10px;*/
}
.ribbon-top-right::before,
.ribbon-top-right::after {
  border-top-color: transparent;
  border-right-color: transparent;
}
.ribbon-top-right::before {
  top: 0;
  left: 0;
}
.ribbon-top-right::after {
  bottom: 0;
  right: 0;
}
.ribbon-top-right span {
  left: -21%; /*-25px;*/
  top: 26.5%; /*30px;*/
  transform: rotate(45deg);
}
@-moz-document url-prefix() {
    .ribbon span {
        box-shadow: 0.0.25rem 0.17rem rgba(0,0,0,.77);
        text-shadow: 0 2px 5px rgba(0,0,0,.75);
    }
    .ribbon-top-right::before { top: 0.5px;}
}

/************************************ End Ribbons *****************************************/

