/***************************************
*
*___TRIPLEPRO CUSTOM_______________
*
*   Opslagunits
*   www.opslagunits.nl
*
***************************************/

@import url('https://fonts.googleapis.com/css2?family=Hind+Guntur:wght@300;400;500;600;700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root
{
  --font-size             : 16px;
  --font-text             : 'Hind Guntur', sans-serif;
  --font-header           : 'Montserrat', sans-serif;

  --color-light           : hsl(0, 0%, 100%);
  --color-dark            : hsl(200, 95%, 15%);

  --color-checkmark       : hsl(130, 33%, 57.5%);

  --website-content-width : 1200px;
  --element-padding       : calc(calc(100vw - var(--website-content-width)) / 2);

  --color-1               : hsl(350, 65%, 42.5%);
  --color-2               : hsl(0, 95%, 92.5%);
  --color-3               : hsl(0, 0%, 92%);

  --color-pre             : var(--color-1);

  --color-button          : var(--color-1);
  --color-link            : var(--color-1);
}

/** BASE
 ***********************************************/

html
{
  color           : var(--color-dark);
  font-size       : var(--font-size);
  font-family     : var(--font-text);

  scroll-behavior : smooth;
}

h1
{
  color       : inherit;
  font-size   : 2rem;
  @media (max-width : 768px)
  {
    font-size : 1.5rem;
  }
  font-weight : 700;
  font-family : var(--font-header);

  margin      : 0 0 0.25em;
}

h2
{
  color       : inherit;
  font-size   : 1.6rem;
  font-weight : 500;
  font-family : var(--font-header);

  margin      : 0 0 0.25em;
}

h3
{
  color       : var(--color-link);
  font-weight : 500;
}

ul
{
  padding : 0;
}

pre
{
  color              : var(--color-pre);
  font-family        : inherit;

  white-space        : normal;

  display            : inline-block;
  width              : max-content;
  padding            : 0.25em 0;
  padding-inline-end : 3em;
  margin             : 0;

  border-top         : 0.15em solid;
}

pre.empty
{
  border-top : none;
}

p:last-of-type
{
  margin : 0;
}

a
{
  color : var(--color-link);
}

a:not(.website-phone a):not(.button):hover
{
  text-decoration : underline;
}

a.button
{
  color           : var(--color-light);
  text-align      : center;
  text-decoration : none;

  display         : inline-flex;
  align-items     : center;

  vertical-align  : middle;

  width           : max-content;
  padding         : 0.4em 1.65em 0.15em;

  border          : 0.15em solid var(--color-button);
  background      : var(--color-button);
  border-radius   : 5em;

  transition      : 0.2s;
}

@media ( min-width : 768px )
{
  a.button:hover
  {
    padding    : 0.5em 1.85em 0.25em;
    margin     : -0.1em -0.2em;
    background : var(--color-button);
  }
}

a.button:hover
{
  background : var(--color-button);
}

a.button.inverse
{
  color      : var(--color-button);
  background : transparent;
}

.not_visible
{
  display : none;
}

@media (max-width : 768px)
{
  iframe
  {
    max-width : 100%;
  }
}

/** MODULES
 ***********************************************/

/** BREADCRUMBS
 ***************************/

.module.kruimelpad a
{
  color : inherit;
}

.module.kruimelpad a:hover
{
  color : var(--color-link);
}

.module.kruimelpad a:nth-child(1n+3)::after
{
  top : -0.05em;
}

/** LIJST
 ***************************/

.module.lijst .row
{
  grid-template-columns : 3em 1.5em auto;

  padding-left          : 0;

  background-color      : transparent;
}

.module.lijst .number
{
  padding : 0.3em 0.25em 0.1em;
  background-color: var(--color-1);
}

.module.lijst ul
{
  padding : 0;
}

/** REVIEW
 ***************************/

.speech-bubble
{
  color            : transparent;
  font-size        : 1em;

  width            : calc(var(--element-padding) + 24em);
  height           : 16em;

  background-color : var(--color-1);

  border-radius    : 0 3em 0 0;
}

.speech-bubble:after
{
  content          : '';

  position         : absolute;
  bottom           : 0;
  left             : calc(var(--element-padding) - 7em);

  width            : 0;
  height           : 0;
  margin-left      : -1em;
  margin-bottom    : -2em;

  border           : 2em solid transparent;
  border-top-color : var(--color-1);
  border-bottom    : 0;
  border-right     : 0;
}

.module.review .review_block .top_row
{
  height : 2.5em;
}

.top_row > [data-rating]
{
  display     : inline-block;
  padding-top : 0.2em;
}

/** ELEMENTEN
*********************************/

[data-responsive] #hoofd > .element.text:empty
{
  margin  : 0;
  padding : 0;
}

/** BACKGROUND (COLOR)
 ***************************/

#hoofd > .element.text.usp
{
  color            : var(--color-light);
  background-color : var(--color-1);
}

#hoofd > .element.text.header,
#hoofd > .element.text.content_block_2,
#hoofd > .element.text.content_block_3,
#hoofd > .element.text.content_block_5,
#hoofd > .element.text.content_block_6,
#hoofd > .element.text.contact,
#hoofd > .element.text.contact_form
{
  background-color : var(--color-2);
}

@media (max-width : 768px)
{
  #home #hoofd > .element.text.content_block_2
  {
    background-color : transparent;
  }
}

/** OPSLAGUNITS_LOGO
 ***************************/

#hoofd > .element.text.content_block_3 .opslagunits_logo
{
  font-size      : 5em;
  @media (max-width : 1365px)
  {
    font-size : 3.5em;
  }
  @media (max-width : 768px)
  {
    font-size : 1.75em;
  }
  font-weight    : bold;
  text-transform : uppercase;
  margin         : 0;
}

/** UNIQUE-SELLING-POINTS
 ***************************/

#hoofd > .element.text.usp
{
  position              : sticky !important;
  top                   : 0 !important;

  display               : grid;
  height                : 2rem !important;

  grid-template-columns : 5fr 1fr 1.25em;
  grid-template-areas   : "usp phone .";

  z-index               : 500;
}

#hoofd > .element.text.usp .website-phone
{
  grid-area       : phone;

  display         : flex;
  align-items     : center;
  justify-content : end;

  z-index         : 2;
}

#hoofd > .element.text.usp .website-phone a
{
  color   : inherit;
  display : flex;
}

.unique-selling-points
{
  grid-area : usp;
  z-index   : 1;
}

.unique-selling-points
{
  padding : 0 5em;
}

.unique-selling-points ul
{
  display         : flex;
  height          : 2em;
  margin          : 0;
  padding-left    : 1em;

  justify-content : space-between;
  flex-flow       : row;

  align-items     : center;

  overflow        : hidden;

  list-style-type : none;
}

.unique-selling-points ul li
{
  display         : flex;
  margin          : 0;
  padding         : 0;

  white-space     : nowrap;
  justify-content : center;
  align-items     : end;
}

.unique-selling-points ul li:before
{
  content     : "\f058";

  color       : var(--color-2);
  font-family : FontAwesome, sans-serif;
  font-size   : 1.2em;

  position    : relative;
  left        : -0.5rem;
  @media (max-width : 768px)
  {
    top : -0.1rem;
  }
  height      : 100%;
}

@media (max-width : 1365px)
{
  .unique-selling-points
  {
    position : absolute;
    padding  : 0;
    width    : 100%;
  }

  .unique-selling-points ul
  {
    flex-flow       : column wrap;
    justify-content : center;
  }

  .unique-selling-points ul li
  {
    width           : 100%;
    height          : 100%;
    justify-content : center;
    align-items     : center;
    padding-top     : 0.25em;
    animation       : scroll-horizontal 20s ease-out infinite alternate;
  }
}

@keyframes scroll-horizontal
{
  0%,
  30%
  {
    transform : translateX(0);
  }
  35%,
  65%
  {
    transform : translateX(-100%);
  }
  70%,
  100%
  {
    transform : translateX(-200%);
  }
}

/** UNIQUE-SELLING-POINTS STRUCTURE
 ***************************/

#hoofd > .element.text.usp
{
  display               : grid;
  grid-template-columns : 5fr 1fr;
  grid-template-areas   : "usp phone";
}

@media (max-width : 768px)
{
  #hoofd > .element.text.usp
  {
    grid-template-columns : 5fr 1fr 1.25em;
    grid-template-areas   : "usp phone .";
  }
}

/** UL.CHECKMARKS
 ***************************/

ol
{
  padding : 0;
}

ol li
{
  position      : relative;

  display       : block;
  padding-left  : 1.5em;
  margin-bottom : 0.75em;
}

ol li p
{
  margin : 0;
}

ol li:before
{
  content     : "\e2e6";

  color       : var(--color-checkmark);
  font-family : 'Material Symbols Outlined', sans-serif;
  font-weight : 700;
  font-size   : 1.15em;

  position    : absolute;
  left        : 0;
  top         : -0.2em;
}

/** MENU
 ***************************/

#hoofd > .element.menu.top
{
  height           : auto;
  top              : 2rem !important;

  transition       : 0.4s;
  background-color : var(--color-light);

  box-shadow       : 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.2);
}

