/*
Theme Name: Duce 2026
Template: dv-starter-2026
*/

:root {
  --duce-white: #FFF;
  --duce-litegray: #f1f2f4;
  --duce-medgray: #abb2ba;
  --duce-darkgray: #5c6570;
  --duce-verylitegray: #F5F5F5;
  --duce-black: #1a1a1a;
  --duce-darkred: #780306;
  --duce-red: #ae040a;
  --duce-brightred: #e0060d;
}

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

body {
	font-family: "Roboto", sans-serif;
	background-color: var(--duce-litegray);
}

/* --------- START SCROLLBAR CSS ----------- */

/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: var(--duce-black); 
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  transition: all ease 0.3s;
  border-radius: 4px;
  background-color: var(--duce-darkred);
  transition: background-color ease 0.3s;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background-color: var(--duce-red);
  transition: background-color ease 0.3s;
}

/* ---------- END SCROLLBAR CSS ------------ */

.site-branding img {
    width: 230px;
}

header.site-header {
    background: var(--duce-black);
    padding: 20px 0;
    border-bottom: solid 5px var(--duce-red);
}

.main-navigation a {
    color: var(--duce-white);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1em;
    transition: all ease 0.3s;
    border-bottom: solid 3px transparent;
    padding: 5px 0;
}

.main-navigation a:hover {
    border-bottom: solid 3px var(--duce-red);
}

.main-navigation .sub-menu a {
    color: var(--duce-black);
    transition: all ease 0.3s;
    padding: 8px 20px;
    border-bottom: solid 1px rgba(0,0,0,0.03);
    background-color: var(--duce-verylitegray);
    border-left: solid 3px transparent;
    font-weight: 400;
    font-size: 1.0rem;
    text-transform: unset;
}

.main-navigation .sub-menu a:hover {
    color: var(--duce-red);
    background-color: var(--duce-white);
    border-left: solid 3px var(--duce-red);
}

.main-navigation .menu {
    gap: 40px;
}

.main-navigation .sub-menu {
    padding: 0;
}

.menu-toggle svg {
    width: 34px;
    fill: rgba(255,255,255,0.5);
    transition: all ease 0.3s;
}

.menu-toggle:hover svg {
    fill: rgba(255,255,255,1.0);
}

.duce-footer-wrapper {
	background-color: var(--duce-black);
	border-top: solid 5px var(--duce-darkred);
}

.duce-footer-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-top: 70px;
	padding-bottom: 70px;
}

.duce-footer-logo {
	width: 270px;
}

.duce-footer-address p {
	color: var(--duce-medgray);
	font-size: 1rem;
	line-height: 1.5em;
}

.duce-footer-contact a {
	color: var(--duce-medgray);
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 7px;
	font-size: 1rem;
	line-height: 1.5em;
	text-decoration: none;
	transition: all ease 0.3s;
	padding-bottom: 5px;
}

.duce-footer-contact a svg {
	fill: var(--duce-medgray);
	width: 20px;
	transition: all ease 0.3s;
}

.duce-footer-contact a:hover {
	color: var(--duce-white);
	text-decoration: none;
}

.duce-footer-contact a:hover svg {
	fill: var(--duce-white);
}

.duce-footer-hours p {
	color: var(--duce-medgray);
	font-size: 1rem;
	line-height: 1.5em;
}

.duce-footer-hours ul li {
	color: var(--duce-medgray);
	font-size: 1rem;
	line-height: 1.5em;
	list-style-type: square;
	vertical-align: middle;
}

.duce-footer-hours ul li span {
	position: relative;
	bottom: 2px;
}

.duce-footer-hours ul li::marker {
	color: var(--duce-darkred);
	font-size: 1.5em;
}

.duce-copyright-etc {
	background-color: var(--duce-darkred);
	padding: 16px 0px;
}

.duce-copyright-etc .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
}

.duce-copyright-etc .container .duce-copyright-etc-left,
.duce-copyright-etc .container .duce-copyright-etc-right {
	font-size: 0.82rem;
	line-height: 1em;
	color: rgba(255,255,255,0.5);
}

