
/*
Theme Name: primo2023
Theme URI: https://www.primo.nz
Author: Craig A Macdonald
Author URI: https://www.primo.nz
Template: twentysixteen
Description: Child theme for Twenty Sixteen. 
Version: 1.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

*/

/* ----- Test Styles ----- */

#vid{
    position: absolute;
    top: 50%; 
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%; 
    min-height: 100%; 
    width: auto; 
    height: auto;
    z-index: -1000; 
    overflow: hidden;
  }
/* ----- Banners ----- */

.page-banner {
 
  background-image: url('https://www.primo.nz/nz/wp-content/uploads/KOTM-and-Hot-chip-hero-banner-simplified.webp');
  background-size: cover;
  background-position: center;

  width: 100%;
  aspect-ratio: 22 / 5; /* matches your 2200×500 */
}
.sixtysix-banner {
    width: 100%; /* Full width */
    height: auto; /* Auto height based on image height */
    min-height: 200px; /* Adjust based on your desired minimum height */
    background-size: cover; /* Ensures full width, crops the sides if necessary */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents tiling */
    background-attachment: scroll; /* Ensures it scrolls with the page */
    position: relative;
}
.page-banner-content {
    color: rgba(255, 255, 255, 1); 
    padding: 0.7vw 0.7vw 0.7vw calc(3% + 1vw);
}
.page-banner-content img {
    border-radius: 0;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .8);
}
.page-banner h1 {
    font-size: 3vw;
    font-weight: 700;
    margin: 30px 0;
    line-height: 3.5rem;
    text-shadow: 7px 6px 13px rgb(39 32 59);
    text-transform: uppercase;
}
.page-banner h2 {
    font-size: 1.75rem;
    font-weight: 700;
    text-shadow: 7px 6px 13px rgba(0, 0, 0, 1);
    max-width:70%;
}
.banner-logo {
    width: 14vw;
    border-radius: 0;
    margin: 1vh 2vw;
}
.svg-shadow {
    filter: drop-shadow(1px 1px 3px rgb(39 32 59));  
} 
/* ----- ^^ Banners ^^ ----- */

/* ----- Site ----- */
:target {
    scroll-margin-top: 100px;
}
html {
    scroll-behavior: smooth;
}
  
body {
    background-color: #1a1a1a;
    padding: 0;
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    color: rgba(228, 230, 235, 1);    
}
/*
body.no-sidebar:not(.search-results) article:not(.type-page) .entry-content { float: left; margin-left: 0; width: 100%;color: rgba(228, 230, 235, 1); 
}
*/

.the-height {
    top: 20px !important;
}
.site {
    background-color: #1a1a1a
}
.site-inner {
    margin: 0 auto;
    max-width: 100%;
    position: relative;
}
.site-header {
    z-index: 999;
    padding: 0.5vh 2vw 0.5vh 3vw;
    box-shadow: 0px 7px 7px -1px rgba(0, 0, 0, 0.5);
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    background: #1a1a1a;
}
.site-branding .site-title, .site-description {
    display:none;
}
.site-content {
    background: #1a1a1a;
    padding-top: 40px;
    padding-bottom: 50px;
    margin-bottom: 50px;
    border-radius: 0px 0px 60px;
    width: 100%;
    color: rgba(228, 230, 235, 1);
    max-width: 2200px;
    margin: 0 auto;
}
.entry-title, .site-info {
    display: none
}
.entry-summary {
    display:none;
}
.site-main > article {
    margin-bottom: 1.5em;
    position: relative;
}
body.no-sidebar:not(.search-results) article:not(.type-page) .entry-content {
    float: none;
    margin-right: inherit;
    margin-left: inherit;
    width: inherit;
}
.entry-footer {
    display: none;
}

/* ----- ^^ Site ^^ ----- */

/* ----- Navigation ----- */

a:hover,
a:focus,
a:active {
	color: rgba(228, 230, 235, 1);
}
.box-link {
    cursor: pointer;  /* Change the cursor to pointer */
    text-decoration: none; /* Optional: remove underline if desired */
    color: inherit;  /* Optional: inherit the text color from the parent element */
    font-family: inherit; /* Ensure the font-family remains unchanged */
    font-size: inherit; /* Ensure the font-size remains unchanged */
    font-weight: inherit; /* Ensure the font-weight remains unchanged */
    box-shadow: none !important;
    box-shadow: none !important;
}
.pointer-link {
    display: inline-block;
    cursor: pointer;  /* Change the cursor to pointer */
    text-decoration: none; /* Optional: remove underline if desired */
    color: inherit;  /* Optional: inherit the text color from the parent element */
    font-family: inherit; /* Ensure the font-family remains unchanged */
    font-size: inherit; /* Ensure the font-size remains unchanged */
    font-weight: inherit; /* Ensure the font-weight remains unchanged */
    box-shadow: none !important;
    transition: color 0.3s ease, transform 0.3s ease;
}
.pointer-link:hover {
    transform: scale(0.97);
}
.su-lightbox:hover {
    transform: scale(0.97);
}
.main-navigation a {
    color: rgba(228, 230, 235, 1);
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    font-size: 1.2rem;
}
.main-navigation ul ul li {
    background-color:transparent;
    border: none;
    border-bottom-width: 0;
}
.post-navigation a {
    color: rgba(228, 230, 235, 1);
    display: block;
    padding: 1.75em 0;
}
.main-navigation a:hover, .main-navigation a:focus {
        color: #31a7eb;
        outline:none;
}
.main-navigation li:hover > ul, .main-navigation li.focus > ul {
    left: auto;
    right: 0;
    outline:none;
}
.main-navigation .current-menu-item > a, .main-navigation .current-menu-ancestor > a {
    font-weight: 700;
    color: #31a7eb;
}
.main-navigation li:hover > a, .main-navigation li.focus > a {
    color: #31a7eb;
    outline:none;
}
.menu-toggle {
    color: #d1d1d1;
    background: #2a3036;
}
.menu-toggle:hover {
    color: #31a7eb;
    border: 1px solid #d1d1d1;
}
.no-sidebar .comments-area,
.no-sidebar .content-bottom-widgets,
.no-sidebar .entry-content,
.no-sidebar .entry-header,
.no-sidebar .entry-summary,
.no-sidebar .image-navigation,
.no-sidebar .page-content,
.no-sidebar .page-header,
.no-sidebar .pagination,
.no-sidebar .post-navigation {
    margin-right: 0;
    margin-left: 0
}
.dropdown-toggle {
    background-color: transparent;
    border: 0;
    border-radius: 0;
    color: rgba(228, 230, 235, 1);
    content: "";
    height: 48px;
    padding: 0;
    position: absolute;
    right: 0;
    text-transform: none;
    top: 0;
    width: 48px;
}
.post-navigation {
    border-bottom:0;
}
/*// ----- remove footer menu on mobile and tablet  ----- */
.site-footer .main-navigation {
	display: none;
}

/* ----- Widgets ----- */

.widget {
    border: none !important;
    margin-bottom: 1em;
}
.widget h1 {
    font-weight: 600;
}
.widget-area {
    border-top: 0;
}
.content-bottom-widgets:before {
    border-top: 0.4vw solid #2a3036;
    width:100%;
}
.content-bottom-widgets:after {
    border-top: 0.4vw solid #2a3036;
    width:100%;
}
.content-bottom-widgets .widget-area {
    margin-bottom: 0;
}
.internet-nz-broadband-map .widget {
    display: grid;
    overflow: hidden;
    grid-template-areas:
        "map"
        "panel";
    border: #f2f2f2 1px solid;
    border-radius: 2px;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .08), 0 4px 8px 0 rgba(0, 0, 0, .2);
    position: relative;
    height: 630px;
    transition: 1s;
}
.internet-nz-broadband-map .widget {
    border: none;
    border-radius: 2px 2px 17px;
}
.internet-nz-broadband-map .primary-panel-container {
    grid-area: panel;
    background-color:#545353;
    box-shadow: 1px 0 1px 0 rgba(0, 0, 0, 0.08);
    z-index: 3;
}
.internet-nz-broadband-map .available-technology {
    background-color:#5E5B5B;
    border-bottom: solid 3px #393838;
}
.internet-nz-broadband-map .status-available,
.status-unavailable {
    color: #fff;
}
li.af_item {
    color: #fff;
}    
li::before {
    content:"";
}
/* ----- ^^ Widgets ^^ ----- */

/* ----- Links and Buttons ----- */