#hoofd > .element.menu .menu
{
  font-size : 1.2rem;
}

#hoofd > .element.menu ul ul
{
  background-color : var(--color-light);
}

#hoofd > .element.menu ul a
{
  color : var(--color-dark);
}

#hoofd > .element.menu li > a:hover,
#hoofd > .element.menu li.active > a
{
  color : var(--color-4);
}

#hoofd > .element.menu .bar_label
{
  font-size : 1em;
}

#hoofd > .element.menu label
{
  color     : var(--color-dark);
  font-size : 0.7em;
}

@media (max-width : 1364px)
{
  #hoofd > .element.menu ul.responsive
  {
    background-color : var(--color-light);
  }
}

/** MENU|LOGO|CONTACT
 ***************************/

#hoofd > .element.menu.top
{
  align-items : center;
}

#hoofd > .element.menu.top .website-menu-logo
{
  font-size   : 2em;
  @media (max-width : 768px)
  {
    font-size : 1.5em;
  }
  font-weight : bold;

  padding-top : 0.25em;
}

#hoofd > .element.menu.top .website-menu-cta,
#hoofd > .element.menu.top .website-menu-menu
{
  text-align : right;
}

#hoofd > .element.menu.top .website-menu-cta .button
{
  padding : 0.45em 1em 0.15em;
  margin  : 0;
}

