/* Mobile readability and spacing improvements for the didiritto child theme. */
.didiritto-mobile-cta {
	display: none;
}

@media only screen and (max-width: 959px) {
	html,
	body {
		min-width: 0 !important;
		width: 100%;
		overflow-x: hidden;
	}

	body {
		background-color: #ffffff !important;
	}

	.body-wrapper.gdlr-boxed-style,
	.body-wrapper.gdlr-boxed-style .gdlr-header-wrapper {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
	}

	.body-wrapper.gdlr-boxed-style {
		box-shadow: none;
	}

	body .container,
	body .half-container,
	body .gdlr-caption-wrapper .gdlr-caption-inner {
		max-width: 100% !important;
		width: 100% !important;
	}
}

@media only screen and (max-width: 767px) {
	html {
		font-size: 16px;
	}

	body {
		font-size: clamp(15px, 3.8vw, 17px);
		line-height: 1.65;
	}

	.top-navigation-wrapper {
		display: none;
	}

	.gdlr-header-inner .gdlr-header-container {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	body .gdlr-logo {
		padding: 14px 58px 12px 0;
		margin: 0;
		position: relative;
	}

	body .gdlr-logo > a img {
		max-width: min(62vw, 220px);
		height: auto;
	}

	.didiritto-mobile-cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-top: 10px;
		padding: 10px 14px;
		font-size: 0.85rem;
		line-height: 1;
		font-weight: 700;
		background: #dea90f;
		color: #ffffff !important;
		border-radius: 4px;
		letter-spacing: 0.01em;
	}

	.didiritto-mobile-cta:hover,
	.didiritto-mobile-cta:focus {
		background: #c89400;
		color: #ffffff !important;
	}

	#gdlr-responsive-navigation .dl-trigger {
		right: 0;
		width: 44px;
		height: 44px;
		margin-top: -22px;
		padding: 0;
		font-size: 0;
	}

	#gdlr-responsive-navigation .dl-trigger:before {
		content: "\f0c9";
		font-family: FontAwesome;
		font-size: 24px;
		line-height: 44px;
		display: block;
		text-align: center;
	}

	.dl-menuwrapper > .dl-menu,
	.dl-menuwrapper > .dl-submenu {
		left: 12px;
		width: calc(100vw - 24px);
	}

	.dl-menuwrapper li > a,
	.dl-menuwrapper li.dl-back > a {
		font-size: 1rem;
		padding: 14px 16px;
	}

	p,
	li,
	td,
	th,
	label,
	input,
	textarea,
	select,
	button {
		font-size: clamp(0.95rem, 3.6vw, 1.05rem);
		line-height: 1.6;
	}

	h1 {
		font-size: clamp(1.75rem, 8.2vw, 2.25rem);
		line-height: 1.2;
	}

	h2 {
		font-size: clamp(1.45rem, 6.6vw, 1.85rem);
		line-height: 1.25;
	}

	h3 {
		font-size: clamp(1.2rem, 5.5vw, 1.45rem);
		line-height: 1.3;
	}

	body .container,
	body .half-container {
		max-width: 100%;
		width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	.gdlr-item {
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 14px;
	}

	.gdlr-item-no-space {
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 18px;
	}

	.gdlr-item.gdlr-main-content {
		margin-bottom: 24px;
	}

	.section-container,
	.gdlr-item-start-content,
	.gdlr-parallax-wrapper,
	.gdlr-color-wrapper {
		padding-top: 22px !important;
	}

	.gdlr-color-wrapper,
	.gdlr-parallax-wrapper,
	.gdlr-full-size-wrapper {
		padding-bottom: 18px !important;
	}

	.footer-container {
		padding-top: 30px;
	}

	.footer-wrapper .widget.gdlr-widget {
		margin-bottom: 28px;
	}

	.copyright-container {
		padding: 10px 0;
	}

	.gdlr-page-title-wrapper {
		padding: 28px 0;
	}

	.gdlr-page-title-wrapper .gdlr-page-title {
		font-size: clamp(1.45rem, 7.2vw, 1.85rem);
	}

	.gdlr-styled-box-body {
		padding-left: 16px;
		padding-right: 16px;
	}

	.home .gdlr-master-slider-item {
		margin: 0 !important;
	}

	.home .gdlr-master-slider-item .master-slider-parent {
		display: none !important;
	}

	.home .gdlr-master-slider-item::before {
		content: "";
		display: block;
		width: 100%;
		height: clamp(190px, 52vw, 280px);
		background: url("/wp-content/uploads/2017/03/08.jpg") center center / cover no-repeat;
	}

	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	textarea,
	select {
		font-size: 1rem;
		padding: 12px 14px;
	}

	.gdlr-button,
	input[type="submit"],
	input[type="button"],
	button {
		font-size: 0.95rem;
		padding: 12px 16px;
		min-height: 44px;
	}

	#didiritto.gdlr-item.gdlr-content-item p {
		font-size: 1rem !important;
	}
}

@media only screen and (max-width: 419px) {
	body .container,
	body .half-container {
		padding-left: 10px;
		padding-right: 10px;
	}

	body .gdlr-logo > a img {
		max-width: min(63vw, 200px);
	}

	.didiritto-mobile-cta {
		padding: 9px 12px;
		font-size: 0.8rem;
	}

	.gdlr-page-title-wrapper {
		padding: 24px 0;
	}

	.gdlr-page-title-wrapper .gdlr-page-title {
		font-size: 1.45rem;
	}

	.gdlr-styled-box-body {
		padding-left: 10px;
		padding-right: 10px;
	}
}