a {
    color: #31a7eb
}
a.h2 {
    text-decoration:underline;
}
.div-button {
    background: #2a3036;
    border: 0;
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    padding: 1em 1em;
    text-transform: uppercase;
    text-align:center;
    border-radius: 7px 7px 17px;
    box-shadow: 7px 7px 7px #121212 !important;
    width:100%;  
}
.div-button:hover {
    background: #31a7eb;
    box-shadow: 5px 5px 5px #121212 !important;
    cursor: pointer;
}
.div-button a {
    color: rgba(228, 230, 235, 1);
}
.button2020 {
    background: #2a3036;
    border: 0;
    color: rgba(228, 230, 235, 1);
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    padding: 1em 1em;
    text-transform: uppercase;
    width: 250px;
    margin: 15px;
    border-radius: 7px 7px 17px;
    box-shadow: 7px 7px 7px #121212 !important;
}
.button_thin {
    background: #2a3036;
    border: 0;
    color: rgba(228, 230, 235, 1);
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    padding: 0.75rem;
    text-transform: uppercase;
    border-radius: 1px 1px 7px;
    box-shadow: 7px 7px 7px #121212 !important;
}
.button3 {
    background: #55ab00;
    border: 0;
    color: rgba(228, 230, 235, 1);
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    padding: 1em 1em 1em;
    text-transform: uppercase;
    border-radius: 2px 2px 17px;
    box-shadow: 7px 7px 7px #121212 !important;
    width:100%;
}
.button3:hover {
    background: #31a7eb;
    color: #1a1a1a;
    box-shadow: 5px 5px 5px #121212 !important;
    cursor: pointer;
}
.button3 a { 
    color: rgba(228, 230, 235, 1);
    text-decoration:none;
}
.button3 a:hover {
    color: #1a1a1a;
}
.button5 {
    background: #e99a1e;
    border: 0;
    color: rgba(228, 230, 235, 1);
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    padding: 1em 1em 1em;
    text-transform: uppercase;
    border-radius: 2px 2px 17px;
    box-shadow: 7px 7px 7px #121212 !important;
    width:100%;
}
.button5:hover {
    background: #31a7eb;
    color: #1a1a1a;
    box-shadow: 5px 5px 5px #121212 !important;
    cursor: pointer;
}
.button5 a {
    color: rgba(228, 230, 235, 1);
    text-decoration:none;
}
.button5 a:hover {
    color: #1a1a1a;
}
.grid-return {
    position: absolute;right: 0;
}
.grid-return-button {
    background: #2a3036;
    border: 0;
    color: rgba(228, 230, 235, 1);
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    padding: 1em 1em;
    text-transform: uppercase;
    text-align: center;
    width: 300px;
    border-radius: 2px 2px 17px;
    box-shadow: 7px 7px 7px #121212 !important;
    display:none;

}
.grid-return-button:hover {
    color: #31a7eb;
    width: 298px;
    box-shadow: 5px 5px 4px #121212 !important;
    font-size:16.9px;
}
.button2024 {
    /* Fallback styles */
    background-color: #2a3036; /* Fallback background color */
    color: rgba(228, 230, 235, 1); /* Fallback text color */
    border: 0;
    border-radius: 7px 7px 17px;
    box-shadow: 3px 3px 6px #121212 !important;
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    text-align: center;
    padding: 0.8em 0.8em;
    text-transform: uppercase;
    width: 100%;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  
    /* CSS Variables */
    --bg-color: #2a3036; /* Default background color */
    --text-color: rgba(228, 230, 235, 1); /* Default text color */
    --hover-bg-color: currentColor; /* Default hover background color */
  }
  .button2024:hover {
    background-color: var(--hover-bg-color);
    color: var(--bg-color);
    border-color: var(--hover-bg-color);
  }
  .home-section-button {
    width: 20%;
    position: absolute;
    right: 20px;
    bottom: 20px;
    min-width: 150px;
    max-width: 333px;
  }
.svg-link {
    transition: transform 0.3s ease;
}
.svg-link:hover {
    transform: scale(0.97);
    filter: drop-shadow(1px 1px 2.7px rgba(39, 32, 59, 1));
}
a.big-links {
    font-size: 1.3vw;
    font-weight: 600;
    line-height: 3.9vw;
    text-transform: uppercase;
    margin: 0 0 1.75rem;
    color: #fff;
    text-shadow: 2px 1px 5px rgba(39, 32, 59, 1);

}
a.plan-heading {
    font-size: 1.3vw;
    font-weight: 600;
    line-height: 3.9vw;
    text-transform: uppercase;
    margin: 0 0 1.75rem;
    color: #fff;
    text-shadow: 2px 1px 5px rgba(39, 32, 59, 1);

}
/*
a.big-links:hover {
    padding: 1.2vw;
    border: 3px solid;
    border-radius: 7px 7px 37px 7px;
    background-color: rgba(39, 32, 59, 0.8);



    text-shadow: none;
    background-color: rgba(49, 167, 235, 1);
    box-shadow: 7px 7px 7px rgba(39, 32, 59, 1);
}
*/
a.column16 {
    padding: 0 0 1rem 0;
}
h2.button2024 {
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.5rem;
}
.refresh-icon {
    position: fixed;
    top: 170px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: #2a3036;
    border-radius: 1px 1px 7px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    cursor: pointer;
    transition: transform 0.3s ease;
}
.refresh-icon:hover {
    transform: scale(0.97);
    filter: drop-shadow(0px 2px 2.7px rgba(0, 0, 0, 0.3));
}
.refresh-icon img {
    width: 24px;
    height: 24px;
    display: inline-block;
    vertical-align: middle;
}
.refresh-icon img:hover {
    transform: scale(0.97);
}

/* ----- Colours and shades ----- */

.amber      {
    color:#FFCF06;
    --hover-bg-color:#FFCF06;
}
.coolsky    {
    color:#00AEEF;
    --hover-bg-color:#00AEEF;
}
.country    {
    color:#92C83E;
    --hover-bg-color:#92C83E;
}
.niceday    {
    color:#69CEF6;
    --hover-bg-color:#69CEF6;
}
.sunset     {
    color:#F7941D;
    --hover-bg-color:#F7941D;
}
.pohutukawa {
    color:#ED2046;
    --hover-bg-color:#ED2046;
}
.royale     {
    color:#841D80;
    --hover-bg-color:#841D80;
}
.shadow5 {
    background-color: rgba(0, 0, 0, 0.05);
}
.hovercolour-amber:hover {
    color: #FFCF06;
}
.hovercolour-coolsky:hover {
    color: #00AEEF;
}
.hovercolour-country:hover {
    color: #92C83E;
}
.hovercolour-niceday:hover {
    color: #69CEF6;
}
.hovercolour-sunset:hover {
    color: #F7941D;
}
.hovercolour-pohutukawa:hover {
    color: #ED2046;
}
.hovercolour-royale:hover {
    color: #841D80;
}
/* ----- ^^ Colours and shades ^^ ----- */

/* ----- Page Layout ----- */
section {
    margin-bottom: 4vh;
}
.home-section {
    margin: 4vh 0px;
}
.center {
    display: flex;
    justify-content: center;
    align-items: center;
}
#more-cams {
    margin-top:20px;
}
.su-gmap {
    margin:0 !important;
}
/* ----- Page Layout ----- */
/* ----- Columns ----- */

.row {
    display: flex;
    flex-wrap: wrap;
    clear: both;
}
.row::after {
    content: "";
    display: flex;
    clear: both;
}
.column {
    float: left;
    width: 50%; /* Adjusted width */
    padding:  10px 20px; /* Adjusted padding */
}
.column3 {
    float: left;
    width: calc(33.33% - 5px);
    padding: 2vh 1vw;
}
.column5 {
    float: left;
    width: calc(20% - 5px); /* Adjusted width */
    padding: 2vh 1vw;
}
.column16 {
    float: left;
    width: calc(16.66% - 5px); /* Adjusted width */
    padding: 2vh 1vw;

}
.column66 {
    float: left;
    width: calc(66.66% - 5px); /* Adjusted width */
    padding: 2vh 1vw;
}
.column75 {
    float: left;
    width: calc(75% - 5px); /* Adjusted width */
    padding: 10px 5px; /* Adjusted padding */
}
.column {
  flex: 50%;
}
.column4 {
    flex: 25%;
    padding: 2vh 1vw;
}
.flex-column {
    flex: 50%;
}
.flex-column3 {
    flex: 33%;
}
.flex-column66 {
    flex: 66%;
}
.flex-column75 {
    flex:75%;
}
/* Naked Flex rows */
.flex-row {
    display: flex; /* Use flexbox for rows */
    flex-wrap: wrap; /* Allow wrapping */
    margin-bottom: 20px; /* Space between rows */
}
/* Individual Column Styles */
.flex-column {
    flex: 1; /* Allow columns to grow equally */
    /* min-width: 220px;  /* Minimum width for responsiveness */
    margin-right: 3rem; /* Space between columns */
}
/* Remove margin from the last column */
.flex-column:last-child {
    margin-right: 0; /* Remove margin on the right of the last column */
}