#hoofd > .element.menu.top .website-menu-cta .button:hover
{
  padding : 0.45em 1em 0.15em;
  margin  : 0;
}

/** HEADER
 ***************************/

#hoofd > .element.text.header h1
{
  text-align : center;
  margin     : 0;
}

#hoofd > .element.text.header .module.kruimelpad
{
  text-align : center;
}

/** CONTENT BLOCK
 ***************************/

#home #hoofd > .element.text.content_block_1
{
  @media (min-width : 768px)
  {
    padding-right : 5em;
  }
  @media (min-width : 1365px)
  {
    padding-right : 12.5em;
  }
}

#home #hoofd > .element.text.content_block_1 .button
{
  margin-bottom : 0.5em;
}

#home #hoofd > .element.text.content_block_1 .button:hover
{
  margin-bottom : 0.4em;
}

@media (max-width : 1365px)
{
  #hoofd > .element.text.content_block_2 img
  {
    display : block;
  }
}

#hoofd > .element.text.content_block_2 img
{
  object-fit : cover;
  height     : 100%;
}

#home #hoofd > .element.text.content_block_2 img
{
  border-radius : 0 0 0 3em;
  transform     : translateZ(0); /* safari fix */
}

#home #hoofd > .element.text.content_block_3 img
{
  height      : 4.5em;
  margin-left : 1em;
}

#home #hoofd > .element.text.content_block_5 img
{
  border-radius : 0.65em;
}

/** CONTENT_LINE_CONTACT
 ***************************/

@media ( max-width : 768px )
{
  .element.text.content_line_contact .button
  {
    display       : inline-flex;
    width         : 90%;
    margin-bottom : 0.5em;
    justify-content: center;
  }
}

/** CONTACT
 ***************************/

.contact_footer
{
  text-align       : center;
  background-color : var(--color-2);
}

.contact_footer h3
{
  font-size : 2em;
  margin    : 0;
}

/** RUIMTE_CALCULATOR
 ***************************/

