/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

::-moz-selection { 
background: var(--at-primary);
color: var(--at-white);
}
::selection { 
background: var(--at-primary);
color: var(--at-white);
}

/* Stack divs */
.stack {
  display: grid;
  place-content: center;
  > * {
    grid-area: 1 / 1;
  }
}

/* Hover image zoom */
.hover-image {
	position: relative;
	align-self: stretch;
	height: auto;
	flex-shrink: 0;
	object-fit: cover;
	max-width: 100%;
	overflow: hidden;
	transition: transform 0.3s ease-in-out;
}
.hover-image-wrapper { overflow: clip; }
.hover-image-wrapper:hover .hover-image {
	transform: scale(1.05);
}

/* Hover background image zoom */
.zoom-in::after,
.zoom-out::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: inherit;
  background-size: cover;
  transform-origin: center;
  transition: transform 0.4s ease-in-out;
}
.zoom-in:focus::after, .zoom-in:hover::after { transform: scale(1.05); }
.zoom-out::after { transform: scale(1.05); }
.zoom-out:focus::after, .zoom-out:hover::after { transform: scale(1); }

/* Hover underline effect */
.hover-underline-animation {
  display: inline-block;
  position: relative;
}
.hover-underline-animation::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #111;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}
.hover-underline-animation:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Borders */
.border-top,
.border-bottom,
.border-left,
.border-right {
  background: var(--at-white);
  position: fixed;
  z-index: 88888; 
}

.border-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 20px; 
}

.border-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px; 
}

.border-right {
  top: 0;
  right: 0;
  width: 20px;
  height: 100%; 
}

.border-left {
  top: 0;
  left: 0;
  width: 20px;
  height: 100%; 
}

@media (max-width: 600px) {
.border-top, .border-bottom { height: 8px; }
.border-left, .border-right { width: 8px; }
}

/* Utility Classes */
.at-shadow--s { box-shadow: var(--at-shadow--s); }
.at-shadow--m { box-shadow: var(--at-shadow--m); }
.at-shadow--l { box-shadow: var(--at-shadow--l); }
.at-shadow--xl { box-shadow: var(--at-shadow--xl); }
.at-shadow--2xl { box-shadow: var(--at-shadow--2xl); }

/* Colors */
.color-primary { color: var(--at-primary); }
.color-secondary { color: var(--at-secondary); }

/* Gutenberg content styles */
h4.wp-block-heading {
  font-size: var(--at-heading--s);
  margin-bottom: 1em;
}
h3.wp-block-heading {
  font-size: var(--at-heading--m);
  margin-bottom: 1em;
}
h2.wp-block-heading {
  font-size: var(--at-heading--l);
  margin-bottom: 1em;
}
ul.wp-block-list { margin-top: 0;}

.brxe-form .form-group {
  padding-left: 0 !important;
}