/* ----- ^^ Columns ^^ ----- */
/* ----- Boxes ----- */


.home-intro-box {
    position: relative;
    z-index: 1;
}
.home-intro-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
    linear-gradient(to right, rgba(0, 0, 0, 0.9) 40%, rgba(0, 0, 0, 0.9) 40%, transparent 90%), /* Gradient layer */
    url('https://www.primo.nz/nz/wp-content/uploads/hands-together1920x700px.webp'); /* Background image layer */
    background-size: cover; /* Ensures full width, crops the sides if necessary */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents tiling */
    background-attachment: scroll; /* Ensures it scrolls with the page */
    z-index: -1;
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1); 
}
.home-cst-box {
    position: relative;
    z-index: 1;
    display: flex;                     /* Use Flexbox for alignment */
    flex-direction: column;            /* Stack children vertically */
    justify-content: flex-end;         /* Align children to the bottom */
    height: 300px;                     /* Set a fixed height to maintain box size */
    overflow: hidden;
    padding-bottom: 15px;                       /* Hide overflow content */
}
.home-cst-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
    linear-gradient(to right, rgba(0, 0, 0, 0.9) 40%, rgba(0, 0, 0, 0.9) 40%, transparent 90%), /* Gradient layer */
    url('https://www.primo.nz/nz/wp-content/uploads/IMG_1524_Anthony-copy.webp'); /* Background image layer */
   
    background-size: cover; /* Ensures full width, crops the sides if necessary */
    background-position: center right;
    background-repeat: no-repeat; /* Prevents tiling */
    background-attachment: scroll; /* Ensures it scrolls with the page */
    
    z-index: -1;
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1);
    
}
.home-secondary-promotion-box {
    position: relative;
    z-index: 1;
}
.home-secondary-promotion-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
    linear-gradient(to right, rgba(0, 0, 0, 0.9) 40%, rgba(0, 0, 0, 0.9) 40%, transparent 90%), /* Gradient layer */
    url('https://www.primo.nz/nz/wp-content/uploads/Large-Bryan-Banner-composite-1500x400-2.webp'); /* Background image layer */
   
    background-size: cover; /* Ensures full width, crops the sides if necessary */
    background-position: 0% 90%;
    background-repeat: no-repeat; /* Prevents tiling */
    background-attachment: scroll; /* Ensures it scrolls with the page - change to fixed for budget parallax */
    
    z-index: -1;
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1);  
}
.home-tertiary-promotion-box {
    position: relative;
    z-index: 1;
}
.home-tertiary-promotion-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
    linear-gradient(to right, rgba(0, 0, 0, 0.9) 40%, rgba(0, 0, 0, 0.9) 40%, transparent 90%), /* Gradient layer */
    url('https://www.primo.nz/nz/wp-content/uploads/Boots-on-the-ground-web-banner-background.webp'); /* Background image layer */
   
    background-size: cover; /* Ensures full width, crops the sides if necessary */
    background-position: 0% 90%;
    background-repeat: no-repeat; /* Prevents tiling */
    background-attachment: scroll; /* Ensures it scrolls with the page - change to fixed for budget parallax */
    
    z-index: -1;
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1);  
}
.home-com-partners-box {
    position: relative;
    z-index: 1;
}
.home-com-partners-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
    linear-gradient(to right, rgba(0, 0, 0, 0.9) 40%, rgba(0, 0, 0, 0.9) 40%, transparent 90%), /* Gradient layer */
    url('https://www.primo.nz/nz/wp-content/uploads/nzconnection.webp'); /* Background image layer */
   
    background-size: cover; /* Ensures full width, crops the sides if necessary */
    background-position: center;
    background-repeat: no-repeat; /* Prevents tiling */
    background-attachment: scroll; /* Ensures it scrolls with the page - change to fixed for budget parallax */
    
    z-index: -1;
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1);  
}
/*.page-header-box {
    position: relative;
    z-index: 1;
}
.page-header-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
    linear-gradient(to right, rgba(0, 0, 0, 0.9) 40%, rgba(0, 0, 0, 0.9) 40%, transparent 90%),
    url('https://www.primo.nz/nz/wp-content/uploads/nzconnection.webp'); 
   
    background-size: cover; 
    background-position: center;
    background-repeat: no-repeat; 
    background-attachment: scroll;
    
    z-index: -1;
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1);  
}
*/
.sub-promo-box {
    margin: 20px 0;
    padding: 10px 2vw;
    border-radius: 7px 7px 37px;
    position: relative;
    z-index: 1;
}
.sub-promo-box h2, .sub-promo-box h3{
    margin-top: 0.4em !important;
}
.common-features-box {
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1);
    padding: 10px 2vw;
    margin-top: 3vh; 

}
.common-features-box .flex-row {

}
.common-features-box h2, .common-features-box h3, .common-features-box p {
    margin-top: 0.4em !important;
}
.home-service-box {
    padding: 0 20px;
}
.home-basic-box {
    position: relative;
    z-index: 1;
    border-radius: 7px 7px 37px;
    box-shadow: inset 0px 4px 6px 0px rgba(0, 0, 0, 1);
    
} 
.profile-container {
    margin-bottom: 20px;
}
/* Flex layout for the image and text */
.profile-content {
    display: flex;
    align-items: flex-start;
    gap: 20px; /* Space between image and text */
}
/* Profile Image Styling */
.profile-pic {
    width: 266px;
    height: auto;
    flex-shrink: 0; /* Ensures the image doesn't shrink */
    border-radius: 7px 7px 37px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
}
.profile-pic::before {
    box-shadow: inset 0px 4px 12px 0px rgba(0, 0, 0, 0.5);
}
/* Text Section */
.profile-text {
    display: flex;
    flex-direction: column;
    flex: 1; /* Takes up the remaining space */
}
/* h2 Styling specific to .profile-content */
.profile-content h2 {
    margin-top: 0;
}
.entry-content .profile-content h2:first-child {
    margin-top: 0;
    font-size: 1.5rem;
}
.entry-content .profile-content h3 {
    margin-top: 1em;
    margin-bottom: 1em;
}
/* Media query for profile posts */
@media (max-width: 750px) {
    .profile-content {
        flex-direction: column;
    }

    .profile-text {
        width: 100%; /* Ensure the text takes up the full width when dropping */
        align-items: center;
        text-align: center;
    }

    .profile-pic {
        width: 300px; /* Keep the image width fixed at 266px */
        margin: 0 auto; /* Center the image horizontally */
        display: block; /* Ensure proper centering */
    }

    .entry-content .profile-content h2:first-child {
        margin-top: 0;
    }
    .entry-content .profile-content h3 {
        margin-top: 0;
        margin-bottom: 1em;
    }
}
.yellow-box {
    border: 3px solid rgba(255,207,6,1);
    border-radius: 1px 1px 17px;
    box-shadow: inset 0 0 45px 0px rgba(255, 207, 6, 0.07);
    padding:20px;
    width:100%;  
}
.yellow-box p {
    color: rgba(255,207,6,1);
    margin: 1.5rem 0 1.5rem;  
}
/* ----- ^^ Boxes ^^ ----- */

/* ----- Flex Boxes ----- */

.flex-intro {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: normal;
    align-content: space-between;
    padding: 0.7vw 0.7vw 0.7vw calc(1% + 1vw);
    clear:both;
}
.flex-intro-item:nth-child(1) {
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: auto;
    order: 0;
}  
.flex-intro-item:nth-child(2) {
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: auto;
    order: 0   
}
.flex-8x1-4x2 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: center;
    align-content: center;
    gap: 10px;
    padding: 0.5rem 1.5rem;
}
.flex-8x1-4x2-item {
    flex-basis: auto;
}
.flex-8x1-4x2 a {
    box-shadow: none;
}