.ruimte_calculator em
{
  color : var(--color-1);
}

.ruimte_calculator section
{
  height       : 40em;
  padding-left : 0.2em;
  overflow-y   : scroll;
  overflow-x   : hidden;
}

.ruimte_calculator section h2
{
  margin        : 0.5em 0;
  border-bottom : 1px solid var(--color-1);
}

.ruimte_calculator table tbody
{
  display   : flex;
  flex-flow : row wrap;
  gap       : 0.5em 1em;
}

.ruimte_calculator tr
{
  width : 8em;
}

.ruimte_calculator td
{
  display        : block;
  vertical-align : middle;
}

.ruimte_calculator td input
{
  width         : 6em;
  border-radius : 0.4em;
}

/** FOOTER
 ***************************/

#hoofd > .element.text.footer
{
  color            : var(--color-light);
  background-color : var(--color-1);
}

#hoofd > .element.text.footer .footer_block
{
  display               : grid;
  gap                   : 1em;
  grid-template-columns : 4fr 2fr 2fr;
}

@media (max-width : 900px)
{
  #hoofd > .element.text.footer .footer_block
  {
    grid-template-columns : 1fr;
  }
}

#hoofd > .element.text.footer .logo p
{
  font-size   : 4em;
  @media (max-width : 1365px)
  {
    font-size : 2em;
  }
  font-weight : bold;
  margin      : 0;
}

#hoofd > .element.text.footer .menu
{
  @media (min-width : 1365px)
  {
    text-align : right;
  }
}

#hoofd > .element.text.footer h2
{
  font-size : 1.3em;
}

#hoofd > .element.text.footer a
{
  color : inherit;
}

#hoofd > .element.text.footer .social a
{
  font-size : 2em;
}

/** SITEMAP
 ***************************/

#hoofd > .element.text.footer .module.sitemap
{
  height : auto;
}

#hoofd > .element.text.footer .module.sitemap a
{
  font-size     : 1em;
  padding       : 0;
  border-bottom : none;
}

#hoofd > .element.text.footer .module.sitemap a:hover
{
  text-decoration : underline;
}

/** COPYRIGHT
 ***************************/

#website_footer
{
  display : none;
}

#copyright
{
  --color-copyright : var(--color-light);

  @media (max-width : 768px)
  {
    font-size : 0.8em;
  }
}

/** SCROLLBAR
 ***************************/

#hoofd
{
  padding-bottom : 0.3em;
}

body[data-responsive] #hoofd > .element.text.scrollbar
{
  font-size        : 0.8em;
  text-align       : center;

  position         : fixed !important;
  bottom           : 0;

  padding          : 0;
  padding-top      : 0.5em;

  background-color : var(--color-1);

  z-index          : 1000;
}

.element.text.scrollbar .luna-scrollbar-track
{
  background-color : var(--color-2);
}

.element.text.scrollbar .luna-scrollbar-thumb
{
  background-color : var(--color-1);
}

/** FORM
 ***************************/

@media ( max-width : 768px )
{
  form
  {
    margin-left : -1.5em;
    width       : calc(100% + 1em);
  }
}

form
{
  font-size        : 0.85em;

  padding          : 3em;
  @media (max-width : 768px)
  {
    font-size : 0.75em;
    padding   : 2em;
  }

  border-radius    : 0.4em;
  box-shadow       : 0.1em 0.1em 0.5em rgba(0, 0, 0, 0.2);
  background-color : var(--color-light);
}

form li
{
  margin-bottom : 0.75em;
}

form label
{
  color       : var(--color-dark);
  font-weight : 600;

  margin      : 0.35em 0.75em 0 0;
}

form input,
form textarea
{
  color            : var(--color-dark);

  padding          : 1.25em 0.75em;

  border           : none;
  background-color : var(--color-3);
}

form input[type=submit]
{
  color           : var(--color-light);
  font-weight     : bold;

  text-align      : left;
  text-decoration : none;

  display         : inline-block;
  width           : auto;
  padding         : 0.7em 1.5em;
  margin          : 0;

  background      : var(--color-button);
  border-radius   : 5em;

  box-shadow      : 0.1em 0.1em 0.5em rgba(0, 0, 0, 0.2);

  transition      : 0.2s;
}

