.elementor-kit-12{--e-global-color-primary:#2C2523;--e-global-color-secondary:#2C2523E0;--e-global-color-text:#2C2523CC;--e-global-color-accent:#5A2330;--e-global-color-c54b42f:#5A2330;--e-global-color-f7d9257:#9F4E5C;--e-global-color-a5f745e:#E6CDC7;--e-global-color-018afb5:#FFFFFF;--e-global-color-678bdcb:#FFF9F2;--e-global-color-bdc598b:#F4E6D8;--e-global-color-8797c85:#C6A46C;--e-global-color-353b81f:#1E1B191F;--e-global-typography-primary-font-family:"Trajan Regular";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;--e-global-typography-52bae30-font-family:"Montserrat";--e-global-typography-52bae30-font-size:14px;--e-global-typography-52bae30-font-weight:500;--e-global-typography-52bae30-text-transform:uppercase;--e-global-typography-52bae30-line-height:1.3em;--e-global-typography-52bae30-letter-spacing:2px;--e-global-typography-f03a642-font-family:"Trajan Regular";--e-global-typography-f03a642-font-size:60px;--e-global-typography-f03a642-text-transform:uppercase;--e-global-typography-f03a642-line-height:1.15em;--e-global-typography-f03a642-letter-spacing:-1px;--e-global-typography-3cda4d2-font-size:50px;--e-global-typography-3cda4d2-text-transform:uppercase;--e-global-typography-3cda4d2-line-height:1.15em;--e-global-typography-3cda4d2-letter-spacing:-0.8px;--e-global-typography-87670e2-font-family:"Cormorant Garamond";--e-global-typography-87670e2-font-size:130px;--e-global-typography-87670e2-font-weight:300;--e-global-typography-87670e2-text-transform:none;--e-global-typography-87670e2-font-style:italic;--e-global-typography-87670e2-line-height:1em;--e-global-typography-e2dd24c-font-family:"Cormorant Garamond";--e-global-typography-e2dd24c-font-size:100px;--e-global-typography-e2dd24c-font-weight:300;--e-global-typography-e2dd24c-text-transform:none;--e-global-typography-e2dd24c-font-style:italic;--e-global-typography-e2dd24c-line-height:1em;background-color:#FFF9F240;line-height:1.8em;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-kit-12 h1{font-size:60px;text-transform:uppercase;line-height:1.15em;letter-spacing:-1px;}.elementor-kit-12 h2{font-size:50px;text-transform:uppercase;line-height:1.15em;letter-spacing:-0.8px;}.elementor-kit-12 h3{font-size:32px;text-transform:uppercase;line-height:1.3em;letter-spacing:-0.6px;}.elementor-kit-12 h4{text-transform:uppercase;line-height:1.3em;letter-spacing:-0.4px;}.elementor-kit-12 h5{text-transform:uppercase;line-height:1.3em;letter-spacing:-0.2px;}.elementor-kit-12 h6{text-transform:uppercase;line-height:1.4em;}.elementor-kit-12 button,.elementor-kit-12 input[type="button"],.elementor-kit-12 input[type="submit"],.elementor-kit-12 .elementor-button{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var( --e-global-color-accent );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:18px 30px 18px 30px;}.elementor-kit-12 button:hover,.elementor-kit-12 button:focus,.elementor-kit-12 input[type="button"]:hover,.elementor-kit-12 input[type="button"]:focus,.elementor-kit-12 input[type="submit"]:hover,.elementor-kit-12 input[type="submit"]:focus,.elementor-kit-12 .elementor-button:hover,.elementor-kit-12 .elementor-button:focus{color:var( --e-global-color-primary );}.elementor-kit-12 input:not([type="button"]):not([type="submit"]),.elementor-kit-12 textarea,.elementor-kit-12 .elementor-field-textual{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-a5f745e );border-radius:0px 0px 0px 0px;padding:14px 16px 14px 16px;}.elementor-kit-12 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-12 textarea:focus,.elementor-kit-12 .elementor-field-textual:focus{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-f7d9257 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-12{--e-global-typography-f03a642-font-size:54px;--e-global-typography-3cda4d2-font-size:44px;}.elementor-kit-12 h1{font-size:54px;}.elementor-kit-12 h2{font-size:44px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-12{--e-global-typography-f03a642-font-size:40px;--e-global-typography-3cda4d2-font-size:36px;}.elementor-kit-12 h1{font-size:40px;}.elementor-kit-12 h2{font-size:36px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */h1, h2, h3, h4, h5, h6 {
    margin-bottom: -10px !important;
}

