/* Import Rules */
 @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

/* Variables.css | Apr 24, 2026 @2:16:50 PM  */

:root {

--brand-color: #06417d;
--link-color: #000;
--link-color-hover: var(--brand-color);

    --btn-text-color:#fff;
    --btn-background-color:var(--brand-color);
    --btn-border:none;

    --btn-text-color-hover: var(--btn-text-color);
    --btn-background-color-hover: #333;
    --btn-border-hover: var(--btn-border);

    --btn-alt-text-color:#333;
    --btn-alt-background-color:#e4e6eb;
    --btn-alt-border:1px solid rgba(201, 201, 201, 0.7);

    --btn-alt-text-color-hover: var(--btn-alt-text-color);
    --btn-alt-background-color-hover: var(--btn-alt-background-color);
    --btn-alt-border-hover: var(--btn-alt-border);

    --wrapper-width:1200px;
    --wrapper-width-slim:1024px;
    --wrapper-width-thin:800px;
    --wrapper-width-wide:1400px;
    --wrapper-padding: 2rem;

    --section-padding:8rem;

--item-border-radius: 2rem;

--transition: 0.2s ease all;

/* Fonts */
--primary-font: "DM Sans", serif;
--secondary-font: "Raleway", serif;

--font-body: var(--primary-font);
--font-headings: var(--secondary-font);
}

.content-module {
--link-color: var(--brand-color);
}/* Typography.css | Apr 24, 2026 @2:01:35 PM  */

h1, h2, h3, h4, h5, h6 {
font-family: var(--font-headings);
font-weight: 700;
margin-bottom: 1rem;
letter-spacing: -1px;
}

h2 {
font-size: var(--font-size-2xl);
}

h3 {
font-size: var(--font-size-xl);
}

h4, h5, h6 {
font-size: var(--font-size-lg);
}/* General.css | Apr 24, 2026 @2:01:55 PM  */

/* Fade In All Content */

main .below-viewport:not(.column-widget) {
position: relative;
top: 100px;
opacity: 0;
transition: 0.5s ease all;
}

main .partial-below-viewport:not(.column-widget),
main .in-viewport:not(.column-widget) {
position: relative;
top: 0;
opacity: 1;
transition: 1s ease all;
}

/* General */

body {
font-family: var(--font-body);
}

.wrapper {
margin: auto;
padding: 0 var(--wrapper-padding);
max-width: var(--wrapper-width);
}

img {
max-width: 100%;
height: auto;

.content-module & {
border-radius: 3rem;
}
}

p {
margin-bottom: 1rem;
}

strong {
font-weight: 700;
}

button, .btn {
font-family: var(--font-headings);
font-weight: 600;
font-size: var(--font-size-md);
text-transform: uppercase;
padding: 1.2rem 3rem 1rem;
border-radius: 3rem;
}

/* Header */