form input[type=submit]:hover
{
  padding    : 0.9em 1.7em;
  margin     : -0.2em -0.2em;
  height     : 3.4em;
  background : var(--color-1);
}

@media (max-width : 1364px)
{
  form li[type=submit]
  {
    text-align : center;
  }
}

/** STRUCTURE
 ***********************************************/

/** PADDING
 *************************************/

#hoofd > .element.text.content_block_2,
#hoofd > .element.text.content_line_contact,
#hoofd > .element.text.scrollbar
{
  padding : 0;
}

@media (min-width : 768px)
{
  #hoofd > .element.menu,
  #hoofd > .element.text.usp
  {
    padding : 0 2em;
  }
}

@media (max-width : 768px)
{
  #hoofd > .element.menu,
  #hoofd > .element.text.usp
  {
    padding : 0;
  }
}

#hoofd > .element.text.header,
#hoofd > .element.text.content_block_1,
#hoofd > .element.text.content_block_3,
#hoofd > .element.text.content_block_5,
#hoofd > .element.text.content_block_6,
#hoofd > .element.text.content_line_1,
#hoofd > .element.text.content_block_7,
#hoofd > .element.text.content_block_8,
#hoofd > .element.text.products,
#hoofd > .element.text.reviews,
#hoofd > .element.text.contact,
#hoofd > .element.text.contact_form,
#hoofd > .element.text .contact_footer,
#hoofd > .element.text.footer
{
  padding : 2em;
}

@media (min-width : 1365px)
{
  #hoofd > .element.text.header,
  #hoofd > .element.text.content_block_1,
  #hoofd > .element.text.content_block_5,
  #hoofd > .element.text.content_block_6,
  #hoofd > .element.text.content_line_1,
  #hoofd > .element.text.content_block_7,
  #hoofd > .element.text.content_block_8,
  #hoofd > .element.text.products,
  #hoofd > .element.text.reviews,
  #hoofd > .element.text.contact,
  #hoofd > .element.text.contact_form,
  #hoofd > .element.text.footer
  {
    padding : 4em;
  }

  #hoofd > .element.menu,
  #hoofd > .element.text.usp,
  #hoofd > .element.text.header,
  #hoofd > .element.text.content_block_1,
  #hoofd > .element.text.content_block_3,
  #hoofd > .element.text.content_block_5,
  #hoofd > .element.text.content_line_1,
  #hoofd > .element.text.content_block_7,
  #hoofd > .element.text.products,
  #hoofd > .element.text.reviews,
  #hoofd > .element.text.contact,
  #hoofd > .element.text .contact_footer,
  #hoofd > .element.text.footer,
  #hoofd > .element.text.scrollbar
  {
    padding-left : var(--element-padding);
  }

  #hoofd > .element.menu,
  #hoofd > .element.text.usp,
  #hoofd > .element.text.header,
  #hoofd > .element.text.content_block_6,
  #hoofd > .element.text.content_line_1,
  #hoofd > .element.text.content_block_8,
  #hoofd > .element.text.products,
  #hoofd > .element.text.contact_form,
  #hoofd > .element.text .contact_footer,
  #hoofd > .element.text.footer,
  #hoofd > .element.text.scrollbar
  {
    padding-right : var(--element-padding);
  }
}

#home #hoofd > .element.text.content_block_5,
#home #hoofd > .element.text.content_block_6
{
  padding-top : 0;
}

/** GRID
 *************************************/

