



	/* BUTTONS */
  
	button, .btn, .lnk, input[type="search"] {
		margin: 0;
		border: 0;
		padding: 0;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
		display: inline-block;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		cursor: pointer;
	}

	.btn, .lnk, input[type="search"] {
    
  	font-family: var(--base-font-2-black);

    --rise: calc(var(--max-font-size, 16) - var(--min-font-size, 16));
    --run: calc(var(--max-vw) - var(--min-vw));
    --slope: calc(var(--rise) / var(--run));

    --min-vw-px: calc(var(--min-vw) * 1px);
    --min-font-size-px: calc(var(--min-font-size) * 1px);

    --fluid-font-size-px:
      calc(
        var(--slope) * (100vw - var(--min-vw-px)) + var(--min-font-size-px)
      );

    --max-font-size-px: calc(var(--max-font-size) * 1px);

    font-size:
      clamp(
        var(--min-font-size-px),
        var(--fluid-font-size-px),
        var(--max-font-size-px)
      );

	}
  
  
  
  
  
  .btn-set {
    margin-top: var(--margin-top, max(25px, calc(45 * var(--px))));
  }
	
  .btn-set.multiple {
    display: flex;
    flex-flow: row wrap;
    gap: max(20px, calc(30 * var(--px)));
  }
  
  @media (max-width: 500px) {
    
    .btn-set.multiple {
      flex-flow: column nowrap;
    }
    
  }
  
  
  
  
  
	.btn-a,
  input[type="search"] {
    
    --min-font-size: 13;
    --max-font-size: 15;
    line-height: 1;
    
		text-transform: uppercase;
    color: var(--base-color-white);
    background: var(--base-color-dark-blue);
    padding: 1.2em 1.73333333333333333333em;
    padding-right: 1.4em;
    border-radius: var(--radius-pill);
    
    min-width: 15.2em;
    box-sizing: border-box;
    
    transition: 350ms var(--ttf-2);
    transition-property: color, background;
    
	}

  .btn-a:not(.ghost) *,
  input[type="search"] * {
    line-height: 1 !important;
    display: block;
  }

  .btn-a span.wrap {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 0px 1em;
  }
  
  .btn-a span.icon {
    margin-left: auto;
    margin-block: -1em;
  }

  .btn-a span.icon * {
    display: block;
  }
  
  .btn-a span.icon svg {
    display: block;
    height: auto;
  }
  
  .btn-a span.icon svg path {
    fill: currentColor;
    transition: fill 350ms var(--ttf-2);
  }
  
  .btn-a[data-icon="download"] svg {
    width: max(15px, calc(var(--icon-width) * var(--px)));
  }

  .btn-a.ghost {
    background: transparent;
    color: var(--base-color-dark-blue);
    border: 2px solid var(--base-color-dark-blue);
    text-align: center;
    padding-inline: 1.4em;
    width: 100%;
    box-sizing: border-box;
    max-width: 24em;
    min-width: 0px;
  }
  
  .btn-a.ghost span.wrap {
    display: block;
    text-align: center;
  }

  .btn-a.white,
  section.box.blue .btn-a,
  .module-two-col-list .btn-a,
  .module-virtual-tour .btn-a,
  .module-video .btn-a {
    background: var(--base-color-white);
    color: var(--base-color-dark-blue);
  }

  @media (hover: hover) {
    
    .btn-a:is(:focus, :hover),
    a:is(:focus, :hover) .btn-a {
      background: var(--base-color-light-blue);
      color: var(--base-color-white);
    }
    
    .btn-a.ghost:is(:focus, :hover),
    a:is(:focus, :hover) .btn-a.ghost {
      color: var(--base-color-white);
      background: var(--base-color-dark-blue);
    }
    
    .btn-a.white:is(:focus, :hover),
    section.box.blue .btn-a:is(:focus, :hover),
    .module-two-col-list .btn-a:is(:focus, :hover),
    .module-virtual-tour .btn-a:is(:focus, :hover),
    .module-video .btn-a:is(:focus, :hover) {
      background: var(--base-color-light-blue);
      color: var(--base-color-white);
    }
    
  }







	.btn-b, 
  .btn-c,
  .btn-d {
    
    --max-font-size: 15;
    line-height: 1;
    
		text-transform: uppercase;
    color: var(--color, var(--base-color-light-blue));
    
	}
  
  .btn-b {
    --min-font-size: 13;
  }
  
  .btn-c {
    --min-font-size: 13;
  }
  
  .btn-d {
    --min-font-size: 13;
  }
  
  .btn-c.white,
  .btn-b.white {
    --color: var(--base-color-white);
  }

  .btn-b *,
  .btn-c *,
  .btn-d * {
    line-height: 1 !important;
  }

  .btn-b span.wrap,
  .btn-c span.wrap {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 0px 1em;
  }
  
  .btn-b span.wrap {
    gap: 0px .4em;
  }
  
  .btn-b span.icon {
    display: block;
    width: .53333333333333333333em;
    position: relative;
    transition: transform 350ms var(--ttf-2);
  }

  .btn-b span.icon *,
  .btn-c span.icon * {
    display: block;
  }
  
  .btn-b span.icon svg {
    width: 100%;
    height: auto;
    display: block;
  }

  .btn-b span.icon svg path,
  .btn-c span.icon svg path {
    fill: currentColor;
    transition: fill 350ms var(--ttf-2);
  }
  
  @media (hover: hover) {
    
    .btn-b:is(:focus, :hover) span.icon {
      transform: translateX(.25em);
    }
    
  }
  
  
  
  
  
  
  
  
  
  .btn-c span.icon {
    margin-right: 0;
  }
  
  .btn-c span.icon svg {
    display: block;
    height: auto;
  }
  
  .btn-c[data-icon="download"] span.icon svg {
    width: max(17px, calc(19 * var(--px)));
  }
  
  
  
  
  
  
  
  
  
  .btn-d {
    background: var(--background-color, transparent);
    color: var(--color, var(--base-color-dark-blue));
    border: 2px solid var(--border-color, var(--base-color-dark-blue));
    text-transform: uppercase;
    padding: .8em 1em;
    min-width: 11.33333333333333333333em;
    text-align: center;
    box-sizing: border-box;
    border-radius: var(--radius-pill);
    transition: 350ms var(--ttf-2);
    transition-property: background, color;
  }
  
  .filter-grid .btn-d {
    --background-color: var(--base-color-page);
  }
  
  .btn-d.current {
    --background-color: var(--base-color-dark-blue);
    --color: var(--base-color-white);
  }
  
  @media (hover: hover) {
    .btn-d:is(:focus, :hover) {
      --background-color: var(--base-color-dark-blue);
      --color: var(--base-color-white);
    }
  }
  
  @media (max-width: 900px) {
    
    .btn-d {
      min-width: 0px;
    }
    
  }
  
  
  
  
  
  
  
  
  
  
  .btn-icon-only {
    position: relative;
    --border-width: 2px;
    border: var(--border-width) solid var(--color, var(--base-color-light-blue));
    border-radius: 50%;
    --size: max(35px, calc(35 * var(--px)));
    width: var(--size);
    height: var(--size);
    color: var(--color, var(--base-color-light-blue));
    transition: 350ms var(--ttf-2);
    transition-property: background, color, border-color;
  }
  
  .btn-icon-only.btn-play {
    --color: var(--base-color-white);
    --size: max(42px, calc(42 * var(--px)));
  }
  
  .btn-icon-only.btn-play svg {
    margin-left: calc(2 * var(--px));
  }
  
  .sn-slider-arrow-nav .btn-icon-only {
    --size: max(35px, calc(49 * var(--px)));
  }
  
  .btn-icon-only span.label {
    position: absolute;
    top: 0;
    left: -100000em;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  
  .btn-icon-only * {
    display: block;
  }
  
  .btn-icon-only span.icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-left: 0;
    transition: 350ms var(--ttf-2);
    transition-property: background, color, border-color;
  }
  
  .btn-icon-only span.icon svg {
    display: block;
    height: auto;
  }
  
  .btn-icon-only[data-icon="triangle--right-thin"] span.icon svg {
    width: 5px;
  }
  
  .btn-icon-only[data-icon="play--small"] span.icon svg {
    width: 11px;
  }
  
  .sn-slider-arrow-nav .btn-icon-only[data-icon="triangle--right-thin"] span.icon svg {
    width: 8px;
  }
  
  .btn-icon-only span.icon svg path {
    fill: currentColor;
    transition: fill 350ms var(--ttf-2);
  }
  
  .btn-icon-only span.icon svg path[stroke] {
    fill: none;
    stroke: currentColor;
    stroke-width: var(--border-width);
    transition: stroke 350ms var(--ttf-2);
  }
  
  @media (hover: hover) {
    
    .btn-icon-only[data-icon="triangle--right-thin"]:is(:focus, :hover) {
      background: var(--base-color-light-blue);
      color: var(--base-color-white);
      border-color: var(--base-color-light-blue);
    }
    
  }
  
  








	.btn-back-to-overview {
    
    --min-font-size: 13;
    --max-font-size: 15;
    line-height: 1;
    
		text-transform: uppercase;
    background: var(--base-color-dark-blue);
    color: var(--base-color-white);
    padding: 1.33333333333333333333em 0.45em;
    border-radius: 0px var(--radius-s) var(--radius-s) 0px;
    
  }
  
  .btn-back-to-overview span.wrap {
    display: flex;
    flex-flow: column-reverse nowrap;
    gap: 2.66666666666666666666em 0px;
    align-items: center;
  }
  
  .btn-back-to-overview span.wrap * {
    display: block;
    margin: 0 !important;
  }
  
  .btn-back-to-overview svg {
    width: 1.86666666666666666666em;
    height: auto;
  }
  
  .btn-back-to-overview path {
    fill: currentColor;
  }

  @media (max-width: 600px) {
    
    .btn-back-to-overview {
      padding: 17px 17px 17px 12px;
    }
    
    .btn-back-to-overview span.label {
      display: none;
    }
    
  }













	.lnk-a,
  .has-lnk-a a {
    
    font-family: var(--base-font-1-regular);
    
    --min-font-size: 14;
    --max-font-size: 17;
    
	}
  
  .lnk-a {
    line-height: 1;
  }

  .lnk-a * {
    line-height: 1 !important;
  }
  
  @media (max-width: 500px) {
    
    .lnk-a {
      line-height: 1.2;
    }

    .lnk-a * {
      line-height: 1.2 !important;
    }
    
  }

  .lnk-a span.wrap,
  .has-lnk-a a > span {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 0px 0.3em;
  }
  
  .lnk-a[data-icon="download"] span.wrap {
    gap: 0px .82352941176470588235em;
  }
  
  .lnk-a span.icon,
  .has-lnk-a a span.icon-wrap {
    margin-inline: 0 !important;
  }

  .lnk-a span.icon *,
  .has-lnk-a a span.icon-wrap * {
    display: block;
  }
  
  .lnk-a span.icon svg,
  .has-lnk-a a span.icon-wrap svg {
    width: .4em;
    height: auto;
    display: block;
  }
  
  .lnk-a[data-icon="download"] span.icon svg {
    width: 1.11764705882352941176em;
  }

  .lnk-a span.icon svg path,
  .has-lnk-a a span.icon-wrap svg path {
    fill: currentColor;
  }
  
  .lnk-a[data-icon="download"] span.icon svg path {
    fill: var(--base-color-dark-blue);
  }
  
  
  
  
  
  
  
  
  input[type="search"] {
    --min-font-size: 1rem;
  }