/* ----- ^^ Flex Boxes ^^ ----- */

/* ----- Typography ----- */

p {
    color: rgba(228, 230, 235, 1);
}
h1,h2,h3,h4,h5,h6 {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
    font-family: inherit;
    color: inherit;
    text-rendering: optimizelegibility;
    font-weight: 500;
}
h2 {
    font-size: 22px;
    line-height: 1.5em;
    font-weight: 500;
    letter-spacing: normal;
    margin-top: 15px;
    margin-bottom: 15px
}
h4 {
    padding: 5px 5px 5px 0;
    font-weight: 500;
    font-size: 150%;
    text-decoration: none;
    
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h1,
.entry-summary h2,
.entry-summary h3,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6,
.comment-content h1,
.comment-content h2,
.comment-content h3,
.comment-content h4,
.comment-content h5,
.comment-content h6,
.textwidget h1,
.textwidget h2,
.textwidget h3,
.textwidget h4,
.textwidget h5,
.textwidget h6 {
    font-weight: 500;
}
.comment-content h3,
.entry-content h3,
.entry-summary h3,
.textwidget h3 {
    font-size: 1rem
}
.entry-content h1, .entry-summary h1, .comment-content h1, .textwidget h1 {
    font-size: 3vw;
    font-weight: 700;
}
.entry-content h2, .entry-summary h2, .comment-content h2, .textwidget h2 {

    font-weight: 600;
    /*font-size: 1.3vw;
    line-height: 1.75rem;*/
}
.entry-content h2:first-child, .entry-content h3:first-child, .entry-content h4:first-child, .entry-content h5:first-child, .entry-content h6:first-child, .entry-summary h1:first-child, .entry-summary h2:first-child, .entry-summary h3:first-child, .entry-summary h4:first-child, .entry-summary h5:first-child, .entry-summary h6:first-child, .comment-content h1:first-child, .comment-content h2:first-child, .comment-content h3:first-child, .comment-content h4:first-child, .comment-content h5:first-child, .comment-content h6:first-child, .textwidget h1:first-child, .textwidget h2:first-child, .textwidget h3:first-child, .textwidget h4:first-child, .textwidget h5:first-child, .textwidget h6:first-child {
    margin-top: 0.8em;
} 
.comment-content h3, .entry-content h3, .entry-summary h3, .textwidget h3 {
    font-size: 1.2rem;
}  
h1.intro-heading {

}
.intro-byline {
    margin: 0;
    max-width: 70%;
    font-size: 1.5rem;
    transition: transform 0.3s ease;  /* Optional: smooth transition when quote grows */
}
#cst_quote .intro-byline {
    margin: 0;
    max-width: 70%;
    font-size: 1.5rem;
    line-height: 1.5;                  /* Adjust for better readability */
    text-align: left;                  /* Ensure proper alignment */
    transition: transform 0.3s ease;   /* Optional: smooth transition for growing text */
    position: relative;
    bottom: 15px;                      /* Always keep the quote container 15px from the bottom */
}
/* Additional rule for when the quote is displayed */
#cst_quote .quote-item {
    opacity: 1;                        /* Start hidden */
    transition: opacity 0.3s ease;    /* Smooth opacity transition */
    position: relative;   
}
#cst_quote.quote-item.show {
    opacity: 1;                       /* Show when class is added */
}
.featured-text {
    font-size: 6vw;
    font-weight: 600;
    line-height: 6vw;
    hyphens: none;
    word-break:break-word;
    margin: 0 0 5vh;
}
h1.big-links {
    font-size: 1.5vw;
    font-weight: 600;
    line-height: 1vw;
}
h1.plan-heading {
    font-size: 2.3rem;
    font-weight: 600;
    line-height: 2rem;
}
h2.big-statement {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5rem;
    margin-top: 0.5em;
    height: 7vh;
}
h2.box-statement {
    font-size: 1.2rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 1vh;
}
h2.commercial-heading {
    font-size: 2rem;
    padding: 0.7vw calc(1% + 0.1vw) 0 calc(1% + 1vw);
    margin-bottom: auto;
}
.box-price {   
font-size: calc(300% + 0.3vw);
}
h2.box-features {
    font-size: 1.3vw;
    font-weight: 600;
    line-height: 1.5vw;
    text-align:center;

}
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    position: absolute !important;
    white-space: nowrap;
    height: 1px;
    width: 1px;
    overflow: hidden
}

/* hr {border: 0;height: 2px;margin: 10px 0 20px;background-image: linear-gradient(to right,rgba(30,30,30,1),rgba(255,207,6,1),rgba(30,30,30,1));} */

hr {
    height:0.3vw;
    background-color: #2a3036;
    margin: 1em 0 1.75em;
}
blockquote, blockquote p {
  position: relative;
  font-family: Montserrat,"Helvetica Neue",sans-serif;
    font-size: 1rem;
    line-height: 1.3rem;
  font-style: italic;
    color: #ffcf06;

}
blockquote:before, blockquote p:before {
  content: '\201C';
position: absolute;
top: .05em;
left: -.50em;

font-size: 2rem;
z-index: 2;

}
.equilateral-bullet {
    list-style: none;
    position: relative;
    padding-left: 2em;
    --triangle-color: currentColor;
} 
.equilateral-bullet::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.75em solid var(--triangle-color);
    border-top: 0.375em solid transparent;
    border-bottom: 0.375em solid transparent;
} 
.star-bullet {
    list-style: none;
    position: relative;
    padding-left: 3em;
    --star-color: currentColor; /* Use this variable for the star color */
} 
.star-bullet::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); /* Center the star vertically */
    width: 1em; /* Width of the star */
    height: 1em; /* Height of the star */
    background-color: var(--star-color);
    clip-path: polygon(50% 0%, 61% 38%, 98% 38%, 68% 62%, 79% 100%, 50% 76%, 21% 100%, 32% 62%, 2% 38%, 39% 38%);
}
.hollow-star-bullet {
    list-style: none; /* Remove default list style */
    position: relative; /* Positioning for the pseudo-element */
    padding-left: 2em; /* Space for the bullet */
}  
.hollow-star-bullet::before {
    content: '';
    position: absolute; /* Position the hollow star relative to the list item */
    top: 50%; /* Center vertically */
    left: 0; /* Align to the left */
    transform: translateY(-50%); /* Center the star */
    width: 1em; /* Width of the star */
    height: 1em; /* Height of the star */
    border: 0.2em solid var(--star-color); /* Outline color for the hollow star */
    background-color: transparent; /* Transparent background for hollow effect */
    clip-path: polygon(50% 0%, 61% 38%, 98% 38%, 68% 62%, 79% 100%, 50% 76%, 21% 100%, 32% 62%, 2% 38%, 39% 38%); /* Star shape */
}
.amber-bullet {
    --triangle-color: #FFCF06;
    --star-color: #FFCF06;
} 
.coolsky-bullet {
    --triangle-color: #00AEEF;
    --star-color: #00AEEF;
}
.country-bullet {
    --triangle-color: #92C83E;
    --star-color: #92C83E;
} 
.niceday-bullet {
    --triangle-color: #69CEF6;
    --star-color: #69CEF6;
} 
.sunset-bullet {
    --triangle-color: #F7941D;
    --star-color: #F7941D;
}  
.pohutukawa-bullet {
    --triangle-color: #ED2046;
    --star-color: #ED2046;
} 
.royale-bullet {
    --triangle-color: #841D80;
    --star-color: #841D80;
}
/* ----- ^^ Typography ^^ ----- */

/* ----- Images ----- */

img {
    border-radius: 7px 7px 17px;
}
.post-thumbnail img {
    margin-left: 0;
    margin-right: 0;
    border-radius: 1px 1px 17px;
}
img.emoji {
    border-radius:0;
}
/* ----- ^^ Images ^^ ----- */

/* ----- Tabs ----- */

.su-tabs-nav span {
    display: inline-block;
    margin-right: 3px;
    padding: 20px 50px;
    min-height: 55px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    color: #333;
    font-size: 13px;
    line-height: 20px;
    cursor: pointer;
    transition: all .2s;
  }
/* ----- ^^ Tabs ^^ ----- */

/* ----- Accordians ----- */
.ctAccordion.skin-primo > li > a {
    color: #00aeef;  
}
.accordian-links {
    font-size: 15px !important; 
    padding: 0 !important; 
    text-decoration: underline !important; 
    color: #31a7eb !important;
}
/* ----- ^^ Accordians ^^ ----- */