.duce-copyright-etc .container .duce-copyright-etc-left a,
.duce-copyright-etc .container .duce-copyright-etc-right a {
	color: rgba(255,255,255,0.5);
	transition: all ease 0.3s;
	text-decoration: none;
}

.duce-copyright-etc .container .duce-copyright-etc-left a:hover,
.duce-copyright-etc .container .duce-copyright-etc-right a:hover {
	color: rgba(255,255,255,1.0);
	text-decoration: none;
}

.duce-copyright-etc .container .duce-copyright-etc-left {
	display: flex;
	justify-content: start;
	gap: 20px;
}

.duce-services-list-wrapper {
	width: 100%;
	overflow: hidden;
}

.duce-services-list-container {
	display: flex;
	justify-content: space-between;
	gap: 0px;
}

.duce-services-list-left {
	width: 50%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px;
}

.duce-services-list-left:after {
	display: block;
	content: '';
	position: absolute;
	top: 0px;
	right: 0px;
	width: 100vw;
	height: 100%;
	background-color: var(--duce-black);
}

.duce-services-list-left-content p {
	color: var(--duce-white);
}

.duce-services-list-left-content {
	position: relative;
	z-index: 10;
	max-width: 400px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.duce-services-list-right {
	width: 50%;
}

.duce-services-list-right {
	position: relative;
}

.duce-services-list-right:after {
	display: block;
	content: '';
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100%;
	background-color: var(--duce-darkred);
}

.duce-services-list-list {
	position: relative;
	z-index: 10;
	padding: 0px;
	list-style-type: none;
}

.duce-services-list-list li {
	position: relative;
}

.duce-services-list-list li a {
	position: relative;
	display: block;
	width: 100%;
	padding: 15px 20px;
	position: relative;
	z-index: 10;
	color: var(--duce-white);
	text-decoration: none;
	transition: all ease 0.3s;
	background-image: linear-gradient(to right, var(--duce-darkred) , transparent);
}

.duce-services-list-list li a:hover {
	padding: 15px 20px 15px 30px;
	transition: all ease 0.3s;
	background-image: linear-gradient(to right, var(--duce-red) , transparent);
}

.duce-services-list-list li a:after {
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 0px;
	left: 0px;
	content: '';
	display: block;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.3) , transparent);
}

.duce-featured-services-wrapper {
	background-color: var(--duce-litegray);
	padding: 100px 0;
}

.duce-featured-services-container {
	display: flex;
	flex-direction: column;
	gap: 100px;
}

.duce-featured-service-item {
	display: flex;
	background-color: var(--duce-white);
	box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
}

.duce-featured-service-item .duce-featured-service-item-left {
	width: 500px;
	flex-shrink: 0;
	position: relative;
}

.duce-featured-service-item .duce-featured-service-item-left:after {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	content: '';
	box-shadow: inset 0px 0px 30px rgba(0,0,0,0.5);
	mix-blend-mode: multiply;
	z-index: 10;
}

.duce-featured-service-item .duce-featured-service-item-left .duce-featured-service-item-image {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	object-fit: cover;
}

.duce-featured-service-item .duce-featured-service-item-right {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 50px 50px;
}

.duce-featured-service-item-title {
	color: var(--duce-medgray);
	text-transform: uppercase;
	font-size: 1.0rem;
	line-height: 1em;
	margin-bottom: 15px;
	letter-spacing: 0.5px;
}

.duce-featured-service-item-headline {
	font-size: 2.4rem;
	line-height: 1.2em;
	margin: 0px 0px 15px 0px;
	color: var(--duce-black);
}

.duce-featured-service-item-summary {
	font-size: 1rem;
	line-height: 1.6em;
	color: var(--duce-darkgray);
	margin-bottom: 20px;
}

.duce-featured-service-item .duce-featured-service-item-right .duce-featured-service-item-link {
	display: inline-block;
	margin-right: auto;
	border: solid 2px var(--duce-red);
	color: var(--duce-red);
	padding: 15px 30px;
	text-decoration: none;
	transition: all ease 0.3s;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: 1.05rem;
	line-height: 1em;
}

