/*
Theme Name: cornerstonemasonry2026
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: A plain-vanilla &amp; lightweight theme for Elementor page builder
Tags: flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready


*/

/* =Custom Site-wide Font/Image Style CSS
-------------------------------------------------------------- */



a.phone .fa {color: var(--e-global-color-primary) !important;}
.fax.fa-solid {color: var(--e-global-color-primary) !important;}


.bold {font-weight: bold !important;}
.semibold {font-weight: 600 !important;}
.thin {font-weight: 300 !important;}
.italic {font-style: italic !important;}
.uppercase {text-transform: uppercase !important;}
.block {display: block !important;}
.center {text-align: center; display: block !important;}


.black {color: #000 !important;}
.white {color: #fff !important;}


.icofont {  font-family: 'IcoFont'; }


ul.checklistfa {list-style-type: none !important;}
ul.checklistfa li:before {font-family: 'Font Awesome 5 Free'; content: '\f00c'; font-weight: 600 !important; margin: 0 10px 0 -30px;}

ul.trowellist, ul.bricklist  { list-style-type: none !important; padding-left: 0;}

ul.trowellist li, ul.bricklist li  { position: relative; padding-left: 30px; margin: 0 0 4px 24px;}


ul.trowellist li:before, ul.bricklist li:before  {
  content: "\e9b8"; 
  font-family: 'IcoFont';
  font-size: 18px;
  position: absolute;
  left: 0;
  top: -3px;  
  color: inherit; 
}

ul.bricklist li:before  {
  content: "\e989" !important;
  font-size: 20px !important;} 



ul.checklistimg {list-style-type: none; } 
ul.checklistimg li  { line-height: 2; margin-bottom: 6px !important; background-image: url(url); background-size: 36px 36px; background-position: top left; position: relative; background-repeat: no-repeat; padding: 0 0 0 40px;}





.shineimg {
  position: relative;
  overflow: hidden !important; 
}


.shineimg::after {
  content: "";
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
}


.shineimg:hover::after, .shinebox:hover .shineimg::after { animation: shine 2s ease forwards;}

.shinebox:hover .shineimg.img2::after {animation-delay: 0.6s; }

.shinebox:hover .shineimg.img3::after {animation-delay: 1.2s; }

.shinebox:hover .shineimg.img4::after {animation-delay: 1.8s; }


@keyframes shine {  100% { left: 125%; } }




/* box clipping classes */
/* Shared settings */
.cliptrbl,
.clipbrtl {
  --clip-size: 75px;
  --clip-radius: 8px;

  position: relative;
  overflow: hidden;
}

/* Size modifiers */

.cliptrbl.hero-clip {
  --clip-size: 125px;
  --clip-radius: 20px;
}

.cliptrbl.small,
.clipbrtl.small {
  --clip-size: 50px;
}

.cliptrbl.smallest,
.clipbrtl.smallest {
  --clip-size: 35px;
}

/* Sharp-corner fallback */
.cliptrbl {
  clip-path: polygon(
    0 0,
    calc(100% - var(--clip-size)) 0,
    100% var(--clip-size),
    100% 100%,
    var(--clip-size) 100%,
    0 calc(100% - var(--clip-size))
  );
}

.clipbrtl {
  clip-path: polygon(
    var(--clip-size) 0,
    100% 0,
    100% calc(100% - var(--clip-size)),
    calc(100% - var(--clip-size)) 100%,
    0 100%,
    0 var(--clip-size)
  );
}

/* Rounded version */
@supports (clip-path: shape(from 0 0, line to 100% 0, close)) {

  /* Top-right and bottom-left */
  .cliptrbl {
    clip-path: shape(
      from var(--clip-radius) 0,

      line to
        calc(100% - var(--clip-size) - var(--clip-radius)) 0,

      curve to
        calc(100% - var(--clip-size) + var(--clip-radius))
        var(--clip-radius)
        with calc(100% - var(--clip-size)) 0 from origin,

      line to
        calc(100% - var(--clip-radius))
        calc(var(--clip-size) - var(--clip-radius)),

      curve to
        100%
        calc(var(--clip-size) + var(--clip-radius))
        with 100% var(--clip-size) from origin,

      line to
        100%
        calc(100% - var(--clip-radius)),

      curve to
        calc(100% - var(--clip-radius))
        100%
        with 100% 100% from origin,

      line to
        calc(var(--clip-size) + var(--clip-radius))
        100%,

      curve to
        calc(var(--clip-size) - var(--clip-radius))
        calc(100% - var(--clip-radius))
        with var(--clip-size) 100% from origin,

      line to
        var(--clip-radius)
        calc(100% - var(--clip-size) + var(--clip-radius)),

      curve to
        0
        calc(100% - var(--clip-size) - var(--clip-radius))
        with 0 calc(100% - var(--clip-size)) from origin,

      line to
        0
        var(--clip-radius),

      curve to
        var(--clip-radius)
        0
        with 0 0 from origin,

      close
    );
  }

  /* Bottom-right and top-left */
  .clipbrtl {
    clip-path: shape(
      from
        calc(var(--clip-size) + var(--clip-radius))
        0,

      line to
        calc(100% - var(--clip-radius))
        0,

      curve to
        100%
        var(--clip-radius)
        with 100% 0 from origin,

      line to
        100%
        calc(100% - var(--clip-size) - var(--clip-radius)),

      curve to
        calc(100% - var(--clip-radius))
        calc(100% - var(--clip-size) + var(--clip-radius))
        with 100% calc(100% - var(--clip-size)) from origin,

      line to
        calc(100% - var(--clip-size) + var(--clip-radius))
        calc(100% - var(--clip-radius)),

      curve to
        calc(100% - var(--clip-size) - var(--clip-radius))
        100%
        with calc(100% - var(--clip-size)) 100% from origin,

      line to
        var(--clip-radius)
        100%,

      curve to
        0
        calc(100% - var(--clip-radius))
        with 0 100% from origin,

      line to
        0
        calc(var(--clip-size) + var(--clip-radius)),

      curve to
        var(--clip-radius)
        calc(var(--clip-size) - var(--clip-radius))
        with 0 var(--clip-size) from origin,

      line to
        calc(var(--clip-size) - var(--clip-radius))
        var(--clip-radius),

      curve to
        calc(var(--clip-size) + var(--clip-radius))
        0
        with var(--clip-size) 0 from origin,

      close
    );
  }
}


/* Keep Elementor background layers inside the clipped shape */
.cliptrbl,
.clipbrtl {
  isolation: isolate;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

.cliptrbl::before,
.clipbrtl::before,
.cliptrbl > .elementor-background-video-container,
.clipbrtl > .elementor-background-video-container,
.cliptrbl > .elementor-background-slideshow,
.clipbrtl > .elementor-background-slideshow {
  inset: 0;
  clip-path: inherit;
  -webkit-clip-path: inherit;
}







/* =========================================================
   REUSABLE THREE-COLUMN CLIPPED LAYOUT
   Parent: threecol
   Children: column1, column2, column3
   ========================================================= */

.threecol {
  --clip-size: 45px;
  --clip-radius: 8px;
}

/* Optional size modifiers applied to the parent */
.threecol.small {
  --clip-size: 50px;
}

.threecol.smallest {
  --clip-size: 35px;
}

/* Shared column settings */
.threecol > .column1,
.threecol > .column2,
.threecol > .column3,
.threecol > .e-con-inner > .column1,
.threecol > .e-con-inner > .column2,
.threecol > .e-con-inner > .column3 {
  position: relative;
  overflow: hidden;
}

/* Middle column: standard rounded corners */
.threecol > .column2,
.threecol > .e-con-inner > .column2 {
  border-radius: var(--clip-radius);
}

/* =========================================================
   COLUMN 1: TOP-LEFT + BOTTOM-LEFT
   Sharp fallback
   ========================================================= */

.threecol > .column1,
.threecol > .e-con-inner > .column1 {
  clip-path: polygon(
    var(--clip-size) 0,
    100% 0,
    100% 100%,
    var(--clip-size) 100%,
    0 calc(100% - var(--clip-size)),
    0 var(--clip-size)
  );
}

/* =========================================================
   COLUMN 3: TOP-RIGHT + BOTTOM-RIGHT
   Sharp fallback
   ========================================================= */

.threecol > .column3,
.threecol > .e-con-inner > .column3 {
  clip-path: polygon(
    0 0,
    calc(100% - var(--clip-size)) 0,
    100% var(--clip-size),
    100% calc(100% - var(--clip-size)),
    calc(100% - var(--clip-size)) 100%,
    0 100%
  );
}

/* =========================================================
   ROUNDED CLIPPED CORNERS
   ========================================================= */

@supports (clip-path: shape(from 0 0, line to 100% 0, close)) {

  /* Column 1: top-left + bottom-left */
  .threecol > .column1,
  .threecol > .e-con-inner > .column1 {
    clip-path: shape(
      from
        calc(var(--clip-size) + var(--clip-radius))
        0,

      line to
        calc(100% - var(--clip-radius))
        0,

      curve to
        100%
        var(--clip-radius)
        with 100% 0 from origin,

      line to
        100%
        calc(100% - var(--clip-radius)),

      curve to
        calc(100% - var(--clip-radius))
        100%
        with 100% 100% from origin,

      line to
        calc(var(--clip-size) + var(--clip-radius))
        100%,

      curve to
        calc(var(--clip-size) - var(--clip-radius))
        calc(100% - var(--clip-radius))
        with var(--clip-size) 100% from origin,

      line to
        var(--clip-radius)
        calc(100% - var(--clip-size) + var(--clip-radius)),

      curve to
        0
        calc(100% - var(--clip-size) - var(--clip-radius))
        with 0 calc(100% - var(--clip-size)) from origin,

      line to
        0
        calc(var(--clip-size) + var(--clip-radius)),

      curve to
        var(--clip-radius)
        calc(var(--clip-size) - var(--clip-radius))
        with 0 var(--clip-size) from origin,

      line to
        calc(var(--clip-size) - var(--clip-radius))
        var(--clip-radius),

      curve to
        calc(var(--clip-size) + var(--clip-radius))
        0
        with var(--clip-size) 0 from origin,

      close
    );
  }

  /* Column 3: top-right + bottom-right */
  .threecol > .column3,
  .threecol > .e-con-inner > .column3 {
    clip-path: shape(
      from
        var(--clip-radius)
        0,

      line to
        calc(100% - var(--clip-size) - var(--clip-radius))
        0,

      curve to
        calc(100% - var(--clip-size) + var(--clip-radius))
        var(--clip-radius)
        with calc(100% - var(--clip-size)) 0 from origin,

      line to
        calc(100% - var(--clip-radius))
        calc(var(--clip-size) - var(--clip-radius)),

      curve to
        100%
        calc(var(--clip-size) + var(--clip-radius))
        with 100% var(--clip-size) from origin,

      line to
        100%
        calc(100% - var(--clip-size) - var(--clip-radius)),

      curve to
        calc(100% - var(--clip-radius))
        calc(100% - var(--clip-size) + var(--clip-radius))
        with 100% calc(100% - var(--clip-size)) from origin,

      line to
        calc(100% - var(--clip-size) + var(--clip-radius))
        calc(100% - var(--clip-radius)),

      curve to
        calc(100% - var(--clip-size) - var(--clip-radius))
        100%
        with calc(100% - var(--clip-size)) 100% from origin,

      line to
        var(--clip-radius)
        100%,

      curve to
        0
        calc(100% - var(--clip-radius))
        with 0 100% from origin,

      line to
        0
        var(--clip-radius),

      curve to
        var(--clip-radius)
        0
        with 0 0 from origin,

      close
    );
  }
}






/* =========================================================
   WHO WE SERVE CARDS
   ========================================================= */

.threecol.serve-cards {
  --card-background: #151515;
}

/* Cards remain stationary */
.threecol.serve-cards :is(.column1, .column2, .column3) {
  position: relative;
  overflow: hidden;
  background: var(--card-background);
}

/* =========================================================
   IMAGE AREA
   ========================================================= */

.threecol.serve-cards
:is(.column1, .column2, .column3)
> .image {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  z-index: 1;

  /*
   Prevents subpixel artifacts without changing layout.
  */
  transform: translateZ(0);
  backface-visibility: hidden;
}

/*
Duplicate the Elementor background image onto a pseudo-element.
Only this layer will zoom—not the image container itself.
*/
.threecol.serve-cards
:is(.column1, .column2, .column3)
> .image::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 0;
  pointer-events: none;

  background-image: inherit;
  background-position: inherit;
  background-repeat: no-repeat;
  background-size: cover;

  transform: translateZ(0) scale(1.001);
  transform-origin: center center;

  transition:
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Dark wash */
.threecol.serve-cards
:is(.column1, .column2, .column3)
> .image::after {
  content: "";
  position: absolute;

  /*
   Oversizing prevents the bottom of the overlay from becoming
   exposed when it moves downward.
  */
  inset: -12% -2px -24%;
  z-index: 1;
  pointer-events: none;

  background: linear-gradient(
    to bottom,
    rgba(21, 21, 21, 0) 60%,
    rgba(21, 21, 21, 0.12) 65%,
    rgba(21, 21, 21, 0.82) 74%,
    rgba(21, 21, 21, 1) 82%,
    #151515 100%
  );
  opacity: 1;
  transform: translateY(0);

  transition:
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 1s ease;
}

/* Preserve any widgets placed inside the image container */
.threecol.serve-cards
:is(.column1, .column2, .column3)
> .image
> * {
  position: relative;
  z-index: 2;
}

/* =========================================================
   CONTENT AREA
   ========================================================= */

.threecol.serve-cards
:is(.column1, .column2, .column3)
> .content {
  position: relative;
  z-index: 2;
  background: var(--card-background);
}

/*
Covers any 1px compositing seam between the image and content.
This does not affect dimensions or spacing.
*/
.threecol.serve-cards
:is(.column1, .column2, .column3)
> .content::before {
  content: "";
  position: absolute;
  top: -3px;
  right: 0;
  left: 0;
  height: 4px;
  z-index: -1;
  background: var(--card-background);
}

/*
Keep the absolute-positioned Elementor button above everything.
Do not assign a position value here.
*/
.threecol.serve-cards
:is(.column1, .column2, .column3)
> .elementor-widget-button {
  z-index: 4;
}


/* Slightly zoom only the photograph */
.threecol.serve-cards
:is(.column1, .column2, .column3):hover
> .image::before,
.threecol.serve-cards
:is(.column1, .column2, .column3):focus-within
> .image::before {
  transform: translateZ(0) scale(1.045);
}

/* Move the wash downward and lighten it */
.threecol.serve-cards
:is(.column1, .column2, .column3):hover
> .image::after,
.threecol.serve-cards
:is(.column1, .column2, .column3):focus-within
> .image::after {
  transform: translateY(8%);
  opacity: 0.82;
}


@media (prefers-reduced-motion: reduce) {
  .threecol.serve-cards
  :is(.column1, .column2, .column3)
  > .image::before,
  .threecol.serve-cards
  :is(.column1, .column2, .column3)
  > .image::after {
    transition: none;
  }

  .threecol.serve-cards
  :is(.column1, .column2, .column3):hover
  > .image::before {
    transform: none;
  }
}


.threecol.serve-cards .icofont {
  display: inline-block;
  font-size: 50px;
  color: #B22016;

  transform: translateY(0) scale(1);
  transform-origin: center;

  transition:
    color 0.5s ease,
    transform 0.5s ease;
}

.threecol.serve-cards :is(.column1, .column2, .column3):hover .icofont,
.threecol.serve-cards :is(.column1, .column2, .column3):focus-within .icofont {
  color: #ffffff;
  transform: translateY(-8px) scale(1.06);
}

/* Allow scaled cards to extend beyond the grid */
.threecol.serve-cards,
.threecol.serve-cards > .e-con-inner {
  overflow: visible;
}


/* =========================================================
   TABLET + MOBILE
   All three serve cards: top-left + bottom-right
   ========================================================= */

@media screen and (max-width: 1024px) {

  .threecol.serve-cards {
    --clip-size: 35px;
    --clip-radius: 8px;
  }

  .threecol.serve-cards > :is(.column1, .column2, .column3),
  .threecol.serve-cards > .e-con-inner > :is(.column1, .column2, .column3) {
    border-radius: 0;

    /* Sharp-corner fallback */
    clip-path: polygon(
      var(--clip-size) 0,
      100% 0,
      100% calc(100% - var(--clip-size)),
      calc(100% - var(--clip-size)) 100%,
      0 100%,
      0 var(--clip-size)
    );

    -webkit-clip-path: polygon(
      var(--clip-size) 0,
      100% 0,
      100% calc(100% - var(--clip-size)),
      calc(100% - var(--clip-size)) 100%,
      0 100%,
      0 var(--clip-size)
    );
  }
}


/* Rounded version */
@supports (clip-path: shape(from 0 0, line to 100% 0, close)) {

  @media screen and (max-width: 1024px) {

    .threecol.serve-cards > :is(.column1, .column2, .column3),
    .threecol.serve-cards > .e-con-inner > :is(.column1, .column2, .column3) {
      clip-path: shape(
        from
          calc(var(--clip-size) + var(--clip-radius))
          0,

        line to
          calc(100% - var(--clip-radius))
          0,

        curve to
          100%
          var(--clip-radius)
          with 100% 0 from origin,

        line to
          100%
          calc(100% - var(--clip-size) - var(--clip-radius)),

        curve to
          calc(100% - var(--clip-radius))
          calc(100% - var(--clip-size) + var(--clip-radius))
          with 100% calc(100% - var(--clip-size)) from origin,

        line to
          calc(100% - var(--clip-size) + var(--clip-radius))
          calc(100% - var(--clip-radius)),

        curve to
          calc(100% - var(--clip-size) - var(--clip-radius))
          100%
          with calc(100% - var(--clip-size)) 100% from origin,

        line to
          var(--clip-radius)
          100%,

        curve to
          0
          calc(100% - var(--clip-radius))
          with 0 100% from origin,

        line to
          0
          calc(var(--clip-size) + var(--clip-radius)),

        curve to
          var(--clip-radius)
          calc(var(--clip-size) - var(--clip-radius))
          with 0 var(--clip-size) from origin,

        line to
          calc(var(--clip-size) - var(--clip-radius))
          var(--clip-radius),

        curve to
          calc(var(--clip-size) + var(--clip-radius))
          0
          with var(--clip-size) 0 from origin,

        close
      );
    }
  }
}

@media screen and (min-width: 768px) {

  .threecol.serve-cards > :is(.column1, .column2, .column3),
  .threecol.serve-cards > .e-con-inner > :is(.column1, .column2, .column3) {
    position: relative;
    z-index: 1;

    transform: scale(1);
    transform-origin: center;
    will-change: transform;

    transition:
      transform 0.5s ease,
      box-shadow 0.5s ease;
  }

  .threecol.serve-cards > :is(.column1, .column2, .column3):hover,
  .threecol.serve-cards > :is(.column1, .column2, .column3):focus-within,
  .threecol.serve-cards > .e-con-inner > :is(.column1, .column2, .column3):hover,
  .threecol.serve-cards > .e-con-inner > :is(.column1, .column2, .column3):focus-within {
    z-index: 5;
    transform: scale(1.02);

    box-shadow:
      0 4px 12px rgba(0, 0, 0, 0.15);
  }
}










.single-post .elementor-widget-theme-post-content img {margin: 24px 0;}
.single-post .elementor-widget-theme-post-content img.aligncenter {margin: 24px auto;}


.elementor-widget-container,
.entry-summary,
.mu_register {
   overflow-wrap: break-word;
}


.elementor-widget-container p,
.entry-summary p,
.comment-content p,
.mu_register p {
	overflow-wrap: break-word;

} 


.elementor-widget-container ul ul,
.comment-content ul ul,
.elementor-widget-container ol ol,
.comment-content ol ol,
.elementor-widget-container ul ol,
.comment-content ul ol,
.elementor-widget-container ol ul,
.comment-content ol ul {
	margin-bottom: 0;
}

.elementor-widget.elementor-widget-text-editor ul,
.elementor-widget-container ul,
.comment-content ul,
.mu_register ul {
	list-style-type: disc;
padding: 0;
margin: 0 0 20px 0;
}
.elementor-widget-container ol,
.comment-content ol {
	list-style: decimal outside;
	padding-inline-start: 8px !important;
	margin: 0 0 14px 0;
}

.elementor-widget-container li,
.comment-content li,
.mu_register li {
	margin: 0 0 0 36px;
}
.elementor-widget-container blockquote,
.comment-content blockquote {
	margin-bottom:36px;
	padding: 24px;
	font-style: italic; border-left: 4px solid #336e8e;
}
.elementor-widget-container blockquote p:last-child,
.comment-content blockquote p:last-child {
	margin-bottom: 0;
}

.navmenu .elementor-nav-menu--main ul.elementor-nav-menu li.menu-item-has-children ul.sub-menu li.menu-item  a {text-decoration: none;}

.page header .elementor-nav-menu {margin-bottom: 0 !important;}

.elementor-accordion .elementor-tab-title {display: flex !important; align-items: center !important;}


/* scrollbar */

::-webkit-scrollbar {
    background-color: var( --e-global-color-d162738 );
    width: 6px;
}

::-webkit-scrollbar-thumb {
    background: var( --e-global-color-primary );
    border-radius: 0px;
}

::-webkit-scrollbar-track {
    box-shadow: var( --e-global-color-d162738 ) -30px 10px 12px inset;
    background: var( --e-global-color-primary );
    border-radius: 0px;}



/* gtranslate widget */
.gt_float_switcher .gt_options a { font-size: 15px !important; padding: 6px 15px !important;}
.gt_float_switcher img { width: 28px !important;}


/* recaptcha index */
.grecaptcha-badge {z-index:999;}


/* menu anchor offset */
body:not(.elementor-editor-active) .elementor-widget-menu-anchor {
   position: relative;
   z-index: -1; }

body:not(.elementor-editor-active) .elementor-menu-anchor:before {
   content: "";
   display: block;
   height: 180px !important; 
   margin: -180px 0 0 !important;
   visibility: hidden;
   pointer-events: none;}


.elementor-post-navigation span.elementor-post-navigation__link__next, .elementor-post-navigation span.elementor-post-navigation__link__prev {width: 85%;}

.elementor-post-navigation .post-navigation__prev--title {margin-right: 40px;}
.elementor-post-navigation .post-navigation__next--title {margin-left: 40px;}



[type=submit] {border: none;}


/* gravity forms */

.gform-theme--foundation .gfield select {line-height: 1;}

.gform_required_legend {display: none !important;}

.gform_wrapper.gravity-theme .gfield_required { color: var(--e-global-color-primary) !important; font-size: 15px !important;}

.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 20px !important;}

.gform_wrapper input, .gform_wrapper select, .gform_wrapper textarea {padding: 10px !important; border: 1px solid #000 !important; border-radius: 4px;}
.gform_wrapper input[type="submit"] {background-color: var(--e-global-color-primary) !important; color: #fff; padding: 10px 30px !important; border: 0 !important; font-size: 18px; text-transform: uppercase; text-decoration: none; border-radius: 4px; display: inline-block;}

.gform_wrapper .gform_footer { padding: 0px !important;}
.gform_wrapper .top_label .gfield_label { color: var(--e-global-color-text); font-size: 18px !important; margin-bottom: 5px !important;}
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {border-radius: 4px;}

.elementor-kit-141 input[type="submit"] { line-height: 26px !important; letter-spacing: 0 !important; padding: 12px 36px !important; border: none !important;}
.elementor-kit-141 input[type=search] {padding: 10px;}

.search-submit {margin-left: 14px;}


/* gravity checkbox */
.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox] { opacity: 0; }
.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox] + label { position: relative; overflow: hidden; padding: 0 20px 0 28px; cursor: pointer; display: inline-block;  font-size: 17px; line-height: 1.2 !important;}
.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox] + label:before, .gform_wrapper .gfield_checkbox .gchoice input[type=checkbox] + label:after { content: ''; position: absolute; left: 0; z-index: 1; -webkit-transition: .2s; transition: .2s; }

/* checkbox checkbox after */
.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox]:not(:checked) + label:after { width: 20px; height: 19px; border: 1px solid #000; background-color: #fff; top: 0px; border-radius: 4px}
.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox]:checked + label:after { top: 0; width: 20px; height: 19px; border: 1px solid #000; background-color: var( --e-global-color-primary ); z-index: 0; border-radius: 4px}

/* checkbox checkbox before */
.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox]:checked + label:before { left: 1px; width: 8px; height: 16px; border-top: 2px solid transparent; border-left: 2px solid transparent; border-right: 3px solid #fff; border-bottom: 3px solid #fff; -webkit-transform: rotateZ(34deg); transform: rotateZ(34deg); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; }
.gform_wrapper.gravity-theme .gfield_checkbox label { line-height: 1.4; }


/* gravity radio */
.gform_wrapper.gravity-theme .gfield-choice-input { display: none !important; }
.gform_wrapper .gfield_radio .gchoice input[type=radio] + label { position: relative; overflow: hidden; padding: 0 20px 0 28px; cursor: pointer; display: inline-block; font-size: 17px;  line-height: 1.2 !important;}
.gform_wrapper .gfield_radio .gchoice input[type=radio] + label:before, .gform_wrapper .gfield_radio .gchoice input[type=radio] + label:after { content: ''; position: absolute; left: 0; z-index: 1; -webkit-transition: .2s; transition: .2s; }

/* radio radio after */
.gform_wrapper .gfield_radio .gchoice input[type=radio]:not(:checked) + label:after { width: 20px; height: 19px; border: 1px solid #000; border-radius: 0; top: 0px; border-radius: 4px}
.gform_wrapper .gfield_radio .gchoice input[type=radio]:checked + label:after { top: 0; width: 20px; height: 20px; border: 1px solid #000; background-color: var( --e-global-color-primary ); z-index: 0; border-radius: 4px }

/* radio radio before */
.gform_wrapper .gfield_radio .gchoice input[type=radio]:checked + label:before { left: 1px; width: 8px; height: 16px; border-top: 2px solid transparent; border-left: 2px solid transparent; border-right: 3px solid #fff; border-bottom: 3px solid #fff; -webkit-transform: rotateZ(37deg); transform: rotateZ(37deg); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; }
.gform_wrapper.gravity-theme .gfield_radio label { line-height: 1.4; }
.gform_wrapper.gravity-theme .gfield-choice-input + label { width: 100%; }


/* blog feed */
.elementor-posts .elementor-post__read-more {color: var(--e-global-color-bd28782); border: 0; border-radius: 0px; background-color: var(--e-global-color-primary) ; padding: 7px 30px; transition: all .2s ease-in-out;  }
.elementor-posts .elementor-post__read-more:hover {color: var(--e-global-color-bd28782); border: 0;  background-color: var(--e-global-color-secondary); padding: 7px 30px;}
.elementor-posts .elementor-post__excerpt {padding-bottom: 30px;}
.elementor-post__excerpt p:after { content: "...";}

.elementor-posts .elementor-post {padding-bottom: 20px !important;}

.elementor-post__text { margin: 0 0%;    position: relative; min-height: 320px;
    padding: 3% 0;}
.elementor-posts .elementor-post__title {
	 margin: 20px 0 10px !important;
     display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;}

.elementor-post__read-more {position: absolute; bottom: 1px;}
.elementor-post__meta-data {
	position: absolute;
	top: 0px;
}





/* = Column Shortcode Fix
-------------------------------------------------------------- */
.one_half {
    width: 48% !important;
    margin-right: 4% !important;
}
.one_half.last_column {
    width: 48% !important;
    margin-right: 0px !important;
}
.one_third {
    width: 31% !important;
    margin-right: 3% !important;
}
.one_third.last_column {
    width: 31% !important;
    margin-right: 0px !important;
}
.two_third {
    width: 66% !important;
    margin-right: 2% !important;
}
.two_third.last_column {
    width: 66% !important;
    margin-right: 0px !important;
}
.one_fourth {
    width: 23.5% !important;
    margin-right: 2% !important;
}
.one_fourth.last_column {
    width: 23.5% !important;
    margin-right: 0px !important;
}
.three_fourth {
    width: 74.5% !important;
    margin-right: 2% !important;
}
.three_fourth.last_column {
    width: 74.5% !important;
    margin-right: 0px !important;
}
.one_fifth {
    width: 18.4% !important;
    margin-right: 2% !important;
}
.one_fifth.last_column {
    width: 18.4% !important;
    margin-right: 0px !important;
}
.two_fifth {
    width: 39% !important;
    margin-right: 2% !important;
}
.two_fifth.last_column {
    width: 39% !important;
    margin-right: 0px !important;
}
.three_fifth {
    width: 59% !important;
    margin-right: 2% !important;
}
.three_fifth.last_column {
    width: 59% !important;
    margin-right: 0px !important;
}
.four_fifth {
    width: 79.6% !important;
    margin-right: 2% !important;
}
.four_fifth.last_column {
    width: 79.6% !important;
    margin-right: 0px !important;
}
.one_sixth {
    width: 15% !important;
    margin-right: 2% !important;
}
.one_sixth.last_column {
    width: 15% !important;
    margin-right: 0px !important;
}

.five_sixth {
    width: 82.4% !important;;
}





/* Maximum width of 1366 pixels. */
@media screen and (max-width: 1366px) {


.cliptrbl.hero-clip {
  --clip-size: 80px !important;
  --clip-radius: 16px !important;
}


}


/* Maximum width of 1024 pixels. */
@media screen and (max-width: 1024px) {    

.elementor-post__text { min-height: auto; padding-bottom: 2%;}
.elementor-post__read-more {
    margin: 24px auto;
    position: relative;
    bottom: 0px;}

 body:not(.elementor-editor-active) .elementor-menu-anchor:before {
   height: 144px !important;
   margin: -144px 0 0  !important; }


.logged-in .elementor-location-header {margin-top: 46px;}




.cliptrbl.hero-clip {
  --clip-size: 60px !important;
  --clip-radius: 14px !important;}




	/* = Column Shortcode Fix for Mobile
	-------------------------------------------------------------- */
	.one_half {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.one_half.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.one_third {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.one_third.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.two_third {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.two_third.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.one_fourth {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.one_fourth.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.three_fourth {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.three_fourth.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.one_fifth {
		width: 100% !important;
		margin-right: 0% !important; text-align: center;
	}
	.one_fifth.last_column {
		width: 100% !important;
		margin-right: 0% !important; text-align: center;
	}
	.two_fifth {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.two_fifth.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.three_fifth {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.three_fifth.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.four_fifth {
		width: 100% !important;
		margin-right: 0% !important; text-align: center;
	}
	.four_fifth.last_column {
		width: 100% !important;
		margin-right: 0% !important; text-align: center;
	}
	.one_sixth {
		width: 100% !important;
		margin-right: 0% !important;
	}
	.one_sixth.last_column {
		width: 100% !important;
		margin-right: 0% !important;
	}





}








/* Maximum width of 767 pixels. */
@media screen and (max-width: 767px) {



ul.trowellist li, ul.bricklist li { position: relative; padding-left: 24px; margin: 0 0 4px 10px;}

ul.trowellist li:before, ul.bricklist li:before { top: 2px; }



.cliptrbl.hero-clip {
  --clip-size: 45px  !important;
}

.cliptrbl,
.clipbrtl {
  --clip-size: 40px  !important;
}

.cliptrbl.small,
.clipbrtl.small {
  --clip-size: 30px  !important;
}

.cliptrbl.smallest,
.clipbrtl.smallest {
  --clip-size: 20px  !important;
}




.elementor-text-editor .alignright, .elementor-text-editor .alignleft, .elementor-widget-text-editor .alignright, .elementor-widget-text-editor .alignleft {
    float: none;
    margin: 0 auto 14px;
    display: block;}


/* mobile blog nav */

.elementor-post-navigation { flex-direction: column;}
.elementor-post-navigation .elementor-post-navigation__link {
    width: calc(100%) !important;}
.elementor-post-navigation span.elementor-post-navigation__link__next {
    text-align: left !important;}
.elementor-post-navigation .elementor-post-navigation__link a {
    justify-content: center !important;}
.elementor-post-navigation .post-navigation__arrow-wrapper {  display: none !important;}
.elementor-post-navigation span.elementor-post-navigation__link__next, .elementor-post-navigation span.elementor-post-navigation__link__prev {
    width: 100% !important;}
.elementor-post-navigation .elementor-post-navigation__next {  padding-top: 14px !important;}

.elementor-post-navigation .post-navigation__prev--title {margin-right: 0px;}
.elementor-post-navigation .post-navigation__next--title {margin-left: 0px;}


}