/* ----- Tables ----- */
.white_pages_table {
    width:100%;
    border: 1px solid red;
}
.white_pages_table td {
    padding: 15px;
    border: 1px solid black;
}
/* ----- ^^ Tables ^^ ----- */

/* ----- Grids ----- */

.post-grid .item .layer-media img {
    border-radius: 1px 1px 17px !important;
    box-shadow: none;
    width: 100%;
}
/* ----- ^^ Grids ^^ ----- */

/* ----- Maps ----- */
.acf-map {
    width: 100%;
    height: 335px;
    border: 0;
    margin: 0;
    border-radius: 1px 1px 17px;
}
.time-lapse-vid {
    width: 100%;
    height: 335px;
    border: 0;
    margin: 0;
    border-radius: 1px 1px 17px;
}
.acf-map img {
    border-radius:0;
    border:0;
}
.cam-box {
    cursor: zoom-in;
}
/* ----- ^^ Maps ^^ ----- */

/* ----- Forms ----- */

.grecaptcha-badge {
    visibility: hidden;
}
div[data-lastpass-icon-root] { 
    display: none; 
}
div[data-lastpass-root] { 
    display: none; 
}
input, input[type=email], p, li, textarea {
    font-size: 14px;
    line-height: 1.7em;
    font-family: Montserrat, "Helvetica Neue", sans-serif;
}
.su-spoiler-content li {
    font-size: 1em;
    /* line-height: 1.4em; */
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    margin-bottom: 1rem;
}
input[type=radio] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: .4375em;
    padding: 0;
    margin-left: .2em;

}
span.wpcf7-list-item {
    display: inline-block;
    margin: 0.65em 0.7em;
    cursor:pointer;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="number"], textarea {
    background: #3a3b3c;
    background-image: none;
    background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    border: 0px;
    border-radius: 1px 1px 5px;
    color: rgba(228, 230, 235, 1);
    padding: .625em .4375em;
    width: 100%;
}


input[type="submit"], input[type="file"] {
    background: #2a3036;
    border: 0;
    color: rgba(228, 230, 235, 1);
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    padding: 1.5em 1em 1.5em;
    text-transform: uppercase;
    width: 250px;
    margin: 15px;
    border-radius: 7px 7px 17px;
    box-shadow: 7px 7px 7px #121212;
    cursor:pointer;
}
input[type="file"] {  
    width: 97%;
    margin: 7px;  
}
input:focus,textarea:focus {
    background: #3a3b3c !important;
    color: rgba(228, 230, 235, 1) !important;
    outline:none;
}
input[type="submit"][disabled]:hover {
    background: #382727; 
    padding: 1.5em 1em 1.5em;
}
.wpcf7 input[type="date"] {
    -webkit-appearance: menulist;
    appearance: menulist;
    font-family: inherit;
    background: #2a3036;
    border: 0;
    color: rgba(228, 230, 235, 1);
    min-width:95%;
}
.confirm_email-369 {
    background: #f7f7f7;
    background-image: none;
    background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    border: 1px solid #d1d1d1;
    border-radius: 1px 1px 5px;
    color: #999;
    padding: .625em .4375em;
    width: 100%
}
.wpcf7 {
    margin: 0 10px;
}
.wpcf7 h3 {
    font-size: 16px;
}
.wpcf7-list-item {
    margin-right: 1em
}
.wpcf7-select {
    padding: 10px 5px;
}
.wpcf7 hr {
    height:0.3vw;
    background-color: #2a3036;
    margin: 1em 0 1.75em;
}
/* .wpcf7 hr {
    border: 0;
    height: 2px;
    margin: 10px 0 20px 0;
    background-image: linear-gradient(to right, rgba(30, 30, 30, 1), rgba(255, 207, 6, 1), rgba(30, 30, 30, 1));
} */
.wpcf7 hr.subdivider {
    width:60%;
    border: 0;
    height: 1px;
    margin: 5px auto 10px;
    background-image: linear-gradient(to right,rgba(30,30,30,1),rgba(255,207,6,1),rgba(30,30,30,1));
}
.wpcf7-form-control-wrap {
    margin-bottom: 10px !important;
    display: block !important;
    background: #3a3b3c;
    border: 0px;
    border-radius: 1px 1px 5px;
    padding: .5em .3em;
    width: 100%;
}
/* Container for rows */
.wpcf7 .form-row {
    display: flex; /* Use flexbox for rows */
    flex-wrap: wrap; /* Allow wrapping */
    margin-bottom: 20px; /* Space between rows */
}
/* Individual Column Styles */
.wpcf7 .form-column {
    flex: 1; /* Allow columns to grow equally */
    min-width: 220px; /* Minimum width for responsiveness */
    margin-right: 15px; /* Space between columns */
}
/* Remove margin from the last column */
.wpcf7 .form-column:last-child {
    margin-right: 0; /* Remove margin on the right of the last column */
}
::-webkit-input-placeholder {
    /* WebKit browsers */
    color: #999 !important;
    opacity: 1;
}
:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #999 !important;
    opacity: 1;
}
::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #999 !important;
    opacity: 1;
}
:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    color: #999 !important;
    opacity: 1;
}
.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors {
    color: rgba(228, 230, 235, 1);
    background-color: #b9090b;
    border: 0;
    padding: .625em .4375em;
    border-radius: 1px 1px 5px;
    text-align: center;
}
.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
    color: rgba(228, 230, 235, 1);
    background-color: #92c83e;
    border: 0;
    padding: .625em .4375em;
    border-radius: 1px 1px 17px;
    text-align: center;
}
div.wpcf7-mail-sent-ok:before, div.wpcf7-validation-errors:before {
    font: 26px/30px FontAwesome;
    margin-right: 16px;
    vertical-align: middle;
}
div.wpcf7-mail-sent-ok:before {
    content: '\f00c';
}
div.wpcf7-validation-errors:before {
    content: '\f057';
}
span.wpcf7-not-valid-tip {
    color: #b9090b;
    font-weight: 600;
    display: block;
    margin-left: 7px;
}
.wpcf7-radio {
    height: 100px;
}
select.wpcf7-form-control.wpcf7-select {
    background: transparent;
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    color: #999;
    padding: 5px;
    margin-left:20px;
    font-size: 14px;
    line-height: 1;
    border: 0;
    border-radius: 0;
    height: 34px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;   
}
select.wpcf7-form-control.wpcf7-select > option {
    color: #000;
}
.wpcf7-field-group-remove {
    font-size:3em;
}
.selektor {
    background: url(https://www.primo.nz/nz/wp-content/uploads/bluedown24px.png) no-repeat right;
}
.sfwcf7_canvas {
    margin: 0 auto;
    display: block;
}
.btn { 
    margin: 0 auto;
    display: block;
}
.dswcf7_digital_sig .wpcf7-form-control-wrap {
    margin-bottom: 10px !important;
    display: block !important;
    background: none;
    border: 0px;
    border-radius: 1px 1px 5px;
    padding: .5em .3em;
    width: 100%;
}
/* //--- Sign-up Form Specific ----- */
.cs-prompt .wpcf7-form-control-wrap {
    margin-bottom: 0 !important;
      background: rgb(255, 207, 6);
      padding: .1em .3em;
      font-size: 12px;
      border: 1px solid rgba(255, 207, 6, 1);
      -moz-box-shadow: inset 0 0 5px 1px rgba(255, 207, 6, 1);
      -webkit-box-shadow: inset 0 0 5px 1px rgba(255, 207, 6, 1);
      box-shadow: inset 0 0 5px 0px rgba(255, 207, 6, 0.7);
      color: #000;
      font-weight: 700;
}   
.cs-info {
        background: rgba(146, 200, 62, 1);
        padding: 1em;
        color: #000;
        font-weight: 700;
        font-size: 14px;
        border: 1px solid rgba(0, 0, 0, 1);
        border-radius: 1px 1px 17px;
        -moz-box-shadow:    inset 0 0 5px 1px rgba(146, 200, 62, 1);
        -webkit-box-shadow: inset 0 0 5px 1px rgba(146, 200, 62, 1);
        box-shadow:         inset 0 0 5px 0px rgba(146, 200, 62, 0.7);
        margin-bottom: 1rem;
}
.cs-prompt {
    margin-bottom: 1rem;
}
.customer, account-type, .account-authority, .sigtest {
    padding: 0;
}
.su-sub {
    width:100% !important;
    margin:0 !important
}
.gold-alert {
    color: #ffcf06;
    text-align: center;
    margin-top: 39px;
    position: inherit;
    border: 3px solid #ffcf06;
    border-radius: 1px 1px 7px;
    line-height: 1;
    width: 100%;
    padding: 8px;
}
.user-status {
    margin-top: 52px;
    height:40px;
    background-repeat: no-repeat;
    background-position: center; 
}
[class*="-contract"]::after,[class*="-plan"]::after,[class*="-ups"]::after,
[class*="-zone"]::after,[class*="-ip"]::after,[class*="choose"]::after,[class*="-rep"]::after,
[class*="-surge"]::after,[class*="-backup"]::after,[class*="-club"]::after,[class*="plan-select"]::after {
    content: '▼';
    font-size: 16px;
    color: #31a7eb;
    left: 10px;
    top: 14px;
    padding: 0 0 2px;
    position: absolute;
    pointer-events: none;
}
.copybutton {
    float: right;
    padding: 3px 5px 2px 10px;
    border-radius: 1px 1px 5px;
    background: rgb(0, 174, 239);
    font-weight: 700;
    color: #000;
    text-shadow: none;
    cursor:pointer;
} 
/* //--- Modal Form Tabs ----- */
#slideOut {
    position: fixed;
    z-index: 10000;
    width: 510px;
    height: 500px;
    top: 150px;
    right: -510px;
    background: rgba(30, 30, 30, 0.95);
    padding: 1em 3em;
    font-size: 12px;
    border: 3px solid rgba(255, 207, 6, 1);
    border-right: 0;
    border-radius: 7px 0 0 7px;
    box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.4);
    /* Animation  */
    transition-property: all;
    transition-duration: .05s;
    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
}  
.slideOutTab {
    margin-top: -20px;
    position: absolute;
    left: -60px;
    height: 250px;
    width: 60px;
    background: #FFCF06;
    border-radius: 17px 0 0 17px;
    box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.4);
    cursor:pointer;
}
.slideOutTab div {
    text-align: center;
    position: relative;
    right: 65px;
    top: 90px;
    background: #FFCF06;
    color:#000;
    width: 180px;
    transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    writing-mode: lr-tb;
}
.slideOutTab h4 {
    font-weight: 900;
}
.showSlideOut {
    right: 0px !important;
}
.modal-body {
    height: 400px;
}