p:last-child {
    margin-block-end: 4px;
}

ul, ol {
    margin-block-end: 1rem;
}

input, select, textarea {
    box-shadow: none !important;
}

select {
    cursor: pointer;
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.elementor-field-group {
    align-content: start;
}

.elementor-message {
    margin: 20px 0 0;
}

.elementor-message-success {
    color: #008A20;
}

.elementor-help-inline.elementor-form-help-inline {
    margin: 10px 0 0;
}

.elementor-select-wrapper .select-caret-down-wrapper {
    font-size: 9px !important;
    inset-inline-end: 16px !important;
    top: 23px !important; /* Adjust this based on height of form fields. Should be half of form field size. */
}

.elementor-field-group .elementor-select-wrapper {
    flex-direction: column;
}

.elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure {
    line-height: 0;
}

.elementor-social-icon:hover {
    opacity: 1 !important;
}



/* Button Animation */


.elementor-button {
    background-color: transparent !important;
}

.elementor-button {
  position: relative;
  overflow: hidden;
  transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out;
}

.elementor-button::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  opacity: .5;
  pointer-events: none;

  --inner-border-color: #5A2330ad;

  background-repeat: no-repeat;
  background-image:
    linear-gradient(0deg, var(--inner-border-color), var(--inner-border-color)),
    linear-gradient(0deg, var(--inner-border-color), var(--inner-border-color)),
    linear-gradient(0deg, var(--inner-border-color), var(--inner-border-color)),
    linear-gradient(0deg, var(--inner-border-color), var(--inner-border-color));

  background-position:
    0 0,
    100% 100%,
    100% 100%,
    0 0;

  background-size:
    0 1px,
    1px 0,
    0 1px,
    1px 0;

  transition:
    opacity .2s ease-out,
    background-size .82s cubic-bezier(.36, .03, .2, .91);
}

.elementor-button:hover::after {
  background-size:
    100% 1px,
    1px 100%,
    100% 1px,
    1px 100%;
}

.elementor-button .elementor-button-content-wrapper {
  position: relative;
  z-index: 2;
}



/* ===== Container Background Parallax ===== */

.parallax-con {
  position: relative;
  overflow: hidden;
}

/* The moving background layer — sits at the bottom */
.parallax-con .parallax-bg {
  position: absolute;
  inset: -15% 0;          /* 130% tall: 15% extra top & bottom = travel room */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  will-change: transform;
  z-index: 0;
  pointer-events: none;
}

/* Elementor's background overlay — above the image, below content */
.parallax-con::before,
.parallax-con > .e-con-inner::before {
  z-index: 1 !important;
}

/* Content sits on top of everything */
.parallax-con > *:not(.parallax-bg) {
  position: relative;
  z-index: 2;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Trajan Regular';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://rosys.co.za/wp-content/uploads/2026/08/TrajanPro-Regular.eot');
	src: url('https://rosys.co.za/wp-content/uploads/2026/08/TrajanPro-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://rosys.co.za/wp-content/uploads/2026/08/TrajanPro-Regular.woff2') format('woff2'),
		url('https://rosys.co.za/wp-content/uploads/2026/08/TrajanPro-Regular.woff') format('woff'),
		url('https://rosys.co.za/wp-content/uploads/2026/08/TrajanPro-Regular.ttf') format('truetype'),
		url('https://rosys.co.za/wp-content/uploads/2026/08/TrajanPro-Regular.svg#TrajanRegular') format('svg');
}
/* End Custom Fonts CSS */