/* #region -------------------------- ROOT */

@media only screen and (max-width: 1024px) {
  :root {
    --font-size-13: 13px;
    --font-size-15: 15px;
    --font-size-16: 16px;
    --font-size: 17px;
    --font-size-25: 20px;
    --font-size-20: 20px;
    --font-1: "DM Serif Display";
    --font-2: "Roboto";

    /*--h1: clamp(2.75rem, 2.0384rem + 3.1627vw, 4.0625rem);*/
	--h1: clamp(40px, 29.1566px + 3.012vw, 60px); 
    --h2: clamp(2rem, 1.5595rem + 1.9578vw, 2.8125rem);
    --h3: 29px;
    --h4: 24px;
    --h5: 16px;
    --h6: 18px;
  }
}

@media only screen and (max-width: 600px) {
  :root {
	--h3: 28px;
    --h4: 23px;
    --h5: 15px;
    --font-size: 16px;
  }
}

/* #endregion */

/* #region - -------------------------- MARK: GENERAL */

@media only screen and (max-width: 1024px) {
  section.element .wrap {
    padding: 30px 0;
  }
  section.element .nwrap {
    padding: 0;
  }

  .element.no-br br {
    display: none;
  }

  header .menu_wrap {
  }
  header .menu-oc-right.opener {
  }
  header .navbar-brand {
  }

  header.menu-overlay {
    position: fixed;
  }
  .element .dtext p,
  .element .ptext {
    margin-top: 30px;
  }

  .header.sticky-head .sticky-logo {
    display: block !important;
  }

  .header.sticky-head .navbar-brand.mobile-logo {
    display: none;
  }
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  [data-colwidth="9"] .col-info {
	flex: 0 0 100%;
  	max-width: 100%;
  }
  .element .dtext p,
  .element .ptext {
    margin-top: 25px;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
  header .navbar-brand {
    max-width: 150px;
  }

  header .menu_wrap {
    padding: 10px 0;
  }
	
  section.element .wrap {
    padding: 25px 0;
  }
  section.element .nwrap {
    padding: 0;
  }

  .element[data-theme="dark"] .dtext p,
  .element[data-theme="dark"] .ptext {
    opacity: 0.99;
  }

  .element[data-theme="dark"] .ititle,
  .element[data-theme="dark"] .mtitle {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
  }

  section.element.wrap-pb-sm-0 .wrap {
    padding-bottom: 0;
  }
}

/* #endregion */

/* #region - -------------------------- MARK: FOOTER */

@media only screen and (max-width: 1024px) {
  .footer-cta .wrap {
    min-height: 400px;
  }
  .footer-cta .dinfo {
    max-width: 400px;
  }
  .footer-cta.element .overlay {
    background-position: 65% top;
  }
  .footer-0 .main-menu .navbar-nav {
    gap: 80px;
    justify-content: center;
    flex-wrap: wrap;
  }
  .footer-0 .wrap {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .footer-0 .line-top {
    margin-bottom: 50px;
  }
  .footer-0 .dmid .flexic {
    justify-content: center;
  }
  .footer-0 .dmid .flexic .flex-contact {
	padding-top: 0; 
  }
  .footer-0 .line-bottom {
    margin-top: 30px;
  }

  .footer-0 .menu-links.dv {
    display: none;
  }
}

@media only screen and (max-width: 800px) {
  .home .footer-cta .wrap {
	min-height: 400px;	
  }
}

@media only screen and (max-width: 767px) {
  .footer-0 .main-menu .navbar-nav {
    gap: 30px;
    row-gap: 0;
  }
  .footer-0 .dmid .flexic .flex-contact .d-contact {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media only screen and (max-width: 600px) {
  .footer-cta .wrap,
  .home .footer-cta .wrap {
	min-height: 0;	
  }
  .footer-cta .btn-loop {
	margin-top: 30px;
  }
}

@media only screen and (max-width: 480px) {
}

/* #endregion */

/* #region - -------------------------- MARK: .HERO OPT */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
  .heroopt-01 .wrap {
    min-height: 500px;
    align-items: flex-end;
  }
  body:not(.home) .heroopt-01 .wrap {
    min-height: 350px;
    align-items: flex-end;
  }
  .heroopt-01 .dtext p {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
}

@media only screen and (max-width: 600px) {
	.home .heroopt-01 .wrap { 
		min-height: 550px;
	}
	.home .heroopt-01 .overlay-bg {
		max-width: 100%;
	}
	.home .heroopt-01 .mask-bg,
	.home .heroopt-01 .mask-shape {
		max-width: calc(100% - 20px);
		height: 50%;
		top: auto;
		bottom: 0;
	}
	.heroopt-01 .dtext p {
		font-size: 18px;
		margin-top: 25px;
	}
}

@media only screen and (max-width: 500px) {
	.heroopt-01 .dinfo {
		max-width: 370px;
	}	
}

@media only screen and (max-width: 480px) {
  .heroopt-01 .dtext p {
	font-size: 17px;
    color: hsla(221, 70%, 78%, 1);
  }

  .heroopt-01 .mtitle {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
  }
}

@media only screen and (max-width: 420px) {
	.home .heroopt-01 .mask-bg,
	.home .heroopt-01 .mask-shape {
		max-width: 100%;
		height: 60%;
	}
	.heroopt-01 .dinfo {
		max-width: 300px;
	}	
}

/* #endregion */

/* #region - -------------------------- MARK: .SEP 01 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
  body:not(.home) .element.sep-01.separator {
    display: none;
  }
  .home .element.sep-01.separator .wrap {
    min-height: 220px;
  }
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
}

/* #endregion */

/* #region - -------------------------- MARK: .CARDS 01 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
  .cards-01 .pad {
    max-width: 260px;
  }
  .cards-01.plaintiff .container-xl {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .cards-01 .div-link {
    padding: 30px;
  }
}

@media only screen and (max-width: 600px) {
	.cards-01 .div-link {
		padding: 25px;
		justify-content: flex-end;
	}
	.cards-01.home-cards-01 .ititle {
		font-size: 37px;
	}
	.cards-01 .pad .ptext {
		margin-top: 25px;
	}
	.cards-01.home-cards-01 .pad .ptext {
		font-size: 18px;
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 480px) {
  .cards-01 .ptext,
  .cards-01 .dtext,
  .cards-01 .ititle {
    max-width: 100% !important;
  }
  .cards-01 .ititle {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
  }
	.cards-01.home-cards-01 .ititle {
		font-size: 34px;
	}
	.cards-01 .pad {
		max-width: 300px;
	}
	.cards-01.home-cards-01 .pad .ptext {
		font-size: 17px;
	}
}

/* #endregion */

/* #region - -------------------------- MARK: .CTA 02 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .cta-02.cta-home .iwrap {
    padding: 30px;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
}

/* #endregion */

/* #region - -------------------------- MARK: .ICONS 01 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
  .icon-01.custom-text .row {
    row-gap: 30px;
  }
  .icon-01 .row {
    row-gap: 30px;
    justify-content: center;
  }
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .icon-01 .diconn img {
    width: 100%;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
  .icon-01 .dinfo {
    display: flex;
    gap: 20px;
  }

  .icon-01 .diconn {
	max-width: 52px;
    margin-bottom: 0;
    margin-inline: 0;
  }

  .icon-01 .ptext,
  .icon-01 .mtitle {
    text-align: start;
  }

  .icon-01 .ptext {
    margin-top: 10px;
  }
}

/* #endregion */

/* #region - -------------------------- MARK: .TITLER 02 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .element.titler-02 .dtext p {
    margin-top: 0;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
}

/* #endregion */

/* #region - -------------------------- MARK: .TITLE OPT 01 */

@media only screen and (max-width: 480px) {
  .titleopt-01 .col-info {
    text-align: start;
  }
}

/* #endregion */

/* #region - -------------------------- MARK: .ROW MEDIA 01 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .rowmedia-01 .mtitle {
	margin-bottom: 20px;
  }
  .rowmedia-01 .d-popmedia,
  .rowmedia-01 .dinfo {
    max-width: 100% !important;
  }
  .rowmedia-01 ul {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
  .rowmedia-01 .mtitle {
    margin-bottom: 0;
  }
}

/* #endregion */

/* #region - -------------------------- MARK: .ROW POSTER */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .rowposter-01 .col-media {
    min-height: 200px;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
}

/* #endregion */

/* #region - -------------------------- MARK: CARD 02 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
  .cards-02 .dimage {
    margin-bottom: 20px;
  }
  .cards-02 .ptext {
    margin-top: 20px;
  }
  .cards-02 .row {
    row-gap: 30px;
  }
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .cards-02 .ptext {
    margin-top: 10px;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
  .cards-02 .row {
    row-gap: 50px;
  }
}

/* #endregion */

/* #region - -------------------------- MARK: .CONTACT 01 */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
  section.frcontact-01.element .wrap {
    padding-top: 150px;
  }
  .frcontact-01 .dinfo,
  .frcontact-01 .company-contact .contact-item {
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
  .frcontact-01 [data-rtl="1"] .row {
    flex-direction: column-reverse;
  }
  .frcontact-01.element .wrap {
    height: 100%;
  }
  .frcontact-01 .company-contact {
    display: flex;
    gap: 30px;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 0;
  }
  .frcontact-01 .gform {
    max-width: 100%;
  }
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
}

/* #endregion */

/* #region - -------------------------- MARK: FORM CONTACT */

@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1024px) {
}

@media only screen and (max-width: 800px) {
}

@media only screen and (max-width: 767px) {
}

@media only screen and (max-width: 600px) {
}

@media only screen and (max-width: 480px) {
  .gfopt-01 .gform .gform-theme--foundation form .gform-footer {
    margin-top: 20px;
  }

  .gfopt-01 .gform .upload-btn {
    margin-bottom: 10px;
  }
}

/* #endregion */

/* #region - -------------------------- MARK: SECTION BG 01 */

@media only screen and (max-width: 480px) {
  .fire-element.watermark-bg-2 > .overlay-bg {
    left: 0;
  }
}

/* #endregion */