/* //--- Captcha ----- */
/*
.grecaptcha-badge {
    visibility: hidden;
    opacity: 0;
    transition: linear opacity 1s;
}
.grecaptcha-badge.showgr {
    visibility: visible;
    opacity: 1;
    transition: linear opacity 1s;
}
 */

/* ----- ^^ Forms ^^ ----- */

/* ----- Address Finder ----- */

ul.af_list {
    list-style: none;
    padding: 1rem;
    margin: 0;
    border: solid 1px #666;
    background: #3a3b3c;
    color: rgba(228, 230, 235, 1);    
}
li.af_item {
    cursor: pointer;
}
li.af_hover {
    background-color: steelblue;
    color: white;
}
li.af_footer {
    display:none !important;
    font-size: 0.8em;
    color:#3a3b3c;
    text-align: right;
}
li.af_footer a { 
    color:#3a3b3c;
}
/* ----- ^^ Address Finder ^^ ----- */

/* ----- Page Styles ----- */

.site-info {
    display: none
}
.entry-content {
    margin-left: 0
}
.site-main {
    margin-bottom: 0
}
.site {
    margin: 0;
}
/* ----- ^^ Page Styles ^^ ----- */



.site-footer .social-navigation {
    display:none;
}
:focus {
      outline: none;
}
:hover {
      outline: none;
}

/* ----- Media Queries ----- */

