.elementor-1 .elementor-element.elementor-element-21b7fd4e{--display:flex;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:100px;--padding-bottom:100px;--padding-left:20px;--padding-right:20px;}.elementor-1 .elementor-element.elementor-element-6011957{--display:flex;--gap:100px 100px;--row-gap:100px;--column-gap:100px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-1 .elementor-element.elementor-element-acf4ef5{text-align:center;}.elementor-1 .elementor-element.elementor-element-acf4ef5 .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:64px;font-weight:400;text-transform:capitalize;line-height:80px;color:var( --e-global-color-text );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-1 .elementor-element.elementor-element-0cbb673 img{width:100%;border-radius:5px 5px 5px 5px;}.elementor-1 .elementor-element.elementor-element-1f3e6ef{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1 .elementor-element.elementor-element-6d0c943{text-align:center;}.elementor-1 .elementor-element.elementor-element-071d6f6{text-align:start;}.elementor-1 .elementor-element.elementor-element-ed314c0{text-align:start;}@media(max-width:1024px){.elementor-1 .elementor-element.elementor-element-21b7fd4e{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-1 .elementor-element.elementor-element-6011957{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-1 .elementor-element.elementor-element-acf4ef5 .elementor-heading-title{font-size:40px;line-height:50px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1 .elementor-element.elementor-element-1f3e6ef{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-1 .elementor-element.elementor-element-21b7fd4e{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-1 .elementor-element.elementor-element-acf4ef5 .elementor-heading-title{font-size:30px;line-height:36px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for html, class: .elementor-element-b0ea078 */.banner-button {
  background: #FFFFFF;
  color: #222222;
  font-family: 'Fraunces', serif; 
  padding: 0.35em;
  padding-left: 1.2em;
  font-weight: 400;
  border-radius: 5px;
  letter-spacing: 0em;
  display: flex;
  align-items: center;
  box-shadow: inset 0 0 1.6em -0.6em rgba(0, 0, 0, 0.4); 
  overflow: hidden;
  position: relative;
  height: 2.8em;
  padding-right: 3.3em;
  cursor: pointer;
  transition: all 0.3s;
  /* Ensure no default borders interfere with the 5px look */
  border: none; 
}

/* Responsive Font Sizes */
@media (min-width: 1025px) { .cssbuttons-io-button { font-size: 20px; } }
@media (min-width: 768px) and (max-width: 1024px) { .cssbuttons-io-button { font-size: 16px; } }
@media (max-width: 767px) { .cssbuttons-io-button { font-size: 14px; } }

.banner-button:hover {
  background: #FFFFFF;
}

.banner-button .icon {
  background: black;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* FIXED 5PX SPACING */
  top: 5px;
  bottom: 5px;
  right: 5px;
  
  /* Remove fixed height/width to let top/bottom/right dictate size */
  height: auto; 
  width: 2.2em; 
  
  border-radius: 5px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.3s;
}

.banner-button:hover .icon {
  /* Expand icon on hover while maintaining the 5px edge gap */
  width: calc(100% - 10px); /* 5px left + 5px right = 10px total reduction */
}

.banner-button .icon svg {
  width: 1.1em;
  transition: transform 0.3s;
  color: white;
}

.banner-button:hover .icon svg {
  transform: translateX(0.1em);
}

.banner-button:active .icon {
  transform: scale(0.95);
}

/* 1. Prevent color change when clicked (active) or visited */
.banner-button, 
.banner-button:visited, 
.banner-button:active,
.banner-button:focus {
  background-color: #FFFFFF !important;
  color: #222222 !important;
  text-decoration: none !important;
  outline: none !important; /* Removes the blue/pink glow box */
  -webkit-tap-highlight-color: transparent; /* Fixes the "blue flash" on mobile tap */
}

/* 2. Ensure it stays white even when hovering while clicking */
.banner-button:hover {
  background-color: #FFFFFF !important;
  color: #222222 !important;
}

/* 3. Keep the icon black/white and prevent it from changing */
.banner-button:active .icon {
  background-color: black !important;
  transform: scale(0.95); /* Keeps the subtle "press" animation */
}/* End custom CSS */