@media (min-width : 1365px)
{
  #hoofd
  {
    grid-gap              : 0;
    grid-template-columns : 1fr 6em 6em 1fr;
    grid-template-areas   :
      "usp usp usp usp"
      "menu_top menu_top menu_top menu_top"
      "header header header header"
      "content_block_1 content_block_1 content_block_1 content_block_2"
      "content_block_3 content_block_3 content_block_3 ."
      "content_block_5 content_block_5 content_block_6 content_block_6"
      "content_line_1 content_line_1 content_line_1 content_line_1"
      "content_block_7 content_block_7 content_block_8 content_block_8"
      "products products products products"
      "reviews reviews reviews reviews"
      "contact contact contact_form contact_form"
      "content_line_contact content_line_contact content_line_contact content_line_contact"
      "footer footer footer footer"
      "scrollbar scrollbar scrollbar scrollbar";
  }

  #home #hoofd
  {
    grid-gap              : 0;
    grid-template-columns : 1fr 6em 6em 1fr;
    grid-template-areas   :
      "usp usp usp usp"
      "menu_top menu_top menu_top menu_top"
      "header header header header"
      "content_block_1 content_block_1 content_block_1 content_block_2"
      "content_block_3 content_block_3 content_block_3 content_block_2"
      "content_block_5 content_block_5 content_block_6 content_block_6"
      "content_line_1 content_line_1 content_line_1 content_line_1"
      "content_block_7 content_block_7 content_block_8 content_block_8"
      "products products products products"
      "reviews reviews reviews reviews"
      "contact contact contact_form contact_form"
      "content_line_contact content_line_contact content_line_contact content_line_contact"
      "footer footer footer footer"
      "scrollbar scrollbar scrollbar scrollbar";
  }
}

@media (max-width : 1365px)
{
  #hoofd
  {
    grid-gap              : 0;
    grid-template-columns : 1fr 1fr;
    grid-template-areas   :
      "usp usp"
      "menu_top menu_top"
      "header header"
      "content_block_1 content_block_2"
      "content_block_3 content_block_2"
      "content_block_5 content_block_6"
      "content_line_1 content_line_1"
      "content_block_7 content_block_8"
      "products products"
      "reviews reviews"
      "contact contact_form"
      "content_line_contact content_line_contact"
      "footer footer"
      "scrollbar scrollbar";
  }
}

@media (max-width : 768px)
{
  #hoofd
  {
    grid-gap              : 0;
    grid-template-columns : 1fr;
    grid-template-areas   :
      "usp"
      "menu_top"
      "header"
      "content_block_2"
      "content_block_1"
      "content_block_3"
      "content_block_5"
      "content_block_6"
      "content_line_1"
      "content_block_7"
      "content_block_8"
      "products"
      "reviews"
      "contact"
      "contact_form"
      "content_line_contact"
      "footer"
      "scrollbar";
  }
}

.element.text.usp
{
  grid-area : usp;
}

.element.menu.top
{
  grid-area : menu_top;
}

.element.text.header
{
  grid-area : header;
}

.element.text.content_block_1
{
  grid-area : content_block_1;
}

.element.text.content_block_2
{
  grid-area : content_block_2;
}

.element.text.content_block_3
{
  grid-area : content_block_3;
}

.element.text.content_block_5
{
  grid-area : content_block_5;
}

.element.text.content_block_6
{
  grid-area : content_block_6;
}

.element.text.content_line_1
{
  grid-area : content_line_1;
}

.element.text.content_block_7
{
  grid-area : content_block_7;
}

.element.text.content_block_8
{
  grid-area : content_block_8;
}

.element.text.products
{
  grid-area : products;
}

.element.text.reviews
{
  grid-area : reviews;
}

.element.text.contact
{
  grid-area : contact;
}

.element.text.contact_form
{
  grid-area : contact_form;
}

.element.text.content_line_contact
{
  grid-area : content_line_contact;
}

.element.text.footer
{
  grid-area : footer;
}

.element.text.scrollbar
{
  grid-area : scrollbar;
}

/** MENU
 ***************************/

@media (min-width : 1365px)
{
  .element.menu.top
  {
    grid-template-columns : 15em auto 10em;
    grid-template-areas   : "top_logo top_menu top_cta";
  }
}

@media (max-width : 1364px)
{
  .element.menu.top
  {
    grid-template-columns : 4em 2fr 1fr;
    grid-template-areas   : "top_menu top_logo top_cta";
  }
}

@media (max-width : 768px)
{
  .element.menu.top
  {
    grid-template-columns : 4em 2fr 1fr 1.25em;
    grid-template-areas   : "top_menu top_logo top_cta .";
  }
}

.element.menu
{
  display : grid;
}

.element.menu.top .website-menu-logo
{
  grid-area : top_logo;
}

.element.menu.top .website-menu-cta
{
  grid-area : top_cta;
}

.element.menu.top .website-menu-menu
{
  grid-area : top_menu;
}