/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-width : 320px)
and (max-width : 480px) {
    .column,
    .column3,
    .column4,
    .column66 {
        flex: 100%;
        padding: 3vh 5vw 0 5vw;
    }
    .column3 {
        padding: 0;
    }
    .column16 {
        flex: 20%;
        padding: 3vh 5vw 0 5vw;
    }

    .flex-8x1-4x2 {
        display: flex;
        flex-wrap: wrap;
        padding:0;
    }
    .flex-column {
        flex: 100%;
        padding: inherit;
        margin-right: 0;
      }
    .site-content {
        padding: 0 5vw 0 5vw;
    }
    .entry-content h1, .entry-summary h1, .comment-content h1, .textwidget h1 {
        font-size: 9vw;
        font-weight: 700;
    }
    .entry-content h2:first-child {
        margin-top: 2vh;  
    }
    /* .page-banner {
        min-height: 250px;
    }
    */
    .banner-logo {
        width: 20vw;
        border-radius: 0;
        margin: 1.5vh;
    }
    .svg-shadow {
        filter: drop-shadow(0px 1px 2px rgb(39 32 59));
    }
    .page-banner h1 {
        font-size: 1.5rem;
        font-weight: 700;
        text-shadow: -1px 1px 4px #000000;
        line-height: 1.8rem;
    }
    .page-banner h2 {
        text-shadow: 1px 1px 3px rgb(35, 22, 38);
      }
    a.big-links {
        font-size: 2.8vw;
        font-weight: 600;
        line-height: 3.9vw;
        text-transform: uppercase;
        margin: 0 0 1.75rem;
        color: #fff;
        text-shadow: 1px 1px 3px rgba(39, 32, 59, 1);
    }
    .home-section {
        margin: 30px 0;
    }
    h1.plan-heading {
        font-size: 7vw;
        font-weight: 600;
        margin-top: 0;
    }
    h2.big-statement {
        font-size: 3.5vw;
        font-weight: 600;
        line-height: 4.5vw;
        margin:0;
    }
    h2.intro-byline, .intro-box h2 {
        font-size: 0.9rem;
        line-height: 1.2;
        max-width: 90%;
        margin-bottom: 1rem; 
    }
    #cst_quote .intro-byline {
        margin: 0;
        font-size: 0.8rem;
        text-align: left;
        max-width: 80%;                  
        transition: transform 0.3s ease;   
        position: relative;
        bottom: 10px;  
    }
    #cst_quote .quote-item {
        opacity: 1;           
        transition: opacity 0.3s ease;  
        position: relative;   
    }
    #cst_quote.quote-item.show {
        opacity: 1;              
    }
    .flex-intro {
        padding: 0.7vw calc(5% + 1vw) 0.7vw calc(5% + 1vw);
    }
    .intro-box {
        margin: 40px 0;
    }
    .intro-box h1 {
        font-size: 2rem;  
    }
    .intro-box h3, .sub-promo-box h3 {
        font-size: 0.8rem;
        line-height: 1.3;
        margin-top: 0.8em;
        margin-bottom: 0.8em;
        text-shadow: 1px 1px 3px rgb(0, 0, 1);
    }
    .intro-box::before {
        background-position: center right 25% !important;
    }
    .common-features-box  h3 {
        font-size: 0.9rem;
        text-align: left;
    }
    .home-service-box {
        padding: 0 15px;
    }
    .home-cst-box {
        height: 250px;
      }
    h2.box-statement {
        font-size: 1rem;
        font-weight: 600;
        margin-top: 2vh;
        margin-bottom: 1vh;
    }
    h2.shout-out {
        margin-top: 1vh;
    }
    h2.shout-out:first-child {
        margin-top: 2vh;
        font-size: 22px;  
    }
    span.box-price {
        font-size: 7vh;
        line-height: 9vh;
    }
    h2.box-features {
        font-size: 4vw;
        line-height: 5vw;
        margin-top: 15px;
        margin-bottom: 15px; 
    }
    h2.button2024 {
        font-size: 4vw;
        font-weight: 600;
        line-height: 2.8vw;
    }
    h3.explainer {
        font-size: 0.9rem;
        font-weight: 500;
        line-height: 1.3rem;
        margin-top: 0;
    }
    .widget {
        border: none;
        margin-bottom: 1em;
        padding-top: 0;
      }
    .widget-area:first-child {
        padding-top: 2em;
    }
    .content-bottom-widgets:before, .content-bottom-widgets:after {
        border-top: 0.6vh solid #2a3036;
    }
      
    input[type="submit"], input[type="file"] {
        background: #00AEEF;
        color: rgba(228, 230, 235, 1);

    }
    .refresh-icon {
        top: 105px;
        right: 20px;
    }
    .lil-video-thumb {
        display:none;
    }
}
/* Smartphones (landscape) ----------- */
@media only screen
and (min-width : 321px) {
/* Styles */
}
/* Smartphones (portrait) ----------- */
@media only screen
and (max-width : 320px) {
/* Styles */
} 
@media only screen and (min-width : 480px)and (max-width : 768px) {
    .row {

    }
    .column,
    .column3,
    .column66
                {
        flex: 100%;
        padding: 3vh 5vw 0 5vw;
    }

    .column3 {
        padding: 0;
    }
    .column4 {
        flex: 50%;
        padding: 3vh 5vw 0 5vw;
    }
    a.column16 {
        width:22%;
    }
    .flex-8x1-4x2 {
        display: flex;
        flex-wrap: wrap;
        padding:0;
    }
    
    .site-content {
        padding: 0 5vw 0 5vw;
    }
    .entry-content h1, .entry-summary h1, .comment-content h1, .textwidget h1 {
        font-size: 2.5rem;
        font-weight: 700;
    }
    .entry-content h2:first-child {
        margin-top: 2vh;  
    }
    /*
    .page-banner {
        min-height: 250px;

    }
    */

    .banner-logo {
        width: 20vw;
        border-radius: 0;
        margin: 1.5vh;
    }
    .svg-shadow {
        filter: drop-shadow(0px 1px 2px rgb(39 32 59));
    }
    .page-banner h1 {
        font-size: 1.5rem;
        font-weight: 700;
        text-shadow: -1px 1px 4px #000000;
        line-height: 1.8rem;
    }
    .page-banner h2 {
        text-shadow: 1px 1px 3px rgb(35, 22, 38);
      }
    a.big-links {
        font-size: 2.8vw;
        font-weight: 600;
        line-height: 3.9vw;
        text-transform: uppercase;
        margin: 0 0 1.75rem;
        color: #fff;
        text-shadow: 1px 1px 3px rgba(39, 32, 59, 1);
    }
    .home-section {
        margin: 3vw 0;
    }
    h1.plan-heading {
        font-size: 4vw;
        font-weight: 600;
        margin-top: 0;
    }
    h2.big-statement {
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1.2rem;
        margin-top: 0;
        height: 5rem;
    }
    h2.intro-byline, .intro-box h2 {
        font-size: 0.9rem;
        line-height: 1.2;
        max-width: 90%;
        margin-bottom: 1vh;
      }
    h2.commercial-heading {
        font-size: 1.5rem;
        padding: 1.5vh 0 0 5vw;
        margin-bottom: auto;
    }
    h2.commercial-heading {
    font-size: 1.5rem;
    padding: 1.5vh 0 0 5vw;
    margin-bottom: auto;
    }
    .flex-intro {
    padding: 0.8rem 1rem;
    }
    .intro-box {
        margin: 40px 0;
    }
    .intro-box h1 {
        font-size: 2rem;  
    }
   .intro-box h3, .sub-promo-box h3 {
        font-size: 0.8rem;
        line-height: 1.3;
        margin-top: 0.8em;
        margin-bottom: 0.8em;
        text-shadow: 1px 1px 3px rgb(0, 0, 1);
    }
    .intro-box::before {
        background-position: center right 25% !important;
      }
    .home-service-box {
        padding: 0 15px;
    }
    .home-cst-box {
        height: 250px;
      }
    h2.box-statement {
        font-size: 1rem;
        margin-top: 1rem;
    }
    h2.shout-out {
        margin-top: 1vh;
    }
    h2.shout-out:first-child {
        margin-top: 2vh;
        font-size: 22px;  
    }
    span.box-price {
        font-size: 3rem;
        line-height: 4rem;
    }
    h2.box-features {
        font-size: 4vw;
        line-height: 5vw;
        margin-top: 15px;
        margin-bottom: 15px; 
    }
    h2.button2024 {
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1rem;
    }
    h3.explainer {
        font-size: 0.9rem;
        font-weight: 500;
        line-height: 1.3rem;
        margin-top: 0;
    }
    #cst_quote .intro-byline {
        margin: 0;
        font-size: 0.8rem;
        text-align: left;
        max-width: 80%;                  
        transition: transform 0.3s ease;   
        position: relative;
        bottom: 10px;  
    }
    #cst_quote .quote-item {
        opacity: 1;           
        transition: opacity 0.3s ease;  
        position: relative;   
    }
    #cst_quote.quote-item.show {
        opacity: 1;              
    }
    .widget {
        border: none;
        margin-bottom: 1em;
        padding-top: 0;
      }
    .widget-area:first-child {
        padding-top: 2em;
    }
    .content-bottom-widgets:before, .content-bottom-widgets:after {
        border-top: 0.6vh solid #2a3036;
    }
    .refresh-icon {
        top: 105px;
        right: 20px;
    }
    .common-features-box  h3 {
        font-size: 0.9rem;
        text-align: left;
    }
    .flex-column {
        flex: 1 1 40%;
    }
    .flex-column:last-child {
        margin-right: 3rem;
    }
    
    .common-features-box  h3 {
        font-size: 0.9rem;
        text-align: left;
    }
}
/* iPads (portrait and landscape) ----------- */
@media only screen and (min-width : 768px) and (max-width : 1024px) {
    .row {

    }
    .column,
    .column3,
    .column66
                {
        flex: 100%;
        padding: 3vh 5vw 0 5vw;
    }

    .column3 {
        padding: 0;
    }
    .column4 {
        flex: 50%;
        padding: 3vh 5vw 0 5vw;
    }
    a.column16 {
        width:22%;
    }
    .flex-8x1-4x2 {
        display: flex;
        flex-wrap: wrap;
        padding:0;
    }
    .site-content {
        padding: 0 5vw 0 5vw;
    }
    .entry-content h1, .entry-summary h1, .comment-content h1, .textwidget h1 {
        font-size: 2.5rem;
        font-weight: 700;
    }
    .entry-content h2:first-child {
        margin-top: 2vh;  
    }
    /*
    .page-banner {
        min-height: 250px;
    }
        */
    .banner-logo {
        width: 20vw;
        border-radius: 0;
        margin: 1.5vh;
    }
    .svg-shadow {
        filter: drop-shadow(0px 1px 2px rgb(39 32 59));
    }
    .page-banner h1 {
        font-size: 1.5rem;
        font-weight: 700;
        text-shadow: -1px 1px 4px #000000;
        line-height: 1.8rem;
    }
    .page-banner h2 {
        text-shadow: 1px 1px 3px rgb(35, 22, 38);
    }
    a.big-links {
        font-size: 2.8vw;
        font-weight: 600;
        line-height: 3.9vw;
        text-transform: uppercase;
        margin: 0 0 1.75rem;
        color: #fff;
        text-shadow: 1px 1px 3px rgba(39, 32, 59, 1);
    }
    .home-section {
        margin: 3vw 0;
    }
    h1.plan-heading {
        font-size: 4vw;
        font-weight: 600;
        margin-top: 0;
    }
    h2.big-statement {
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1.2rem;
        margin-top: 0;
        height: 5rem;
    }
    h2.intro-byline, .intro-box h2 {
        font-size: 0.9rem;
        line-height: 1.2;
        max-width: 90%;
        margin-bottom: 1vh; 
    }
    h2.commercial-heading {
        font-size: 1.5rem;
        padding: 1.5vh 0 0 5vw;
        margin-bottom: auto;
    }
    h2.commercial-heading {
    font-size: 1.5rem;
    padding: 1.5vh 0 0 5vw;
    margin-bottom: auto;
    }
.flex-intro {
    padding: 0.8rem 1rem;
    }
    .intro-box {
        margin: 40px 0;
    }
    .intro-box h1 {
        font-size: 2rem;  
    }
   .intro-box h3, .sub-promo-box h3 {
        font-size: 0.8rem;
        line-height: 1.3;
        margin-top: 0.8em;
        margin-bottom: 0.8em;
        text-shadow: 1px 1px 3px rgb(0, 0, 1);
    }
    .intro-box::before {
        background-position: center right 25% !important;
      }
    .home-service-box {
        padding: 0 15px;
    }
    h2.box-statement {
        font-size: 1rem;
        margin-top: 1rem;
    }
    h2.shout-out {
        margin-top: 1vh;
    }
    h2.shout-out:first-child {
        margin-top: 2vh;
        font-size: 22px;  
    }
    span.box-price {
        font-size: 3rem;
        line-height: 4rem;
    }
    h2.box-features {
        font-size: 4vw;
        line-height: 5vw;
        margin-top: 15px;
        margin-bottom: 15px; 
    }
    h2.button2024 {
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1rem;
    }
    h3.explainer {
        font-size: 0.9rem;
        font-weight: 500;
        line-height: 1.3rem;
        margin-top: 0;
    }
    .flex-column {
        flex: 1 1 40%;
        max-width: 50%;
    }
    .flex-column:last-child {
        margin-right: 3rem;
    }
    
    .common-features-box  h3 {
        font-size: 0.9rem;
        text-align: left;
    }

}
/* iPads (landscape) ----------- */
@media only screen
and (min-width : 768px)
and (max-width : 1024px)
and (orientation : landscape) {
/* Styles */
} 
/* iPads (portrait) ----------- */
@media only screen
and (min-width : 768px)
and (max-width : 1024px)
and (orientation : portrait) {
/* Styles */
}
/* Desktops and laptops ----------- */
@media only screen
and (min-width : 1024px)
and (max-width : 1460px) 
{
    .widget {
        border: none;
    }
    h1.plan-heading {
        font-size: 1.4rem;
        font-weight: 600;
        line-height: 1.6rem;
    }
    h2.big-statement {
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1.2rem;
        margin-top: 0.5em;
        height: 4.5rem;
    }

    .home-service-box {
        padding: 0 10px;
    }
    h2.box-statement {
        font-size: 0.9rem;
        font-weight: 600;
        margin-top: 1rem;
        margin-bottom: 1rem;
        min-height: 2.3rem;
    }
    h2.intro-byline, .intro-box h2 {
        margin: 0;
        max-width: 90%;
        font-size: 1.3rem;
    }
}
@media only screen and (min-width : 1460px) and (max-width : 1640px) 
{
    .widget {
        border: none;
    }
    h1.plan-heading {
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 2rem;
    }
    h2.box-statement {
        font-size: 1.2rem;
        font-weight: 600;
        margin-top: 1.3rem;
        min-height: 3rem;
    }

    .home-service-box {
        padding: 0 20px;
    }
}
/* Large screens ----------- */
@media only screen
and (min-width : 1640px) {
    .site-content {
        max-width: 1890px;
    }
    h1.plan-heading {
        font-size: 2rem;
        font-weight: 600;
        line-height: 2rem;
    }
    h2.box-statement {
        font-size: 1.1rem;
        font-weight: 600;
        margin-top: 2rem;
    }

}
/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
    .home-cst-box {
        height: 250px;
      }

}

