/*
 * Compatibility styles for Elementor-built pages (loaded only there).
 * Generated once by tests/theme/extract-compat.js + build-compat.py from the previous theme: only the rules that match
 * elements inside Elementor content were kept (grid and spacing utilities, ft-* widget styles, form controls).
 * Maintained by hand from now on: delete a rule when the widget or page that needs it is rebuilt.
 */
:where(.elementor) *{box-sizing: border-box;}
:where(.elementor) article,:where(.elementor) figure{display: block;}
:where(.elementor) h5,:where(.elementor) h3,:where(.elementor) h1,:where(.elementor) h4,:where(.elementor) h6,:where(.elementor) h2{margin-top: 0px; margin-bottom: 0.5rem;}
:where(.elementor) p{margin-top: 0px; margin-bottom: 1rem;}
:where(.elementor) ul{margin-top: 0px; margin-bottom: 1rem;}
:where(.elementor) strong,:where(.elementor) b{font-weight: bolder;}
:where(.elementor) small{font-size: 80%;}
:where(.elementor) sup{position: relative; font-size: 75%; line-height: 0; vertical-align: baseline;}
:where(.elementor) sup{top: -0.5em;}
:where(.elementor) a{color: rgb(0, 123, 255); text-decoration: none; background-color: transparent;}
:where(.elementor) a:hover{color: rgb(0, 86, 179); text-decoration: underline;}
:where(.elementor) figure{margin: 0px 0px 1rem;}
:where(.elementor) img{vertical-align: middle; border-style: none;}
:where(.elementor) svg{overflow: hidden; vertical-align: middle;}
:where(.elementor) label{display: inline-block; margin-bottom: 0.5rem;}
:where(.elementor) button{border-radius: 0px;}
:where(.elementor) button:focus{outline: -webkit-focus-ring-color auto 5px;}
:where(.elementor) input,:where(.elementor) button,:where(.elementor) textarea,:where(.elementor) select{margin: 0px; font-family: inherit; font-size: inherit; line-height: inherit;}
:where(.elementor) input,:where(.elementor) button{overflow: visible;}
:where(.elementor) button,:where(.elementor) select{text-transform: none;}
:where(.elementor) select{overflow-wrap: normal;}
:where(.elementor) button{appearance: button;}
:where(.elementor) textarea{overflow: auto; resize: vertical;}
:where(.elementor) fieldset{min-width: 0px; padding: 0px; margin: 0px; border: 0px;}
:where(.elementor) legend{display: block; width: 100%; max-width: 100%; padding: 0px; margin-bottom: 0.5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal;}
:where(.elementor) h5,:where(.elementor) h3,:where(.elementor) h1,:where(.elementor) h4,:where(.elementor) h6,:where(.elementor) h2{margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2;}
:where(.elementor) h1{font-size: 2.5rem;}
:where(.elementor) h2{font-size: 2rem;}
:where(.elementor) h3{font-size: 1.75rem;}
:where(.elementor) h4{font-size: 1.5rem;}
:where(.elementor) h5{font-size: 1.25rem;}
:where(.elementor) h6{font-size: 1rem;}
:where(.elementor) small{font-size: 80%; font-weight: 400;}
:where(.elementor) article,:where(.elementor) figure{display: block;}
:where(.elementor) a{background-color: transparent;}
:where(.elementor) strong,:where(.elementor) b{font-weight: 700;}
:where(.elementor) small{font-size: 80%;}
:where(.elementor) sup{font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
:where(.elementor) sup{top: -0.5em;}
:where(.elementor) img{border: 0px;}
:where(.elementor) svg:not(:root){overflow: hidden;}
:where(.elementor) figure{margin: 0px;}
:where(.elementor) input,:where(.elementor) button,:where(.elementor) textarea,:where(.elementor) select{color: inherit; font: inherit; margin: 0px; border-radius: 4px;}
:where(.elementor) select{text-transform: none;}
:where(.elementor) button{overflow: visible;}
:where(.elementor) input,:where(.elementor) button,:where(.elementor) textarea,:where(.elementor) select{max-width: 100%;}
:where(.elementor) button{appearance: button; cursor: pointer;}
:where(.elementor) fieldset{border: 1px solid rgb(209, 209, 209); margin: 0px 0px 1.75em; min-width: inherit; padding: 30px;}
:where(.elementor) fieldset > :last-child{margin-bottom: 0px;}
:where(.elementor) legend{border: 0px; padding: 0px;}
:where(.elementor) textarea{overflow: auto; vertical-align: top;}
:where(.elementor) input,:where(.elementor) button,:where(.elementor) textarea,:where(.elementor) select{color: rgb(26, 26, 26); font-size: 1rem; line-height: 1.75;}
:where(.elementor) h5,:where(.elementor) h3,:where(.elementor) h1,:where(.elementor) h4,:where(.elementor) h6,:where(.elementor) h2{clear: both; font-weight: 700; margin: 0px; text-rendering: optimizelegibility; letter-spacing: 1px;}
:where(.elementor) p{margin: 0px 0px 1.75em;}
:where(.elementor) i{font-style: italic;}
:where(.elementor) *{box-sizing: inherit;}
:where(.elementor) ul{margin: 0px 0px 1.75em 1.25em; padding: 0px;}
:where(.elementor) ul{list-style: disc;}
:where(.elementor) img{height: auto; max-width: 100%; vertical-align: middle;}
:where(.elementor) input{line-height: normal;}
:where(.elementor) button{background: rgb(26, 26, 26); border: 0px; border-radius: 2px; color: rgb(255, 255, 255); font-family: Montserrat, "Helvetica Neue", sans-serif; font-weight: 700; letter-spacing: 0.046875em; line-height: 1; padding: 0.84375em 0.875em 0.78125em; text-transform: uppercase;}
:where(.elementor) button:hover,:where(.elementor) button:focus{background: var(--au-brand); color: var(--au-on-brand);}

:where(.elementor) textarea{background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)) rgb(247, 247, 247); border: 1px solid rgb(209, 209, 209); border-radius: 2px; color: rgb(104, 104, 104); padding: 0.625em 0.4375em; width: 100%;}
:where(.elementor) textarea:focus{background-color: rgb(255, 255, 255); border-color: var(--au-brand-ink); color: rgb(26, 26, 26); outline: 0px;}
:where(.elementor) a{color: rgb(0, 122, 204); text-decoration: none;}
:where(.elementor) a:hover,:where(.elementor) a:focus,:where(.elementor) a:active{color: rgb(104, 104, 104);}
:where(.elementor) a:focus{outline: none;}
:where(.elementor) a:hover,:where(.elementor) a:active{outline: 0px;}
:where(.elementor) a{color: rgb(12, 62, 184); text-decoration: none; background-color: transparent; transition: 0.2s;}
:where(.elementor) a:hover,:where(.elementor) a:hover h3,:where(.elementor) a:hover p,:where(.elementor) a:hover h4,:where(.elementor) a:hover h6{color: rgb(12, 58, 150); text-decoration: none; transition: 0.2s;}
:where(.elementor) *{box-sizing: border-box;}
:where(.elementor) h5,:where(.elementor) h3,:where(.elementor) h1,:where(.elementor) h4,:where(.elementor) h6,:where(.elementor) h2{font-weight: 400; line-height: 1.4;}
:where(.elementor) img{max-width: 100%;}
:where(.elementor) button:focus{outline: none; outline-offset: 0px;}
:where(.elementor) label{font-size: 0.93em; margin-bottom: 10px; font-weight: 500; display: block; font-style: normal; text-align: start;}
:where(.elementor) textarea,:where(.elementor) select{color: rgb(35, 34, 38); background-color: rgba(23, 22, 26, 0.04); border: 1px solid transparent; width: 100%; line-height: 1.3; border-radius: 4px; position: relative; appearance: none; transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1); outline: 0px; font-family: inherit; font-weight: 400; font-size: inherit; min-height: 52px; padding: 14px 15px !important;}
:where(.elementor) select{cursor: pointer;}
[dir="rtl"] :where(.elementor) ul{margin: 0px 1.25em 1.75em 0px;}
:where(.elementor) a{color: rgb(60, 192, 198);}
:where(.elementor) a:hover,:where(.elementor) a:focus,:where(.elementor) a:hover h3,:where(.elementor) a:hover p,:where(.elementor) a:hover h4,:where(.elementor) a:hover h6{color: rgb(0, 188, 198) !important;}
:where(.elementor) textarea:focus{border-color: rgb(0, 188, 198);}
:where(.elementor) h5,:where(.elementor) h3,:where(.elementor) h1,:where(.elementor) h4,:where(.elementor) h6,:where(.elementor) h2{font-family: Montserrat;}
:where(.elementor) h5,:where(.elementor) h3,:where(.elementor) h1,:where(.elementor) h4,:where(.elementor) h6,:where(.elementor) h2{font-weight: 600;}
*{box-sizing: border-box;}
article,figcaption,figure,section{display: block;}
[tabindex="-1"]:focus{outline: 0px !important;}
h1,h2,h3,h4,h6,h5{margin-top: 0px; margin-bottom: 0.5rem;}
p{margin-top: 0px; margin-bottom: 1rem;}
ul,dl{margin-top: 0px; margin-bottom: 1rem;}
dt{font-weight: 700;}
dd{margin-bottom: 0.5rem; margin-left: 0px;}
blockquote{margin: 0px 0px 1rem;}
b,strong{font-weight: bolder;}
sup{position: relative; font-size: 75%; line-height: 0; vertical-align: baseline;}
sup{top: -0.5em;}
a{color: rgb(0, 123, 255); text-decoration: none; background-color: transparent;}
a:hover{color: rgb(0, 86, 179); text-decoration: underline;}
a:not([href]):not([tabindex]){color: inherit; text-decoration: none;}
a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color: inherit; text-decoration: none;}
a:not([href]):not([tabindex]):focus{outline: 0px;}
figure{margin: 0px 0px 1rem;}
img{vertical-align: middle; border-style: none;}
svg{overflow: hidden; vertical-align: middle;}
table{border-collapse: collapse;}
th{text-align: inherit;}
label{display: inline-block; margin-bottom: 0.5rem;}
button{border-radius: 0px;}
button:focus{outline: -webkit-focus-ring-color auto 5px;}
button,input,select,textarea{margin: 0px; font-family: inherit; font-size: inherit; line-height: inherit;}
button,input{overflow: visible;}
button,select{text-transform: none;}
select{overflow-wrap: normal;}
[type="button"],button,[type="submit"]{appearance: button;}
textarea{overflow: auto; resize: vertical;}
fieldset{min-width: 0px; padding: 0px; margin: 0px; border: 0px;}
.h2,h1,h2,h3,h4,h6,h5{margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2;}
h1{font-size: 2.5rem;}
.h2,h2{font-size: 2rem;}
h3{font-size: 1.75rem;}
h4{font-size: 1.5rem;}
h5{font-size: 1.25rem;}
h6{font-size: 1rem;}
.display-3{font-size: 4.5rem; font-weight: 300; line-height: 1.2;}
.row{display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px;}
.col-12,.col-lg-4,.col-lg-6,.col-md-5,.col-md-6,.col-md-7,.col-xl-3,.col-xl-4{position: relative; width: 100%; padding-right: 15px; padding-left: 15px;}
.col-12{flex: 0 0 100%; max-width: 100%;}
@media (min-width: 768px){.col-md-5{flex: 0 0 41.6667%; max-width: 41.6667%;}}
@media (min-width: 768px){.col-md-6{flex: 0 0 50%; max-width: 50%;}}
@media (min-width: 768px){.col-md-7{flex: 0 0 58.3333%; max-width: 58.3333%;}}
@media (min-width: 992px){.col-lg-4{flex: 0 0 33.3333%; max-width: 33.3333%;}}
@media (min-width: 992px){.col-lg-6{flex: 0 0 50%; max-width: 50%;}}
@media (min-width: 1200px){.col-xl-3{flex: 0 0 25%; max-width: 25%;}}
@media (min-width: 1200px){.col-xl-4{flex: 0 0 33.3333%; max-width: 33.3333%;}}
.btn{display: inline-block; font-weight: 400; color: rgb(33, 37, 41); text-align: center; vertical-align: middle; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; border-radius: 0.25rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;}
@media (prefers-reduced-motion: reduce){.btn{transition: none;}}
.btn:hover{color: rgb(33, 37, 41); text-decoration: none;}
.btn:focus{outline: 0px; box-shadow: none;}
.btn:focus-visible{outline: 2px solid var(--au-brand); outline-offset: 3px;}
.btn.disabled,.btn:disabled{opacity: 0.65;}
a.btn.disabled{pointer-events: none;}
.btn-lg{padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.25rem;}
.collapse:not(.show){display: none;}
.nav{display: flex; flex-wrap: wrap; padding-left: 0px; margin-bottom: 0px; list-style: none;}
.tab-content > .tab-pane{display: none;}
.tab-content > .active{display: block;}
.card{position: relative; display: flex; flex-direction: column; min-width: 0px; overflow-wrap: break-word; background-color: rgb(255, 255, 255); background-clip: border-box; border: 1px solid rgba(0, 0, 0, 0.125); border-radius: 0.25rem;}
.card-body{flex: 1 1 auto; padding: 1.25rem;}
.card-title{margin-bottom: 0.75rem;}
.bg-white{background-color: rgb(255, 255, 255) !important;}
.bg-transparent{background-color: transparent !important;}
.border-bottom{border-bottom: 1px solid rgb(222, 226, 230) !important;}
.rounded{border-radius: 0.25rem !important;}
.rounded-circle{border-radius: 50% !important;}
.d-none{display: none !important;}
.d-inline-block{display: inline-block !important;}
.d-block{display: block !important;}
.d-flex{display: flex !important;}
.d-inline-flex{display: inline-flex !important;}
.justify-content-between{justify-content: space-between !important;}
.align-items-center{align-items: center !important;}
.overflow-hidden{overflow: hidden !important;}
.position-relative{position: relative !important;}
.w-100{width: 100% !important;}
.mx-0{margin-right: 0px !important;}
.mb-0{margin-bottom: 0px !important;}
.ml-0,.mx-0{margin-left: 0px !important;}
.mx-1{margin-right: 0.25rem !important;}
.mb-1{margin-bottom: 0.25rem !important;}
.mx-1{margin-left: 0.25rem !important;}
.mt-2{margin-top: 0.5rem !important;}
.mb-2{margin-bottom: 0.5rem !important;}
.mb-3{margin-bottom: 1rem !important;}
.mt-4{margin-top: 1.5rem !important;}
.mb-4{margin-bottom: 1.5rem !important;}
.mb-5{margin-bottom: 3rem !important;}
.pt-0{padding-top: 0px !important;}
.px-0{padding-right: 0px !important;}
.px-0{padding-left: 0px !important;}
.p-4{padding: 1.5rem !important;}
.py-4{padding-top: 1.5rem !important;}
.py-4,.pb-4{padding-bottom: 1.5rem !important;}
.pt-5{padding-top: 3rem !important;}
.pb-5{padding-bottom: 3rem !important;}
.ml-auto{margin-left: auto !important;}
.text-left{text-align: left !important;}
.text-right{text-align: right !important;}
.text-center{text-align: center !important;}
.text-white{color: rgb(255, 255, 255) !important;}
.text-danger{color: rgb(220, 53, 69) !important;}
.text-muted{color: rgb(108, 117, 125) !important;}
@media print{*{text-shadow: none !important; box-shadow: none !important;}}
@media print{a:not(.btn){text-decoration: underline;}}
@media print{blockquote{border: 1px solid rgb(173, 181, 189); break-inside: avoid;}}
@media print{thead{display: table-header-group;}}
@media print{img,tr{break-inside: avoid;}}
@media print{h2,h3,p{orphans: 3; widows: 3;}}
@media print{h2,h3{break-after: avoid;}}
.fe{speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; font-family: Feather !important;}
.fe-arrow-down::before{content: "";}
.fe-arrow-right::before{content: "";}
article,figcaption,figure,section{display: block;}
a{background-color: transparent;}
b,strong{font-weight: 700;}
sup{font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sup{top: -0.5em;}
img{border: 0px;}
svg:not(:root){overflow: hidden;}
figure{margin: 0px;}
button,input,select,textarea{color: inherit; font: inherit; margin: 0px; border-radius: 4px;}
select{text-transform: none;}
button{overflow: visible;}
button,input,select,textarea{max-width: 100%;}
button,input[type="submit"]{appearance: button; cursor: pointer;}
fieldset{border: 1px solid rgb(209, 209, 209); margin: 0px 0px 1.75em; min-width: inherit; padding: 30px;}
fieldset > :last-child{margin-bottom: 0px;}
textarea{overflow: auto; vertical-align: top;}
button,input,select,textarea{color: rgb(26, 26, 26); font-size: 1rem; line-height: 1.75;}
h1,h2,h3,h4,h6,.h2,h5{clear: both; font-weight: 700; margin: 0px; text-rendering: optimizelegibility; letter-spacing: 1px;}
p{margin: 0px 0px 1.75em;}
i,cite{font-style: italic;}
blockquote{border-width: 0px 0px 0px 4px; border-style: solid; border-color: rgb(26, 26, 26); border-image: none; color: rgb(104, 104, 104); font-size: 1.1875rem; font-style: italic; line-height: 1.47368; margin: 0px 0px 1.47368em; overflow: hidden; padding: 0px 0px 0px 1.26316em;}
blockquote{quotes: none;}
blockquote::before,blockquote::after{content: "";}
blockquote p{margin-bottom: 1.47368em;}
blockquote > :last-child{margin-bottom: 0px;}
*{box-sizing: inherit;}
ul{margin: 0px 0px 1.75em 1.25em; padding: 0px;}
ul{list-style: disc;}
dl{margin: 0px 0px 1.75em;}
dt{font-weight: 700;}
dd{margin: 0px 0px 1.75em;}
img{height: auto; max-width: 100%; vertical-align: middle;}
table{border-collapse: separate; border-spacing: 0px; border-width: 1px 0px 0px 1px; margin: 0px 0px 1.75em; table-layout: fixed; width: 100%;}
th,td{font-weight: normal; text-align: left;}
th{border-width: 0px 1px 1px 0px; font-weight: 700;}
td{border-width: 0px 1px 1px 0px;}
th,td{padding: 0.4375em;}
input{line-height: normal;}
button,input[type="submit"]{background: rgb(26, 26, 26); border: 0px; border-radius: 2px; color: rgb(255, 255, 255); font-family: Montserrat, "Helvetica Neue", sans-serif; font-weight: 700; letter-spacing: 0.046875em; line-height: 1; padding: 0.84375em 0.875em 0.78125em; text-transform: uppercase;}
/* Brand colours instead of the previous theme's default blue (#007acc) for generic control states. */
button:hover,button:focus,input[type="submit"]:hover,input[type="submit"]:focus{background: var(--au-brand); color: var(--au-on-brand);}

input[type="text"],input[type="email"],input[type="tel"],textarea{background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)) rgb(247, 247, 247); border: 1px solid rgb(209, 209, 209); border-radius: 2px; color: rgb(104, 104, 104); padding: 0.625em 0.4375em; width: 100%;}
input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,textarea:focus{background-color: rgb(255, 255, 255); border-color: var(--au-brand-ink); color: rgb(26, 26, 26); outline: 0px;}
a{color: rgb(0, 122, 204); text-decoration: none;}
a:hover,a:focus,a:active{color: rgb(104, 104, 104);}
a:focus{outline: none;}
a:hover,a:active{outline: 0px;}
.royalstudio-btn-hover-effect .elementor-button-text{position: relative; display: block; transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -moz-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -o-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1); transform-origin: left center;}
.royalstudio-btn-hover-effect .elementor-button-text::after{content: attr(data-text); display: block; position: absolute; top: 100%; transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), -moz-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), -o-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); transform-origin: left center;}
.royalstudio-btn-hover-effect .elementor-button-text::after{top: 160%;}
.elementor-button span.elementor-button-content-wrapper{overflow: hidden;}
.royalstudio-btn-hover-effect .elementor-button:hover .elementor-button-text{transform: translateY(-160%) skewY(-6deg) !important;}
.royalstudio-btn-hover-effect .elementor-button:hover .elementor-button-text::after{transform: skewY(6deg);}
.entry-content-minimal > *{margin-top: 60px; margin-bottom: 60px;}
.entry-content-minimal > :first-child{margin-top: 0px;}
blockquote::before,blockquote::after{content: ""; display: table;}
blockquote::after{clear: both;}
.site-main > :last-child{margin-bottom: 0px;}
.entry-content h2{font-size: 1.4375rem; line-height: 1.21739; margin-top: 2.43478em; margin-bottom: 1.21739em;}
.entry-content h5{font-size: 1rem; line-height: 1.3125; margin-top: 3.5em; margin-bottom: 1.75em;}
.entry-content-minimal:not(.default-single-post) figure:not(.aligncenter):not(.alignright){margin-left: -180px;}
@media (max-width: 768px){.entry-content-minimal figure{margin-left: 0px !important;}}
@media screen and (min-width: 44.375em){.entry-content blockquote:not(.alignleft):not(.alignright){margin-left: -1.47368em;}}
@media screen and (min-width: 44.375em){.entry-content ul{margin-left: 0px;}}
@media screen and (min-width: 61.5625em){.entry-content h2{font-size: 1.75rem; line-height: 1.25; margin-top: 2em; margin-bottom: 1em;}}
@media screen and (min-width: 61.5625em){.entry-content h5{font-size: 1.1875rem; line-height: 1.10526; margin-top: 2.94737em; margin-bottom: 1.47368em;}}
@media print{button,form,input,select,textarea{display: none;}}
@media print{.entry-content h5{font-size: 12pt;}}
@media print{blockquote{font-size: 14.25pt;}}
@media print{.entry-content h2{font-size: 17.25pt;}}
@media print{blockquote{border-color: rgb(26, 26, 26) !important;}}
@media print{blockquote{color: rgb(104, 104, 104) !important;}}
@media print{table,th,td{border-color: rgb(209, 209, 209) !important;}}
@media print{a{color: rgb(0, 122, 204) !important;}}
@media print{.entry-content a{box-shadow: none; border-bottom: 1px solid rgb(0, 122, 204) !important;}}
a{color: rgb(12, 62, 184); text-decoration: none; background-color: transparent; transition: 0.2s;}
a:hover,a:hover h3,a:hover p{color: rgb(12, 58, 150); text-decoration: none; transition: 0.2s;}
.text-white{color: rgb(255, 255, 255) !important;}
*{box-sizing: border-box;}
.h2,h1,h2,h3,h4,h6,h5{font-weight: 400; line-height: 1.4;}
.text-muted{color: rgb(153, 153, 153) !important;}
img{max-width: 100%;}
.rounded{border-radius: 6px !important;}
.bg-white{background: rgb(255, 255, 255) !important;}
.fadeInUp{animation-name: fadeInUp;}
button:focus,input[type="submit"]:focus{outline: none; outline-offset: 0px;}
.btn{font-weight: 600; padding: 14px 18px; transition: 0.2s; letter-spacing: 0px; text-decoration: none !important;}
.btn-lg{font-size: 1rem; padding: 0.5rem 1rem;}
.btn-lg.btn-icon-right{padding: 1rem 1.7rem !important;}
.btn-lg.btn-icon-right:not(.no-icon){padding-right: 72px !important;}
.btn-lg.btn-icon-right .btn-icon-holder{right: 20px;}
.btn-lg.btn-icon-left{padding: 1rem 1.7rem !important;}
.btn-lg.btn-icon-left:not(.no-icon){padding-left: 72px !important;}
.btn-lg.btn-icon-left .btn-icon-holder{left: 20px;}
.btn-icon-left .btn-icon-holder{width: 32px; height: 32px; display: block; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); line-height: 32px; border-radius: 50%; margin-right: 15px; vertical-align: middle; background-color: rgba(255, 255, 255, 0.15); transition: 0.2s;}
.btn-icon-right .btn-icon-holder{width: 32px; height: 32px; display: block; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); line-height: 32px; border-radius: 50%; margin-left: 15px; vertical-align: middle; background-color: rgba(255, 255, 255, 0.15); transition: 0.2s;}
.btn-icon-left:not(.no-icon){padding-left: 60px !important;}
.btn-icon-right:not(.no-icon){padding-right: 60px !important;}
.btn-icon-right .btn-icon-holder i,.btn-icon-left .btn-icon-holder i{display: inline-block; font-size: 90%; transition: 0.2s;}
.btn-icon-right:active .btn-icon-holder,.btn-icon-right:focus .btn-icon-holder,.btn-icon-right:hover .btn-icon-holder,.btn-icon-left:active .btn-icon-holder,.btn-icon-left:focus .btn-icon-holder,.btn-icon-left:hover .btn-icon-holder{background-color: rgba(0, 0, 0, 0.2);}
.btn-icon-right:active .btn-icon-holder i,.btn-icon-right:focus .btn-icon-holder i,.btn-icon-right:hover .btn-icon-holder i,.btn-icon-left:active .btn-icon-holder i,.btn-icon-left:focus .btn-icon-holder i,.btn-icon-left:hover .btn-icon-holder i{color: rgb(255, 255, 255);}
.btn:active i,.btn:focus i,.btn:hover i{animation: 0.2s ease 0s 1 normal forwards running hoverBtnVertical;}
.card{border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 0px; transition: 0.2s;}
.card-body{padding: 2.2rem 1.875rem;}
.card-title{font-size: 16px; margin: 0px 0px 7px; font-weight: 300; text-transform: inherit; text-align: inherit; line-height: 28px; white-space: pre-wrap;}
.lift{transition: 0.2s;}
.lift:focus,.lift:hover{transform: translateY(-3px); z-index: 1; box-shadow: rgba(22, 28, 45, 0.1) 0px 1rem 2.5rem, rgba(22, 28, 45, 0.1) 0px 0.5rem 1rem -0.75rem !important;}
.text-danger{color: rgb(208, 0, 39) !important;}
.text-black{color: rgb(17, 17, 17) !important;}
.text-yellow{color: rgb(60, 192, 198) !important;}
.fs-20{font-size: 20px !important;}
.fs-24{font-size: 24px !important;}
.fs-32{font-size: 32px !important;}
.fs-72{font-size: 72px !important;}
.lh-1{line-height: 1;}
.border-bottom{border-bottom: 1px solid rgb(241, 244, 248) !important;}
.mb-6{margin-bottom: 2rem !important;}
.z-index-9{z-index: 9;}
.display-3{font-size: 3rem;}
.display-3{font-weight: 400; line-height: 1;}
.title{color: rgb(160, 160, 160); font-size: 14px; line-height: 16px; margin-bottom: 0px; user-select: none;}
.overflow-visible{overflow: visible !important;}
.fw-400{font-weight: 400 !important;}
.fw-600{font-weight: 600 !important;}
.fw-700{font-weight: 700 !important;}
.mx-0{margin-right: 0px !important;}
.mb-0{margin-bottom: 0px !important;}
.ml-0,.mx-0{margin-left: 0px !important;}
.mx-1{margin-right: 0.25rem !important;}
.mb-1{margin-bottom: 0.25rem !important;}
.mx-1{margin-left: 0.25rem !important;}
.mt-2{margin-top: 0.5rem !important;}
.mb-2{margin-bottom: 0.5rem !important;}
.mb-3{margin-bottom: 0.75rem !important;}
.mt-4{margin-top: 1rem !important;}
.mb-4{margin-bottom: 1rem !important;}
.mb-5{margin-bottom: 1.5rem !important;}
.mt-6{margin-top: 2rem !important;}
.mb-6{margin-bottom: 2rem !important;}
.mb-7{margin-bottom: 2.5rem !important;}
.my-8{margin-top: 3rem !important;}
.my-8,.mb-8{margin-bottom: 3rem !important;}
.mt-10{margin-top: 5rem !important;}
.mb-10{margin-bottom: 5rem !important;}
.mb-12{margin-bottom: 8rem !important;}
.p-4{padding: 1rem !important;}
.py-4{padding-top: 1rem !important;}
.py-4,.pb-4{padding-bottom: 1rem !important;}
.pt-5{padding-top: 1.5rem !important;}
.pb-5{padding-bottom: 1.5rem !important;}
.p-6{padding: 2rem !important;}
.py-6,.pt-6{padding-top: 2rem !important;}
.pb-6,.py-6{padding-bottom: 2rem !important;}
.pl-6{padding-left: 2rem !important;}
.py-8,.pt-8{padding-top: 3rem !important;}
.px-8{padding-right: 3rem !important;}
.py-8,.pb-8{padding-bottom: 3rem !important;}
.px-8{padding-left: 3rem !important;}
.px-9{padding-right: 4rem !important;}
.px-9{padding-left: 4rem !important;}
.pt-10{padding-top: 5rem !important;}
.pb-10{padding-bottom: 5rem !important;}
.pt-11{padding-top: 6rem !important;}
.pt-12,.py-12{padding-top: 8rem !important;}
.pb-12,.py-12{padding-bottom: 8rem !important;}
.pt-14{padding-top: 12rem !important;}
.ml-auto{margin-left: auto !important;}
.pt-0{padding-top: 0px !important;}
.px-0{padding-right: 0px !important;}
.px-0{padding-left: 0px !important;}
.tab-pane-alt.active{animation: 0.4s ease-out 0s 1 normal none running slide-down;}
.list{padding-left: 0px; list-style: none;}
@media (min-width: 1420px){.gx-60{margin-right: -30px; margin-left: -30px;}}
@media (min-width: 1420px){.gx-60 > *{padding-right: 30px; padding-left: 30px;}}
@media (min-width: 1420px){.gx-60 > article,.gx-60 > .royalstudio_project{margin-bottom: 60px;}}
@media (min-width: 1420px){.gx-40{margin-right: -20px; margin-left: -20px;}}
@media (min-width: 1420px){.gx-40 > *{padding-right: 20px; padding-left: 20px;}}
@media (max-width: 1420px){.gx-60{margin-right: -15px; margin-left: -15px;}}
@media (max-width: 1420px){.gx-60 > *{padding-right: 15px; padding-left: 15px;}}
@media (max-width: 1420px){.gx-60 > article,.gx-60 > .royalstudio_project{margin-bottom: 30px;}}
@media (max-width: 1420px){.gx-40{margin-right: -15px; margin-left: -15px;}}
@media (max-width: 1420px){.gx-40 > *{padding-right: 15px; padding-left: 15px;}}
.avatar{position: relative; display: inline-block; width: 1.875rem; height: 1.875rem; font-size: 0.625rem;}
.avatar::after{content: ""; position: absolute; width: 0px; height: 0px;}
.avatar-img{width: 100%; height: 100%; object-fit: cover;}
.avatar-xxl{width: 4rem; height: 4rem; font-size: 1.33333rem;}
@media (min-width: 768px){.avatar-xxl{width: 5rem; height: 5rem; font-size: 1.66667rem;}}
.sky-bg{background-color: rgb(0, 0, 0);}
.sky-bg::before{position: absolute; display: block; content: ""; top: -10vh; left: -25vw; width: 150vw; height: 110vh; box-shadow: rgb(0, 0, 0) 0px 0px 18rem 16rem inset; z-index: 9; opacity: 0.4;}
.sky-bg > :not(.globalCanvas){z-index: 99;}
.mouse{position: absolute; bottom: 60px; display: inline-block; width: 1.875rem; height: 3.125rem; border-radius: 10rem; border: 2px solid rgba(255, 255, 255, 0.2); z-index: 9;}
section.royalstudio-scroll-icon.royalstudio-scroll-icon-position-right > .mouse{right: 54px;}
section.royalstudio-scroll-icon.royalstudio-scroll-icon-position-right > .mouse.moveUp{right: 54px; bottom: 180px;}
@media only screen and (max-width: 992px){.mouse{bottom: 15px; display: none;}}
@media only screen and (max-width: 992px){section.royalstudio-scroll-icon.royalstudio-scroll-icon-position-right > .mouse{right: 15px;}}
.mouse span{top: 0px; left: 0px; position: absolute; bottom: 80px; padding-bottom: 0px; padding-left: 20px; transform-origin: 0px center; transform: rotate(-90deg) translate(0px, 100%); color: rgb(255, 255, 255); opacity: 0.5;}
.mouse::after{transform: translate(-50%, 0px); content: ""; position: absolute; display: block; top: 25%; left: 50%; width: 6px; height: 6px; background: rgb(255, 255, 255); border-radius: 50%; animation: 2s linear 0s infinite normal none running mouse;}
.elementor-button{min-height: 20px; line-height: 20px;}
.heading-effect{overflow: hidden; display: block;}
.heading-effect .heading-effect-inner{display: inline-block; opacity: 0; transform: translateY(105%) translateZ(0px) skewY(12deg); transform-origin: left center; transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -moz-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -o-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1) !important;}
.is-appear.heading-effect .heading-effect-inner{opacity: 1; transform: translateZ(0px) skewY(0deg);}
.js-magnetic-parent{letter-spacing: 1px;}
.project-btn-icon{width: 70px; height: 70px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.3); align-items: center; justify-content: center; display: flex;}
.wpcf7-form{text-align: left;}
.wpcf7-form label{width: 100%;}
.wpcf7-form-control-wrap{width: 100%; display: inline-block; margin-top: 10px; margin-bottom: 30px;}
.wpcf7-form-control-wrap input,.wpcf7-form-control-wrap textarea{min-height: 52px; border-radius: 4px; padding: 0.625em 1.4375em; transition: 0.2s;}
.wpcf7-form .wpcf7-submit{padding: 14px 28px; border-radius: 4px; font-size: 1rem; font-weight: 600; letter-spacing: 0; line-height: 1.5; text-transform: none; transition: 0.2s;}
.wpcf7-form label,label{font-size: 0.93em; margin-bottom: 10px; font-weight: 500; display: block; font-style: normal; text-align: start;}
input[type="text"],input[type="email"],input[type="tel"],select,textarea{color: rgb(35, 34, 38); background-color: rgba(23, 22, 26, 0.04); border: 1px solid transparent; width: 100%; line-height: 1.3; border-radius: 4px; position: relative; appearance: none; transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1); outline: 0px; font-family: inherit; font-weight: 400; font-size: inherit; min-height: 52px; padding: 14px 15px !important;}
select{cursor: pointer;}
.select{position: relative;}
.select::after{position: absolute; content: ""; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; top: 50%; right: 12px; transform: translateY(-50%); z-index: 0; font-family: Feather !important;}
.blog-grid-content .post-details{font-size: 0.94rem;}
.category-holder{display: inline;}
.category-holder .category::after{content: ",";}
.category-holder .category:last-of-type::after{content: "";}
.category-holder,.category-holder .category{color: rgb(23, 22, 26);}
.category-holder .category{font-weight: 500;}
.dot-separator::after{content: "•"; display: inline-block; vertical-align: middle; font-size: 0.8em; margin-top: -2px; color: rgb(217, 10, 44);}
.blog-grid-headline{margin: 10px 0px 0px; font-size: calc(22.875px + 0.195312vw); line-height: 1.3; font-weight: 600;}
.blog-grid-headline a{color: rgb(23, 22, 26); width: 100%; display: inline-block;}
.post:hover .blog-grid-headline a{color: rgb(60, 192, 198);}
.blog-grid-content{padding-top: 25px; width: 100%;}
.post .blog-grid-image a img{transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.post:hover .blog-grid-image a img{transform: scale3d(1.05, 1.05, 1);}
.masonry-brick:not(.no-paddings){padding-top: 0px;}
/* Staggered two-column project grid (the previous theme packed it with the isotope script): the second column sits 160px lower. */
@media screen and (min-width: 768px) and (max-width: 991px){.tilt-portfolio article:nth-child(2){padding-top: 160px;}}
@media screen and (min-width: 992px){.posts-masonry.row{align-items: flex-start;}.tilt-portfolio.row > article:nth-child(even){transform: translateY(160px);}.tilt-portfolio.row:has(> article:nth-child(even):last-child){margin-bottom: 160px;}}
@media screen and (min-width: 1600px){.blog-grid-headline{font-size: 26px;}}
@media screen and (max-width: 768px){.fs-72{font-size: 42px !important;}}
.blog-grid-meta .meta-holder{display: flex; -webkit-box-align: center; align-items: center;}
.blog-grid-meta .author-avatar{height: 56px; width: 56px; min-width: 56px; border-radius: 50%; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.07) 0px 2px 4px; margin-right: 15px;}
.blog-grid-image{overflow: hidden; border-radius: 4px;}
.blog-grid-image img{vertical-align: top; width: 100%;}
table{margin: 15px 0px; width: 100%; border-width: medium; border-style: none; border-color: currentcolor; border-image: none;}
table{border-collapse: collapse; border-spacing: 0px;}
table{margin: 15px 0px; width: 100%; border: 1px solid rgba(136, 136, 136, 0.15);}
table td,table th{border-width: 1px medium 1px 1px; border-style: solid none solid solid; border-color: rgba(136, 136, 136, 0.15) currentcolor rgba(136, 136, 136, 0.15) rgba(136, 136, 136, 0.15); border-image: none; text-align: inherit; padding: 10px;}
@media (max-width: 1024px){.gx-60{margin-right: -7px; margin-left: -7px;}}
@media (max-width: 1024px){.gx-60 > *{padding-right: 7px; padding-left: 7px;}}
@media (max-width: 1024px){.gx-60 > article,.gx-60 > .royalstudio_project{margin-bottom: 15px;}}
@media (max-width: 1024px){.gx-40{margin-right: -7px; margin-left: -7px;}}
@media (max-width: 1024px){.gx-40 > *{padding-right: 7px; padding-left: 7px;}}
.tilt-image-wrapper{perspective: 1000px; overflow: visible !important;}
.tilt-image-item{width: 100%; display: inline-block; position: relative; transition: 0.3s ease-out;}
.tilt-image-item img{overflow: hidden; border-radius: 4px;}
.royalstudio-card,.royalstudio-card .card-icon-wrapper > *,.royalstudio-card h3,.royalstudio-card p{transition: 0.2s;}
.royalstudio-card p.card-description{margin-bottom: 0px;}
.royalstudio-card.lift_card:hover{transform: translate(0px, -10px); position: relative; z-index: 50; box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px 0px;}
.elementor-widget-ft-card{margin-bottom: 20px !important;}
.royalstudio-card .card-icon-wrapper svg{max-height: 72px; max-width: 72px;}
.royalstudio-accordion button.collapsed .fe-arrow-down{display: none;}
.royalstudio-accordion button .fe-arrow-right{display: none;}
.royalstudio-accordion button.collapsed .fe-arrow-right{display: inline-block;}
.testimonials-slider .owl-dots{display: none !important;}
a.royalstudio-job .fe{transition: 0.2s;}
.rs_underline{position: relative; padding-bottom: 4px; color: var(--au-brand-ink) !important; font-size: 1rem; font-weight: 600; line-height: 1.5;}
.rs_underline::before{content: ""; display: block; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 2px; background: currentColor; transition: transform 0.4s cubic-bezier(0.4, 0.22, 0.21, 1.04), -webkit-transform 0.4s cubic-bezier(0.4, 0.22, 0.21, 1.04), -moz-transform 0.4s cubic-bezier(0.4, 0.22, 0.21, 1.04), -o-transform 0.4s cubic-bezier(0.4, 0.22, 0.21, 1.04);}
.rs_underline:hover::before{transform: scaleX(0);}
.image-to-animate{width: 100%; display: inline-block; position: relative; transition: 0.3s ease-out;}
.image-to-animate::before{content: ""; z-index: 1; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background-color: rgb(4, 4, 4); transition: width 1.6s cubic-bezier(0.15, 0.3, 0.16, 0.96), transform 2.4s cubic-bezier(0.15, 0.3, 0.16, 0.96), -webkit-transform 2.4s cubic-bezier(0.15, 0.3, 0.16, 0.96);}
.image-to-animate.animate::before{width: 0px; transform: translate3d(-100%, 0px, 0px);}
.image-to-animate img{transform: translateX(50px); transition: transform 2s cubic-bezier(0.15, 0.3, 0.16, 0.96), -webkit-transform 2s cubic-bezier(0.15, 0.3, 0.16, 0.96);}
.image-to-animate.animate img{transform: translateX(0px);}
.wpcf7 form:not(.sent) .wpcf7-response-output{background-color: rgb(199, 170, 88); color: rgb(255, 255, 255);}
.ft-tabs-nav ul.nav li a{color: rgb(0, 0, 0);}
.elementor-heading-title{color: rgb(238, 238, 238);}
[dir="rtl"] button,[dir="rtl"] input[type="submit"],[dir="rtl"] input,[dir="rtl"] select,[dir="rtl"] textarea{font-family: var(--au-font-ar);}
/* :where() keeps this at element level, so the theme's own lists (menus, tabs, footer) keep their margins in Arabic. */
:where([dir="rtl"]) ul{margin: 0px 1.25em 1.75em 0px;}
@media screen and (min-width: 44.375em){[dir="rtl"] .entry-content ul{margin-right: 0px; margin-left: auto;}}
a{color: rgb(60, 192, 198);}
.ft-tabs-nav ul.nav li a.active{color: rgb(60, 192, 198) !important;}
a:hover,a:focus,.post:hover .blog-grid-headline a,.category-holder .category:hover,.dot-separator::after,a:hover h3,a:hover p,.text-danger{color: rgb(0, 188, 198) !important;}
input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,textarea:focus{border-color: rgb(0, 188, 198);}
.rs_underline:hover{color: var(--au-ink) !important;}
h1,h2,h3,h4,h6,h5{font-family: Montserrat;}
h1,h2,h3,h4,h6,h5{font-weight: 600;}
@keyframes fadeInUp { 
  0% { opacity: 0; transform: translate3d(0px, 25%, 0px); }
  100% { opacity: 1; transform: none; }
}
@keyframes hoverBtnVertical { 
  0% { transform: translateY(0px); }
  51% { transform: translateY(20px); opacity: 1; }
  52% { opacity: 0; transform: translateY(-20px); }
  53% { opacity: 0; }
  54% { opacity: 1; }
  100% { transform: translateY(0px); }
}
@keyframes slide-down { 
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes mouse { 
  0% { opacity: 1; transform: translate(-50%, 0px); }
  100% { opacity: 0; transform: translate(-50%, 20px); }
}

/* ---------- Type defaults for Elementor headings (hand-written) ----------
   Elementor's own default is line-height 1, which makes the lines of a two-line heading touch. A widget's own
   line height still wins. Arabic needs more room for the marks above and below the line. */
.elementor-widget-heading .elementor-heading-title{line-height: 1.2;}
.elementor-widget-heading :is(p, div, span).elementor-heading-title{line-height: 1.5;}
html[lang^="ar"] .elementor-widget-heading .elementor-heading-title{line-height: 1.4;}
html[lang^="ar"] .elementor-widget-heading :is(p, div, span).elementor-heading-title{line-height: 1.7;}

/* ---------- Calls to action (hand-written) ----------
   Primary: a filled button. The owned button widget (a.btn) takes its fill from the widget (teal by default, dark on
   teal bands); Elementor's own button widget gets the same shape here. Both: 16px/600, 4px radius, dark fill with a
   white label on hover.
   Secondary: an underlined text link (.rs_underline above): "Request Service", "Book now", "Get a quote now". */
.elementor .elementor-widget-button .elementor-button{padding: 14px 28px; border-radius: 4px; background-color: var(--au-brand); color: var(--au-on-brand); font-size: 1rem; font-weight: 600; line-height: 1.5; transition: background-color 0.2s, color 0.2s;}
.elementor .elementor-element.elementor-widget-button .elementor-button:is(:hover, :focus-visible){background-color: var(--au-ink); color: var(--au-white);}
.elementor .elementor-element.elementor-widget-button.rs_underline .elementor-button,
.elementor .elementor-element.elementor-widget-button.rs_underline .elementor-button:is(:hover, :focus-visible){padding: 0; border-radius: 0; background: none; color: inherit; font: inherit;}

/* ---------- Spacing scale on phones (hand-written) ----------
   The large steps of the spacing utilities (5, 6 and 8rem) are section paddings for wide screens; on phones they
   stacked up to 250px of empty space between two sections. Same classes, smaller steps. */
@media (max-width: 767px){
.mt-10{margin-top: 3rem !important;}
.mb-10{margin-bottom: 3rem !important;}
.mb-12{margin-bottom: 4rem !important;}
.pt-10{padding-top: 3rem !important;}
.pb-10{padding-bottom: 3rem !important;}
.pt-11{padding-top: 3.5rem !important;}
.pt-12,.py-12{padding-top: 4rem !important;}
.pb-12,.py-12{padding-bottom: 4rem !important;}
}

/* ---------- Page gutter (hand-written) ----------
   A boxed Elementor row is 1400px wide (the kit's content width) and had no side margin of its own below that,
   so on every screen narrower than 1440px content sat 10, 20 or 30px from the edge, depending on how deeply it was
   nested. The row now always keeps 10px at each side; with the column's own 10px that is the theme's 20px gutter. */
.elementor .elementor-top-section.elementor-section-boxed > .elementor-container{max-width: min(1400px, 100% - 20px);}
/* Elementor content inside a theme container (articles, default-template pages) already has the theme's gutter. */
.au-container .elementor .elementor-top-section.elementor-section-boxed:not(.elementor-section-stretched) > .elementor-container{max-width: min(1400px, 100%);}