.duce-featured-service-item .duce-featured-service-item-right .duce-featured-service-item-link:hover {
	border: solid 2px var(--duce-brightred);
	color: var(--duce-brightred);
	text-decoration: none;
}

.duce-gallery-widget-wrapper {
	background-color: var(--duce-darkred);
	box-shadow: inset 0px 0px 50px rgba(0,0,0,0.3);
	padding: 100px 20px;
}

.duce-gallery-widget-container {
	display: flex;
	justify-content: space-between;
	gap: 70px;
	align-items: center;
}

.duce-gallery-widget-left {
	width: 40%;
}

.duce-gallery-widget-left h2 {
	color: var(--duce-white);
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.4em;
	margin-bottom: 20px;
}

.duce-gallery-widget-left p {
	color: var(--duce-white);
	font-weight: 400;
	font-size: 1.1rem;
	line-height: 1.7em;
	margin-bottom: 30px;
}

.duce-gallery-widget-left .duce-gallery-widget-link {
	background-color: var(--duce-white);
	color: var(--duce-darkgray);
	padding: 17px 32px;
	font-size: 1.1rem;
	line-height: 1em;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	font-weight: 500;
	box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
	transition: all ease 0.3s;
	display: inline-block;
}

.duce-gallery-widget-left .duce-gallery-widget-link:hover {
	color: var(--duce-red);
}

.duce-gallery-widget-right {
	width: 60%;
	position: relative;
}

.duce-gallery-widget-image {
	border: solid 2px var(--duce-white);
	box-shadow: 1px 1px 7px rgba(0,0,0,0.4);
	transform: rotateZ(-5deg);
	width: calc(100% - 140px);
	margin: 0 auto;
}

.duce-gallery-widget-image-left-shadow {
	width: 30%;
	height: 70%;
	position: absolute;
	top: 15%;
	left: 0;
	display: block;
	background-color: rgba(0,0,0,0.2);
	transform: rotateZ(-15deg);
}

.duce-gallery-widget-image-right-shadow {
	width: 30%;
	height: 70%;
	position: absolute;
	top: 8%;
	right: 10px;
	display: block;
	background-color: rgba(0,0,0,0.2);
	transform: rotateZ(10deg);
}

.duce-cta-widget-wrapper {
	background-color: var(--duce-darkgray);
	padding: 100px 20px;
}

.duce-cta-widget-container {
	background-color: var(--duce-white);
	box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
	display: block;
	padding: 0px;
	position: relative;
	background-image: linear-gradient(to right, var(--duce-white), var(--duce-white), var(--duce-medgray));
}

.duce-cta-widget-text {
	padding: 70px 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: calc(100% - 500px);
}

.duce-cta-widget-text h2 {
	color: var(--duce-darkred);
	font-size: 2.15rem;
	line-height: 1em;
	margin-bottom: 20px;
}

.duce-cta-widget-text p {
	color: var(--duce-darkgray);
	font-size: 1.05rem;
	line-height: 1.6em;
	margin-bottom: 30px;
}

.duce-cta-image-holder {
	width: 500px;
	height: 350px;
	overflow: hidden;
	display: block;
	position: absolute;
	bottom: 0px;
	right: 0px;
}

.duce-cta-widget-right-image {
	width: calc(100% + 50px);
	height: 100%;
	max-width: unset;
	object-fit: cover;
	object-position: top left;
}

.duce-cta-widget-links {
	display: flex;
	justify-content: start;
	gap: 50px;
}

.duce-cta-widget-links a {
	font-size: 1.5rem;
	line-height: 1em;
	text-decoration: none;
	color: var(--duce-darkgray);
	font-weight: 500;
	display: inline-flex;
	gap: 10px;
}

.duce-cta-widget-links a svg {
	height: 18px;
	fill: var(--duce-darkred);
	position: relative;
	top: 2px;
}

.duce-home-wrapper {
	background-image: linear-gradient(to right, var(--duce-medgray), var(--duce-white), var(--duce-white));
}

.duce-home-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 100px;
	padding: 0 40px;
}

.duce-home-left {
	width: 600px;
	flex-shrink: 0;
	flex-grow: 0;
}