/* Recent iPhone */
@media (min-device-height: 667px) and (min-device-width: 375px) and (-webkit-min-device-pixel-ratio: 3) {
    .column,
    .column3,
    .column4,
    .column66
    {
        flex: 100%;
        padding: 3vh 5vw 0 5vw;
    }
    .column3 {
        padding: 0;
    }
    .column16 {
        flex: 20%;
    }
    .flex-column 
    {
        flex: 100%;
        padding: 0;
        margin-right: 0;
    }

    .site-content {
        padding: 0 5vw 0 5vw;
    }
    .entry-content h1, .entry-summary h1, .comment-content h1, .textwidget h1 {
        font-size: 9vw;
        font-weight: 700;
    }
    /*
    .page-banner {
        min-height: 250px;
    }
        */
    .banner-logo {
        width: 20vw;
        border-radius: 0;
        margin: 1.5vh;
    }
    .svg-shadow {
        filter: drop-shadow(0px 1px 2px rgb(39 32 59));
    }
    .page-banner h1 {
        font-size: 1.5rem;
        font-weight: 700;
        text-shadow: -1px 1px 4px #000000;
        line-height: 1.8rem;
    }
    .page-banner h2 {
        text-shadow: 1px 1px 3px rgb(35, 22, 38);
      }
    a.big-links {
        font-size: 2.5vw;
        font-weight: 600;
        line-height: 3.9vw;
        text-transform: uppercase;
        margin: 0 0 1.75rem;
        color: #fff;
        text-shadow: 1px 1px 3px rgba(39, 32, 59, 1);
    }
    .home-section {
        margin: 3vw 0;
    }
    .home-cst-box {
        height: 250px;
      }
    .flex-intro {
        padding: 0.7vw calc(5% + 1vw) 0.7vw calc(5% + 1vw);
    }
    .flex-8x1-4x2 {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
    }
    h1.plan-heading {
        font-size: 7vw;
        font-weight: 600;
        margin-top: 0;
    }
    h2.big-statement {
        font-size: 3.5vw;
        font-weight: 600;
        line-height: 4.5vw;
        margin:0;
    }
    h2.intro-byline, .intro-box h2 {
        font-size: 0.rem;
        line-height: 1.2;
        max-width: 90%;
        margin-bottom: 1rem; 
    }
    #cst_quote .intro-byline {
        margin: 0;
        font-size: 0.8rem;
        text-align: left;
        max-width: 90%;                  
        transition: transform 0.3s ease;   
        position: relative;
        bottom: 10px;  
    }
    #cst_quote .quote-item {
        opacity: 1;           
        transition: opacity 0.3s ease;  
        position: relative;   
    }
    #cst_quote.quote-item.show {
        opacity: 1;              
    }
    .home-service-box {
        padding: 0 15px;
    }
    h2.box-statement {
        font-size: 1rem;
        font-weight: 600;
        margin-top: 2vh;
    }
    h2.shout-out {
        font-size: 5.5vw;
        font-weight: 600;
        margin-top: 2vh;
    }
    h2.commercial-heading {
        font-size: 1.5rem;
        padding: 1.5vh 0 0 5vw;
        margin-bottom: auto;
    }
    .intro-box {
        margin: 40px 0;
    }
    .intro-box h1 {
        font-size: 2rem;  
    }
   .intro-box h3, .sub-promo-box h3 {
        font-size: 0.8rem;
        line-height: 1.3;
        margin-top: 0.8em;
        margin-bottom: 0.8em;
        text-shadow: 1px 1px 3px rgb(0, 0, 1);
    }
    .intro-box::before {
        background-position: center right 25% !important;
      }
    .entry-content h2:first-child {
        margin-top: 2vh;  
    }
    span.box-price {
        font-size: 7vh;
        line-height: 9vh;
    }
    h2.box-features {
        font-size: 4vw;
        line-height: 5vw;
        margin-top: 15px;
        margin-bottom: 15px; 
    }
    h2.button2024 {
        font-size: 4vw;
        font-weight: 600;
        line-height: 2.8vw;
    }
    h3.explainer {
        font-size: 0.9rem;
        font-weight: 500;
        line-height: 1.3rem;
        margin-top: 0;
    }
    .wpcf7 {
        margin: 0;
      }
      .widget {
        border: none;
        margin-bottom: 1em;
        padding-top: 0;
      }
    .widget-area:first-child {
        padding-top: 2em;
    }
    .content-bottom-widgets:before, .content-bottom-widgets:after {
        border-top: 0.6vh solid #2a3036;
    }

    input[type="submit"], input[type="file"] {
        background: #00AEEF;
        color: rgba(228, 230, 235, 1);

    }
    .refresh-icon {
        top: 105px;
        right: 20px;
    }
    .lil-video-thumb {
        display:none;
    }
    
}




/* //--- Desktop Navigation Styling ----- */
@media screen and (min-width: 56.875em) {

	.main-navigation ul ul:before {
		border-color: #545353 transparent;
		border-width: 0 10px 10px;
		right: 9px;
		top: -9px;
		color: #545353;
	}
	.main-navigation ul ul:after {

		border-width: 0 20px 10px;
		right: 11px px;
		top: -7px;
		display: none;
	}
	.main-navigation ul ul {
		border-bottom: none;
		display: block;
		left: -999em;
		margin: 0;
		position: absolute;
		z-index: 99999;

	}
	.main-navigation ul ul li {
		background-color: #545353;
		border-left: 0px;
		border-right: 0px;
		border-top: 0px;
	}
	.main-navigation ul ul li:last-child {
		border-radius: 0px 0px 17px;
		border-bottom: none;
	}
    .widget {
        border: none;
    }
    .main-navigation ul ul li:hover>ul, .main-navigation ul ul li.focus>ul {
        right: auto;
        left: 100%;
    }
    
    .main-navigation ul ul .menu-item-has-children>a:after {
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        transform: rotate(270deg);
    }
}


/* ----- ^^ Media Queries ^^ ----- */


  

  
  