header {
position: relative;
font-family: var(--font-headings);

h1 {
margin-bottom: var(--section-padding-top);
text-align: center;

span {
position: absolute;
top: 40%;
left: 53%;
translate: -50%;
width: 60%;
font-family: var(--font-headings);
font-size: var(--font-size-md);
font-weight: 700;
text-transform: uppercase;
text-align: center;
text-shadow: 2px 2px 10px rgba(0,0,0,0.4);
letter-spacing: 1px;
}
}

a.site-logo {
img {
max-height: 450px;

.include-header & {
max-height: 350px;
}
}

}

.slider-widget {
.mSPages, .mSButtons {
display: none;
}
.mSCaption {
width: 100% !important;
padding: 0;
background: none;
text-align: center;

span {
position: absolute;
top: 50%;
left: 53%;
translate: -50%;
width: 60%;
font-family: var(--font-body);
font-size: var(--font-size-md);
font-weight: bold;
text-transform: uppercase;
text-align: center;
text-shadow: 2px 2px 10px rgba(0,0,0,0.4);
letter-spacing: 1px;
line-height: 1.2em;
}
}
.mSFrame {
min-height: 400px;
}
}

.include-header-home & > .wrapper {
position: relative;
margin-top: calc((3rem + 100px) * -1);
margin-bottom: 3rem;
}

.navigation-widget.standard:not(.collapse) {
background-color: #111;
border-radius: 10000px;
height: 100px;
padding: 0 20px;

> div, nav {
height: 100%;
}

ul {
height: 100%;
.l1 {
> a {
margin: 0 5px;
height: 100%;
color: #AAA;
font-size: var(--font-size-lg);
font-weight: 500;
transition: var(--transition);

&::after {
content: "";
display: block;
background-color: transparent;
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 0;
transition: var(--transition);
mix-blend-mode: overlay;
border-bottom-left-radius: 100px;
border-bottom-right-radius: 100px;
}

.submenu-toggle::after {
font-size: var(--font-size-md);
transition: var(--transition);
}
}

&:hover > a {
background-color: transparent;
color: #FFF;

&::after {
height: var(--column-padding);
background-color: rgba(255,255,255,1);
}

.submenu-toggle::after {
transform: rotate(-180deg);
}
}

&.active > a {
background-color: transparent;
color: #FFF;

&::after {
height: var(--column-padding);
background-color: rgba(255,255,255,1);
}
}
}

.submenu {
min-width: 250px;
height: auto;
padding: 0 0 1rem 0;
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
font-family: var(--font-body);

a {
color: #AAA;
padding: 1rem 2rem;

&:hover {
color: #FFF;
}
}
}
}
}
.navigation-widget.standard.collapse {
background-color: #111;
border-radius: 100px;
padding: 0 20px;
text-align: center;
height: 75px;

> div {
height: 100%;
}

> div > .menu-toggle {
height: 100%;
color: #AAA;
font-size: var(--font-size-lg);

label {
display: flex;
align-items: center;
height: 100%;

span {
padding-right: 10px;
}

&::after {
position: relative;
top: -1px;
right: auto;
transform: none;
margin-top: 5px;
font-size: var(--font-size-2xl);
}
}

&:hover {
color: #FFF;
}
}

nav {
width: 100%;
height: 100%;
top: 0;
left: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;

.menu-toggle {
background-color: rgba(0,0,0,0.8);
margin-bottom: 2rem;
padding: 0 3rem;
border-radius: 100px;
gap: 2rem;

label {
display: flex;
align-items: center;
padding: 15px 10px;

span {
padding-right: 10px;
}

&::after {
position: relative;
top: 0;
right: auto;
transform: none;
margin-top: 2px;
font-size: var(--font-size-xl);
}
}

&:hover {
background-color: rgba(0,0,0,0.8);
}
}

ul.menu {
min-width: 90vw;
padding: 2rem 0;
background-color: rgba(0,0,0,0.8);
border-radius: 30px;
overflow: scroll;

a {
padding: 1rem 3rem;
font-size: var(--font-size-2xl);

.l1 > & {
padding: 2rem 3rem;
font-weight: 700; 
}
}

.submenu {
padding: 2rem 3rem !important;
font-family: var(--font-body);

a { 
font-size: var(--font-size-lg);
}
}
}
}

input.menu-toggle-check:checked ~ nav {
background-color: transparent;
backdrop-filter: blur(10px) brightness(0.2);
}
}
}

footer {

h5, p {
white-space: nowrap;
margin: 0;
}

.navigation-widget.standard {
nav {
font-family: var(--font-headings);
}

ul {
.l1 {
> a {
justify-content: center;
color: #AAA;
}

&:hover > a {
color: #FFF;
background-color: transparent;
}
}
}
}
}

#templatefooter {
padding: 20px 0;
}/* Modules & Widgets.css | Apr 24, 2026 @2:17:50 PM  */

/* Column Widget */

.column-widget {
&.slim {
.column-wrapper {
max-width: var(--wrapper-width-slim);
}
}
&.thin {
.column-wrapper {
max-width: var(--wrapper-width-thin);
}
}
}

/* Photo Gallery */

.media-box-container {
border-radius: var(--item-border-radius);
overflow: hidden;
}

.media-box-title {
font-family: var(--font-headings);
font-size: var(--font-size-lg);
font-weight: 700;
letter-spacing: -1px;
}

.media-box-text:empty {
display: none;
}

/* Testimonials */

.testimonial-item-list {
@media only screen and (max-width: 767px) {
flex-direction: column;
}
}

/* Thumbnail Navigation */

.navigation-widget.thumbnail a:hover {
color: var(--link-color-hover);
}