.duce-home-image-holder {
	border-radius: 50%;
	height: 50%;
	aspect-ratio: 1 / 1;
	border: solid 3px var(--duce-white);
	overflow: hidden;
	box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
	scale: 1.08;
	z-index: 10;
	position: relative;
}

.duce-home-image-holder img.duce-home-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.duce-home-text-eyebrow {
	font-size: 1rem;
	line-height: 1em;
	color: var(--duce-medgray);
	text-transform: uppercase;
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 30px;
	font-weight: 500;
	margin-bottom: 30px;
}

.duce-home-text-eyebrow span:last-child {
	color: var(--duce-darkred);
}

.duce-home-text-headline {
	font-size: 2.5rem;
	line-height: 1.5em;
	color: var(--duce-black);
	font-weight: 600;
	margin-bottom: 30px;
}

.duce-home-text-headline span {
	display: inline-block;
}

.duce-home-text-paragraph {
	font-size: 1.1rem;
	line-height: 1.7em;
	color: var(--duce-darkgray);
	margin-bottom: 30px;
}

.duce-home-cta .duce-home-cta-eyebrow {
	display: block;
	font-size: 1.0rem;
	line-height: 1em;
	color: var(--duce-darkgray);
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 15px;
	letter-spacing: 0.5px;
}

.duce-home-cta a.duce-home-cta-link {
	display: inline-block;
	font-size: 1.8rem;
	line-height: 1em;
	color: var(--duce-darkred);
	font-weight: 600;
	transition: all ease 0.3s;
	text-decoration: none;
}

.duce-home-cta a.duce-home-cta-link:hover {
	color: var(--duce-red);
	text-decoration: none;
}

.duce-page-header {
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	width: 100%;
}

.duce-page-header-image-holder {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.duce-page-header-image-holder {
    width: 100%;
    height: 320px;
    overflow: hidden;
    position: relative;
}

.duce-page-header-image {
	width: 100%;
	height: 100%;
	position: absolute;
	object-fit: cover;
}

.duce-page-header .container {
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 0;
	position: relative;
	height: 100px;
}

.duce-page-header .container .page-title {
	display: flex;
	justify-content: end;
	align-items: center;
	height: 100%;
	position: relative;
	padding-right: 50px;
	font-size: 1.4rem;
	line-height: 1em;
	color: var(--duce-white);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	min-width: 350px;
}

.duce-page-header .container .page-title:after {
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
	width: 100vw;
	height: 100%;
	background-color: var(--duce-darkred);
	z-index: -10;
}

.duce-page-header .container .page-headline {
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
	padding-left: 50px;
	font-size: 2.2rem;
	line-height: 1em;
	color: var(--duce-black);
	font-weight: 600;
	letter-spacing: 0.5px;
}

.duce-page-header .container .page-headline:after {
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100%;
	background-color: var(--duce-white);
	z-index: -10;
}

.entry-content h2 {
	color: var(--duce-darkred);
	font-size: 1.6rem;
	line-height: 1.4em;
	margin-top: 30px;
	margin-bottom: 10px;
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child {
	margin-top: 0px;
}

.entry-content p {
	color: var(--duce-darkgray);
	font-size: 1.0rem;
	line-height: 1.6em;
	margin-top: 10px;
	margin-bottom: 15px;
}

.entry-content ul li::marker {
	color: var(--duce-darkred);
}

.entry-content ul li {
	color: var(--duce-darkgray);
}

.entry-content hr {
	margin: 50px 0;
	opacity: 0.3;
}

.duce-page-cta-links {
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 40px;
}

.entry-content h3 {
	color: var(--duce-darkgray);
	font-size: 1.4rem;
	line-height: 1.4em;
	margin-top: 30px;
	margin-bottom: 10px;
}

a.duce-page-cta-link-item {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	text-decoration: none;
	font-weight: 500;
	font-size: 1.3rem;
	color: var(--duce-darkgray);
}

a.duce-page-cta-link-item svg {
	width: 20px;
	fill: var(--duce-darkred);
	transition: all ease 0.3s;
}

a.duce-page-cta-link-item:hover svg {
	fill: var(--duce-red);
}

.site-main {
    padding: 70px 0;
}

.page-template-default .entry-content,
.page-template-default .entry-header {
	max-width: 800px;
	margin: 0 auto;
}

.page-template-default.wide-content .entry-content,
.page-template-default.wide-content .entry-header {
	max-width: unset;
}

.page .entry-header h1 {
	margin: 0px 0px 30px 0px;
	padding: 0px 0px 30px 0px;
	font-size: 1.0rem;
	line-height: 1.2em;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-align: center;
	text-transform: uppercase;
	color: var(--duce-medgray);
}

.entry-content .envira-gallery-white-bkgnd {
	background-color: var(--duce-white);
	box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
	padding: 10px;
	border-radius: 3px;
	margin: 0px;
}

.entry-content .envira-gallery-white-bkgnd .envira-gallery-public {
	margin: 0px;
}

.duce-contact-form {
    margin-top: 50px;
}

.duce-contact-form .ff-el-form-control {
    border-radius: 3px;
}

.duce-contact-form .ff-el-form-control:focus {
    border-color: var(--duce-red);
    border-radius: 3px;
}

.duce-contact-form .ff-el-input--label label {
    font-size: 0.95rem;
    font-weight: 400;
}

.duce-btn-red {
	color: var(--duce-white);
	background-color: var(--duce-darkred);
	padding: 15px 30px;
	font-size: 1.0rem;
	line-height: 1em;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-weight: 500;
	transition: all ease 0.3s;
	cursor: pointer;
	border-radius: 3px;
}

.duce-btn-red:hover {
	color: var(--duce-white);
	background-color: var(--duce-red);
}

.entry-content p a {
	color: var(--duce-darkred);
	font-weight: 500;
	transition: all ease 0.3s;
	text-decoration: none;
}

.entry-content p a:hover {
	color: var(--duce-brightred);
}

/* ----------------------------------------
   Responsive 1200px
---------------------------------------- */

@media (max-width: 1200px) { 

	.duce-featured-services-wrapper {
	padding: 50px 0;
	}

	.duce-featured-services-container {
	gap: 50px;
	}

	.duce-featured-service-item .duce-featured-service-item-left {
    width: 400px;
	}

	.duce-featured-service-item-title {
	font-size: 0.9rem;
    margin-bottom: 10px;
	}

	.duce-featured-service-item-headline {
    font-size: 2.0rem;
    margin: 0px 0px 10px 0px;
	}

	.duce-gallery-widget-left h2 {
    font-size: 2.0rem;
	}

	.duce-gallery-widget-left p {
    font-size: 1.0rem;
	}

	.duce-cta-widget-wrapper {
    padding: 70px 20px;
	}

	.duce-cta-image-holder {
    width: 400px;
    height: calc(100% + 50px);
	}

	.duce-cta-widget-text {
    width: calc(100% - 400px);
    padding: 50px 50px;
	}

	.duce-cta-widget-text h2 {
    font-size: 1.8rem;
	}

	.duce-cta-widget-links a {
    font-size: 1.3rem;
	}

	.duce-cta-widget-links a svg {
    height: 15px;
    top: 3px;
	}

	.duce-home-container {
	gap: 70px;
	}

	.duce-home-left {
    width: 500px;
	}

	.duce-home-text-eyebrow {
    margin-bottom: 20px;
    font-size: 0.93rem;
    gap: 15px;
	}

	.duce-home-text-headline {
    font-size: 2.0rem;
    margin-bottom: 20px;
	}

	.duce-home-text-paragraph {
    font-size: 1.0rem;
    margin-bottom: 25px;
	}

	.duce-home-cta .duce-home-cta-eyebrow {
    font-size: 0.93rem;
    margin-bottom: 10px;
	}

	.duce-home-cta a.duce-home-cta-link {
    font-size: 1.5rem;
	}

	.duce-page-header-image-holder {
    height: 200px;
	}

	.duce-page-header .container .page-title {
    padding-right: 40px;
    padding-left: 20px;
    font-size: 1.1rem;
    min-width: unset;
	}

	.duce-page-header .container .page-headline {
    padding-left: 40px;
    font-size: 1.5rem;
	}

	.duce-page-header .container {
	height: 80px;
	}

}

/* ----------------------------------------
   Responsive 1000px
---------------------------------------- */

@media (max-width: 1000px) { 

    .site-brand-plus-menu-toggle {
    padding: 15px 20px;
    gap: 30px;
	}

	header.site-header {
    padding: 0;
	}

	.main-navigation .menu {
    gap: 0px;
	}

	.main-navigation a {
    border-left: solid 3px transparent;
    border-bottom: unset;
	}

	.main-navigation a:hover {
    border-left: solid 3px var(--duce-red);
    border-bottom: unset;
	}

	.main-navigation .sub-menu a {
    border-bottom: solid 1px rgba(0,0,0,0.03);
	}

	.main-navigation .sub-menu a:hover {
    border-bottom: solid 1px rgba(0,0,0,0.03);
	}

	.duce-footer-container {
	width: fit-content;
	max-width: 100%;
	flex-direction: column;
    align-items: start;
	}

	.duce-copyright-etc .container {
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	}

	.duce-featured-service-item .duce-featured-service-item-left {
    width: 330px;
    }

    .duce-featured-service-item .duce-featured-service-item-right {
    padding: 30px;
	}

	.duce-featured-service-item-headline {
     font-size: 1.7rem;
    }

    .duce-featured-service-item-summary {
    font-size: 0.95rem;
    line-height: 1.4em;
    margin-bottom: 15px;
	}

	.duce-featured-service-item .duce-featured-service-item-right .duce-featured-service-item-link {
    padding: 12px 20px 10px 20px;
    font-size: 0.97rem;
	}

	.duce-gallery-widget-container {
    flex-direction: column;
    gap: 50px;
	}

	.duce-gallery-widget-left {
    width: 100%;
    max-width: 400px;
    order: 2;
    text-align: center;
	}

	.duce-gallery-widget-right {
    width: 100%;
    max-width: 600px;
    order: 1;
	}

	.duce-cta-widget-container {
	display: flex;
	flex-direction: column;
	gap: 50px;
	padding: 50px;
	align-items: center;
	max-width: 600px;
	background-image: linear-gradient(to top, var(--duce-white), var(--duce-white), var(--duce-litegray));
	}

    .duce-cta-widget-text {
    width: 100%;
    padding: 0;
    order: 2;
    text-align: center;
	}

	.duce-cta-image-holder {
    width: 100%;
    max-width: 400px;
    padding: 0px;
    order: 1;
    position: relative;
    aspect-ratio: 1 / 1;
    background-color: var(--duce-litegray);
    border-radius: 50%;
    border: solid 3px var(--duce-darkred);
    display: none;
	}

	.duce-cta-widget-right-image {
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    object-fit: cover;
    object-position: unset;
	}

	.duce-cta-widget-links {
    width: fit-content;
    margin: 0 auto;
    }

    .duce-gallery-widget-image-left-shadow {
    left: 15px;
	}

	.duce-home-left {
    width: 300px;
    }

    .duce-home-container {
    gap: 40px;
    }

    .duce-home-text-eyebrow {
    margin-bottom: 10px;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    }

    .duce-home-text-headline {
   	font-size: 1.7rem;
    margin-bottom: 10px;
    }

    .duce-home-text-paragraph {
    font-size: 0.9rem;
    margin-bottom: 15px;
    line-height: 1.4em;
    }

    .duce-home-cta .duce-home-cta-eyebrow {
    font-size: 0.9rem;
    margin-bottom: 5px;
    }

    .duce-home-cta a.duce-home-cta-link {
    font-size: 1.3rem;
    }

    .duce-page-header-image-holder {
    height: 200px;
	}

	.duce-page-header .container .page-title {
    padding-right: 20px;
    padding-left: 10px;
    font-size: 1.0rem;
	}

	.duce-page-header .container .page-headline {
    padding-left: 20px;
    font-size: 1.3rem;
	}

	.duce-page-header .container {
	height: 60px;
	}

	.site-branding img {
    width: 150px;
	}

	.menu-toggle svg {
    width: 25px;
	}

}

/* ----------------------------------------
   Responsive 782px
---------------------------------------- */

@media (max-width: 782px) { 

	.duce-services-list-container {
	flex-direction: column;
	padding: 0px;
	}

	.duce-services-list-left,
	.duce-services-list-right {
	width: 100%;
	}

	.duce-services-list-list li a {
    /*border: dotted 1px #FFF;*/
    text-align: center;
	}

	.duce-services-list-list li a:hover {
    padding: 15px 20px;
    background-image: linear-gradient(to right, transparent, var(--duce-red), transparent);
	}

	.duce-services-list-left {
    padding: 40px 20px;
    background-color: var(--duce-black);
	}

	.duce-services-list-right {
    background-color: var(--duce-darkred);
	}

	.duce-services-list-left-content {
	text-align: center;
	}

	.duce-services-list-left-content img {
	max-width: 300px;
	margin: auto;
	}

	.duce-services-list-list li a:after {
    background-image: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.3), transparent);
	}

	.duce-featured-service-item {
	flex-direction: column;
	max-width: 400px;
	margin: 0 auto;
	}

	.duce-featured-service-item .duce-featured-service-item-left {
	display: block;
    width: 100%;
    height: 200px;
    }

    .duce-featured-service-item .duce-featured-service-item-right .duce-featured-service-item-link {
    margin-right: unset;
    text-align: center;
	}

	.duce-gallery-widget-image {
    width: calc(100% - 60px);
	}

	.duce-gallery-widget-left h2 {
    font-size: 1.7rem;
    }

    .duce-gallery-widget-left .duce-gallery-widget-link {
    padding: 13px 19px;
    font-size: 1.05rem;
	}

	.duce-gallery-widget-wrapper {
    box-shadow: inset 0px 0px 30px rgba(0, 0, 0, 0.3);
    padding: 70px 10px;
	}

	.duce-cta-widget-text h2 {
    font-size: 1.6rem;
    }

    .duce-home-wrapper {
    background-image: linear-gradient(to bottom, var(--duce-litegray), var(--duce-white), var(--duce-white));
    padding-bottom: 40px;
	}

    .duce-home-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
	}

	.duce-home-left {
	width: 275px;
    }

	.duce-home-text {
	text-align: center;
	max-width: 400px;
	margin: 0 auto;
	}

	.duce-home-text-eyebrow {
    display: inline-flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 12px;
    }

    .duce-home-image-holder {
    scale: 1.0;
    bottom: 10px;
	}

	.duce-page-header-image-holder {
    height: 150px;
	}

	.duce-page-header .container {
    flex-direction: column;
    height: auto;
    background-color: var(--duce-white);
    padding: 15px 20px;
	}

	.duce-page-header .container .page-title {
    padding-right: unset;
    padding-left: unset;
    font-size: 0.9rem;
    display: block;
    color: var(--duce-darkred);
    margin-bottom: 7px;
    font-weight: 500;
	}

	.duce-page-header .container .page-headline {
    padding-left: unset;
    font-size: 1.2rem;
    display: block;
	}

	.site-brand-plus-menu-toggle {
    padding: 10px 20px;
    gap: 30px;
    }

	.site-branding img {
    width: 130px;
	}

	.site-main {
    padding: 30px 0;
	}

	.entry-content h2 {
    font-size: 1.4rem;
	}

	.entry-content h3 {
    font-size: 1.25rem;
	}

	.entry-content p {
    font-size: 0.9rem;
	}

	.entry-content ul li {
    font-size: 0.9rem;
	}

}

/* ----------------------------------------
   Responsive 550px
---------------------------------------- */

@media (max-width: 550px) { 

	.duce-copyright-etc .container .duce-copyright-etc-left {
    flex-direction: column;
    gap: 5px;
    text-align: center;
	}

	.duce-cta-widget-wrapper {
   	padding: 40px 20px;
    }

	.duce-cta-widget-links {
	flex-direction: column;
	gap: 20px;
    }

    .duce-page-cta-links {
    flex-direction: column;
    gap: 5px;
    width: fit-content;
    align-items: start;
	}

}