Why isn't my SVG 'frame' animation playing on hover? - html

I'm stuck on this CSS animation.
The frame should be animated when hovering. Start from the top center and draw the line through to the end.
Does anyone have a solution for this?
#import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
body{
font-family: 'Roboto', sans-serif;
}
a.teaser-card-link {
text-decoration: none;
}
.card{
background-size: cover !important;
background-repeat: no-repeat !important;
max-width: 425px;
border-radius: 10px;
overflow: hidden;
}
.caption {
padding: 20px;
}
.dark-cover:hover {
background: url('https://svgshare.com/i/cP2.svg');
background-repeat: no-repeat;
background-attachment: fixed;
}
.card .caption p.card-title{
font-size: 22px;
font-weight: bold;
text-align: left;
margin: 0;
padding: 0;
letter-spacing: 1px;
padding-bottom: 20px;
margin-top: 10px;
}
.card .caption p.card-description{
font-size: 16px;
font-weight: 300;
text-align: left;
margin: 0;
padding: 0;
letter-spacing: 1px;
line-height: 1.5em;
padding-bottom: 20px;
}
.card .caption a.link-text{
font-size: 16px;
font-weight: 300;
text-align: left;
margin: 0;
padding: 0;
letter-spacing: 1px;
line-height: 1.5em;
text-decoration: none;
color: blue;
}
a.teaser-card-link {
text-decoration: none;
}
<div class="card">
<div class="dark-cover">
<div class="cover">
<img src="https://i.stack.imgur.com/jLbFE.png" class="card-image">
<div class="caption">
<p class="card-title">CARD-TEST</p>
<p class="card-description">Hier kannst du dich austauschen und offen über deine Gefühle und Sorgen sprechen.</p>
Hier mehr erfahren
</div>
</div>
</div>
</div>
HTML/CSS that I've got so far. I dont know which technique would be the best for this. SVG, PNG or pure CSS since this is technically a border.
<svg class="svg-border" xmlns="http://www.w3.org/2000/svg" width="409" height="273" viewBox="0 0 409 273" fill="none">

You can add the code of the svg and add transition to stroke-dashoffset property
#import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
body {
font-family: 'Roboto', sans-serif;
}
a.teaser-card-link {
text-decoration: none;
}
.card {
background-size: cover !important;
background-repeat: no-repeat !important;
max-width: 425px;
border-radius: 10px;
overflow: hidden;
}
.caption {
padding: 20px;
}
.svg-border {
position: absolute;
left: 0;
}
.dark-cover .svg-border path {
stroke-dasharray: 0 1213 0;
stroke-dashoffset: 0;
transition: stroke-dashoffset 1s;
}
.dark-cover:hover .svg-border path {
stroke-dasharray: 0 1213 0;
stroke-dashoffset: 1213;
}
.card .caption p.card-title {
font-size: 22px;
font-weight: bold;
text-align: left;
margin: 0;
padding: 0;
letter-spacing: 1px;
padding-bottom: 20px;
margin-top: 10px;
}
.card .caption p.card-description {
font-size: 16px;
font-weight: 300;
text-align: left;
margin: 0;
padding: 0;
letter-spacing: 1px;
line-height: 1.5em;
padding-bottom: 20px;
}
.card .caption a.link-text {
font-size: 16px;
font-weight: 300;
text-align: left;
margin: 0;
padding: 0;
letter-spacing: 1px;
line-height: 1.5em;
text-decoration: none;
color: blue;
}
a.teaser-card-link {
text-decoration: none;
}
<div class="card">
<div class="dark-cover">
<div class="cover">
<img src="https://i.ibb.co/RBfxDkJ/Vector.png" class="card-image">
<svg class="svg-border" xmlns="http://www.w3.org/2000/svg" width="409" height="273" viewBox="0 0 409 273" fill="none">
<path d="M359.013 249.05L359.036 249.048L359.059 249.046C372.423 248.323 381.287 246.263 387.415 241.958C393.488 237.693 397.044 231.098 399.478 220.852C400.472 214.751 401.014 208.608 401.099 202.457L401.1 202.441L401.1 202.425C401.826 185.916 402.511 169.404 403.196 152.896C404.578 119.605 405.96 86.33 407.667 53.1237L407.667 53.1207C407.881 49.1784 407.591 42.6982 406.02 36.1632C404.444 29.6075 401.617 23.1541 396.874 19.0845L396.84 19.0556L396.809 19.0239C392.109 14.2522 386.196 10.3001 379.441 7.43138C372.686 4.56277 365.245 2.84438 357.595 2.39153L357.577 2.39046L357.559 2.38879C353.731 2.03166 349.539 1.90534 344.812 2.12084C320.437 3.23341 296.153 4.18062 271.921 5.12577C210.717 7.51297 149.85 9.88705 88.7201 14.8793C68.9517 16.5477 53.3328 18.7741 41.1174 22.149C28.9037 25.5236 20.1743 30.0247 14.1071 36.1869C1.99865 48.4848 0.131327 67.7789 3.41751 99.5416L3.41766 99.5431C7.51328 139.68 13.2423 179.816 18.9615 219.884C19.8603 226.181 20.7589 232.476 21.6509 238.769C23.367 250.056 26.583 257.426 32.8765 262.282C39.2232 267.179 48.8871 269.672 63.8952 270.686C81.9828 271.846 100.195 271.458 118.405 271.071C127.516 270.877 136.626 270.684 145.72 270.684C153.108 270.684 183.491 267.861 219.692 264.118C255.851 260.379 297.714 255.732 327.984 252.102L327.995 252.101L328.006 252.1L359.013 249.05Z" stroke="#D76119" stroke-width="2.1225"/>
</svg>
<div class="caption">
<p class="card-title">CARD-TEST</p>
<p class="card-description">Hier kannst du dich austauschen und offen über deine Gefühle und Sorgen sprechen.</p>
Hier mehr erfahren
</div>
</div>
</div>
</div>

Related

How do I stop the attribute "position: fixed" at a certain point?

How do I stop the attribute "position: fixed" at a certain point so the button in my case, isn't kind of following the user when scrolling anymore. Because I have this footer at the bottom of my page and the "book now" button overlaps the footer and I don't want that. How do I "stop" the button just above the footer?
const slideshowImages = document.querySelectorAll('#slideshow img');
let currentIndex = 0;
function showNextImage() {
console.log(slideshowImages[currentIndex]);
slideshowImages[currentIndex].style.display = 'none';
currentIndex = (currentIndex + 1) % slideshowImages.length;
slideshowImages[currentIndex].style.display = 'block';
}
console.log(slideshowImages);
setInterval(showNextImage, 5000);
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
overflow: scroll;
}
h1 {
text-align: center;
font-size: 3.5em;
}
h2 {
text-align: center;
font-size: 2em;
padding-top: 2%;
}
p {
margin: 20px 0;
line-height: 1.5;
}
ul {
list-style: none;
margin: 20px 0;
padding: 0;
}
header {
overflow: hidden;
position: relative;
}
li {
margin: 10px 0;
}
.content {
position: relative;
padding: 20px 1px;
padding-left: 2.5%;
}
img {
width: 90vw;
margin-left: auto;
margin-right: auto;
display: block;
vertical-align: top;
}
#slideshow {
position: absolute;
top: 55%;
left: 12%;
width: 300px;
height: 300 px;
}
#slideshow img {
width: 170%;
height: 170%;
object-fit: cover;
}
#menu {
position: fixed;
width: 100%;
background-color: #333;
color: #fff;
z-index: 2;
padding: 0;
}
.menu-button {
font-family: Arial;
}
#menu ul {
display: flex;
margin: 0;
padding: 0;
}
#menu li {
flex: 1;
text-align: center;
}
#menu a {
display: block;
color: #fff;
text-decoration: none;
padding: 20px;
}
#menu a:hover {
background-color: #444;
}
.Infotext {
position: absolute;
top: 57%;
left: 40%;
font-size: 1.5em;
}
.InfotextÜ {
position: absolute;
top: 53.5%;
left: 40%;
font-family: Arno Pro Caption;
font-size: 2.0em;
}
.button-24 {
position: fixed;
top: 90%;
left: 45.3%;
background: #FF4742;
border: 1px solid #FF4742;
border-radius: 6px;
box-shadow: rgba(0, 0, 0, 0.1) 1px 2px 4px;
box-sizing: border-box;
color: #FFFFFF;
cursor: pointer;
display: inline-block;
font-family: nunito, roboto, proxima-nova, "proxima nova", sans-serif;
font-size: 16px;
font-weight: 800;
line-height: 16px;
min-height: 40px;
outline: 0;
padding: 12px 43px;
text-align: center;
text-rendering: geometricprecision;
text-transform: none;
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
vertical-align: middle;
}
.button-24:hover,
.button-24:active {
background-color: initial;
background-position: 0 0;
color: #FF4742;
}
.button-24:active {
opacity: .5;
}
footer {
background-color: #333;
color: #fff;
padding: 20px;
text-align: center;
}
<div id="menu">
<ul>
<li>Home</li>
<li>Bildgalerie</li>
<li>Kontakt</li>
<li>In der Nähe</li>
</ul>
</div>
<header>
<div id="slideshow">
<img src="https://i.imgur.com/dXTFKBo.jpg" alt="Slideshow image 1" style="display: block">
<img src="https://i.imgur.com/FzwZzYw.jpg" alt="Slideshow image 2" style="display: none">
<img src="https://i.imgur.com/kIS6CTy.jpg" alt="Slideshow image 3" style="display: none">
<img src="https://i.imgur.com/UUr5jSJ.jpg" alt="Slideshow image 3" style="display: none">
</div>
<p class="InfotextÜ">Paradiso Piccolo</p>
<p class="Infotext">Das Paradiso Piccolo ist eine Ferienwohnung am See.</p>
<img id="image" src="https://i.imgur.com/O0jKPtk.jpg" alt="Foto">
</header>
<div class="content">
<h1>Das Apartment</h1>
<p>Das Apartment ist für bis zu 6 Personen geignet.<br> Im Apartment gibt es außerdem:</p>
<li>TV</li>
<li>Stereo-Anlage</li>
<li>WLAN (auf Wunsch)</li>
<li>Bücher</li>
<li>Brettspiele</li>
<li>Decken- und tragbare Ventilatoren</li>
<li>Infrarotheizung (gegen Aufpreis)</li>
<li>Kühlschrank</li>
<li>Mikrowelle</li>
<li>Geschirr und Besteck</li>
<li>Grundausstattung zum Kochen (Töpfe, Pfannen, Öl, Salz, Pfeffer)</li>
<li>Gefrierschrank</li>
<li>Herd (Gas und Elektro)</li>
<li>Bügeleisen</li>
<li>Geschirrspülmaschine</li>
<li>Waschmaschine</li>
<li>Wasserkocher</li>
<li>Nespresso-Maschine</li>
<li>Toaster</li>
<li>Grill</li>
<li>Holzkohle</li>
<li>Grillbesteck</li>
<li>Föhn</li>
<li>Shampoo, Duschgel, Seife, etc</li>
<li>Gartenmöbel (Liege, etc)</li>
<li>Kostenlose Parkplätze</li>
Bettwäsche und Handtücher sind selbst mitzunehmen!
<h1>Standort</h1>
<p>Via Cristoforo Colombo, 4, 37010 Brenzone VR, Italien</p>
<iframe src="..."></iframe>
<a href="https://www.airbnb.com/h/paradisopiccolo">
<button class="button-24" role="button">Book Now!</button>
</a>
</div>
<footer>
<p>Paradiso Piccolo</p>
<p>123 Main Street</p>
<p>Anytown, USA</p>
<button onclick="location.href='C:/Users/Charlie/Desktop/Impressum.html'">Impressum</button>
<button onclick="location.href='C:/Users/Charlie/Desktop/Datenschutz.html'">Datenschutz</button>
</footer>

How can I block a buttons size, independently of its texts size?

so I am trying to do make my buttons like this.
I have tried creating containers for each button group and setting their padding to 50px 60px per say, but that did not work and they still stretch.
I have this:
Here is the code:
.container5 {
background-image: url("servicos.svg");
width: 100vw;
height: 100vh;
background-size: contain;
max-width: 100%;
left: 0;
}
.container5 .underline {
padding-top: 20px;
padding-bottom: 10px;
text-decoration: none;
border-bottom: 5px solid rgb(220,52,52);
}
.container5 h1 {
margin: auto;
line-height: 30px;
vertical-align: middle;
margin-left: 10vh;
weight: 950;
padding-top: 10vh;
font-family: 'Source Sans Pro', sans-serif;
font-size: 50px;
color: #000;
}
.container5 .btn-group {
left: 0;
margin-left: 5vw;
}
.container5 .btn-group button {
color: white;
background-color: #05031b;
font-family: Helvetica, Arial, Sans-Serif;
font-size: 15px;
text-decoration: none;
position: relative;
padding: 40px 35px;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
margin: 0 10px 0 0;
}
.container5 .btn-group .btn-group-ls {
font-size: 10px;
}
.container5 .btn-group2 {
left: 0;
margin-top: 3vh;
padding: 40px 30px;
}
.container5 .btn-group2 button {
color: white;
background-color: #05031b;
font-family: Helvetica, Arial, Sans-Serif;
font-size: 15px;
text-decoration: none;
position: relative;
margin: 0 10px 0 0;
left: 0;
}
.container5 .btn-group3 {
margin-top: 3vh;
}
.container5 .btn-group3 button {
color: white;
background-color: #05031b;
font-family: Helvetica, Arial, Sans-Serif;
font-size: 15px;
text-decoration: none;
position: relative;
padding: 40px 30px;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
margin: 0 10px 0 0;
}
<section class="container5" id="servicos">
<h1><u class="underline">Ser</u>viços </h1>
<div class="btn-group">
<button>VIDEO AULAS</button>
<button>
LIVES DIARIAS
<br>
<div class="btn-group-ls">
(ANALISE DO MERCADO)
</div>
</button>
<button>SALA DE SINAIS</button>
<div>
<div class="btn-group2">
<button>
LIVES SEMANAIS
<br>
<div class="btn-group-ls">
(RESTROSPECTIVA DO MERCADO)
</div>
</button>
<button>
LIVES SEMANAIS
<br>
<div class="btn-group-ls">
(PARA DUVIDAS)
<!-- Edit by tacoshy: Missing a div closing tag here -->
</button>
<button>MATERIAIS DIDATICOS</button>
<div>
<div class="btn-group3">
<button>FERRAMENTAS DE AUXILIO</button>
<button>
PREMIAÇÃO POR
<br>
DESEMPENHO (MENSAL)
</button>
<button>PROGRAMA DE TALENTOS</button>
<div>
<!-- Edit by tacoshy: as you see missing a lot closing tags -->
</section>
How do I make the buttons like those ones from the 1st image? Mine's sizes aren't stable and will change if the sentences are too big. Any ideas guys?
Thank you.
EDIT
I managed to align all of the buttons, however, any guess on how to level the buttons? Those who have more text are a few pixels lower than the rest.
You can apply width and height settings to them. To make them all the same height (regardless of the different text amount in them), also add a min-height setting that's at least as high as the highest button.
To center-align the texts in side them properly you can use display:flex; justify-content: center; align-items: center; on the buttons themselves.`

H1 won't use all available space even though both it and its container have a much bigger width (HTML/CSS)

I have a H1 that is placed inside a .container div with a width of 800px. I tried giving the H1 a width also and that didn't fix it either. I can't think of any reason why this H1 wouldn't take the full width (taking it out of the .container div makes it work). Any idea what's causing this?
Thanks in advance.
HTML:
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container" id="header-block">
<h2>Cristian M.</h2>
<h3>Product Designer</h3>
<p>Hi, I'm Cristian Moisei and I'm currently a Product Designer at <a id="screencloud-link" href="https://www.screen.cloud">ScreenCloud</a>. I formerly worked as the Lead Product Designer for <a id="glofox-link" href="https://www.glofox.com">Glofox</a> and ran a design studio, <a id="hyperion-link" href="http://www.hyperion.co">Hyperion</a>, for 4 years.</p>
<div id="extra-info">
<p>
Resume <span id="slash">&#160&#160&#160/&#160&#160&#160</span>
My Process <span id="slash">&#160&#160&#160/&#160&#160&#160</span>
Contact
</p>
<p>I live in London, UK</p>
</div>
</div>
<div id="glofox-block">
<div class="container">
<img src="Images/macbook.png">
<div id="text">
<h1 id="number">01.</h1>
<h1>Reinventing Glofox's interface for a complex user base.</h1>
<div id="view-project">
View Project
<img src="Images/arrow-white.png">
</div>
</div>
</div>
</div>
<div id="webfaction-block">
<div class="container">
<div id="text">
<h1 id="number">02.</h1>
<h1>Helping Webfaction attract a less technical audience.</h1>
<div id="view-project">
View Project
<img src="Images/arrow-black.png">
</div>
</div>
<img id="ipad" src="Images/ipad.jpg">
</div>
</div>
</body>
</html>
CSS:
#import url("http://fast.fonts.net/t/1.css?apiType=css&projectid=b4314e71-83d8-4cc4-bd90-9ceb4a5339d0");
#font-face{
font-family:"Tisa W01 Light";
src:url("Fonts/63d98d82-cdc2-4f22-8883-bede07823185.eot?#iefix");
src:url("Fonts/63d98d82-cdc2-4f22-8883-bede07823185.eot?#iefix") format("eot"),url("Fonts/163f4b9f-d9b9-42c5-9098-d70e0016ae27.woff2") format("woff2"),url("Fonts/cc68d660-f674-409c-9be1-7f7f8bc0542a.woff") format("woff"),url("Fonts/2385d9d0-f23e-4d30-abb4-28817eda1254.ttf") format("truetype"),url("Fonts/a9d1c46b-d28d-4dab-8373-bbaf41232d7f.svg#a9d1c46b-d28d-4dab-8373-bbaf41232d7f") format("svg");
}
#font-face{
font-family:"Tisa W01 Regular";
src:url("Fonts/885a1883-0bbc-429a-91f5-c32e88a82b0e.eot?#iefix");
src:url("Fonts/885a1883-0bbc-429a-91f5-c32e88a82b0e.eot?#iefix") format("eot"),url("Fonts/36a5385d-e6c3-4aba-ad04-fa161f5c96b0.woff2") format("woff2"),url("Fonts/9b2fef91-4d32-413d-864e-4aaa363673eb.woff") format("woff"),url("Fonts/131d9e79-a2a5-4e3a-8cb9-e8acfcaa1c8a.ttf") format("truetype"),url("Fonts/419b1ef5-3ea5-43d3-8c3f-f68edc3d0a2b.svg#419b1ef5-3ea5-43d3-8c3f-f68edc3d0a2b") format("svg");
}
#font-face{
font-family:"Tisa W01 Medium";
src:url("Fonts/7901ab62-60f6-49a3-9332-359efb61e81b.eot?#iefix");
src:url("Fonts/7901ab62-60f6-49a3-9332-359efb61e81b.eot?#iefix") format("eot"),url("Fonts/785e7c0f-c445-4077-b412-1fd0a1a8ab06.woff2") format("woff2"),url("Fonts/7ee6ca7c-fe74-4640-a75d-939ea0bd637d.woff") format("woff"),url("Fonts/d76d30ec-b31a-4502-acf4-89812c16447e.ttf") format("truetype"),url("Fonts/9ce8adf1-e8ae-4095-84d3-6b2f836cd33e.svg#9ce8adf1-e8ae-4095-84d3-6b2f836cd33e") format("svg");
}
#font-face{
font-family:"Tisa W01 Bold";
src:url("Fonts/0b58340f-a8ca-4e68-8eab-bfda350b0b58.eot?#iefix");
src:url("Fonts/0b58340f-a8ca-4e68-8eab-bfda350b0b58.eot?#iefix") format("eot"),url("Fonts/02a4b96f-e988-44fe-a0e7-57ff1b610f3b.woff2") format("woff2"),url("Fonts/78d1ac04-d453-4364-8326-035a105b0865.woff") format("woff"),url("Fonts/776e5c1b-6939-4b32-9c0d-2dee7c34c7da.ttf") format("truetype"),url("Fonts/edc51787-36cf-434d-a4f1-b04139da6bfc.svg#edc51787-36cf-434d-a4f1-b04139da6bfc") format("svg");
}
/* Global */
body, a {
font-family:"Tisa W01 Light", serif;
color: black;
margin: 0;
padding: 0;
}
a{
text-decoration: none;
border-bottom: 1px solid black;
cursor: pointer;
}
p {
font-size: 19px;
line-height: 1.8;
}
h1{
font-size: 50px;
line-height: 1.2;
margin: 0 0 40px 0;
padding: 0;
}
h2{
font-size: 30px;
margin: 0;
padding: 0;
}
h3{
font-family: "Tisa W01 Medium", serif;
font-size: 26px;
margin: -5px 0 40px 0;
padding: 0;
}
.container{
width: 800px;
margin-left: auto;
margin-right: auto;
}
#view-project{
display: inline !important;
opacity: .5 !important;
border-bottom: 1px solid white;
}
#view-project a{
font-family: "San Francisco", "Helvetica Neue", Arial, Helvetica, sans-serif;
font-weight: bold;
}
#view-project img{
width: 15px !important;
margin: 0 0 0 5px !important;
padding: 0 !important;
float: none !important;
}
/* Intro Section */
#header-block{
padding: 140px 50px 140px 50px;
}
#extra-info{
margin-top: 40px !important;
font-size: 18px;
opacity: .4;
}
#extra-info p{
margin: 0;
padding: 0;
}
#extra-info a{
font-family: "Tisa W01 Medium", serif;
}
/* Glofox Section */
#glofox-block{
background-color: #2b4ea4;
height: 800px;
}
#glofox-block #number{
opacity: .2;
font-family: "Tisa W01 Regular", serif;
margin-bottom: 20px;
}
#glofox-block img{
z-index: 1;
width: 740px;
float: left;
margin-top: 60px;
}
#glofox-block .container #text{
position: relative;
top: -790px;
z-index: 2;
float: right;
width: 350px;
color: white;
float: right;
}
#glofox-block #view-project a{
color: white;
border: none;
}
/* Webfaction Section */
#webfaction-block #ipad{
z-index: 1;
width: 795px;
position: relative;
top: -100px;
}
#webfaction-block h1{
width: 750px;
}
#webfaction-block #text{
z-index: 2;
}
In order to fix this you need to add the following line to your CSS:
white-space: nowrap;
Please familiarise yourself with CSS whitespace parameters.
https://www.w3schools.com/cssref/pr_text_white-space.asp

Avoiding multiple rows when lining up content in grids

I currently have a grid showing products. Full screen there is 3 products and once the screen gets smaller it shows 4 products.
My issue is, some names of the products are longer then others. In this example, as the container gets smaller, the product name of the 2nd and 3rd item moves to a new line faster then the 1st does.
Ideally, I'd like the Price and the SHOP buttons to be even with one another when this happens.
The only way I can think about achieving this is to have 3 separate rows for the picture, name, and price/button. By doing this, it makes it kind of difficult for the 4th item to appear nicely without making completely separate containers for different window sizes and loading the images twice.
Does anyone have any ideas on how I can achieve this without making multiple rows for each item?
*, input, :before, :after {
box-sizing: border-box;
}
h2.product-header {
font-family: "Open Sans", sans-serif;
font-size: 23px;
color: #231f20;
letter-spacing: 3px;
text-align: center;
padding-bottom: 50px;
border-bottom: 2px solid #c2c1c5;
}
.row {
display: block;
font-size: 0;
}
.row .grid {
vertical-align: top;
display: inline-block;
font-size: 18px;
}
.grid.one-third {
width: 33.33%;
}
#index-new-arrivals {
font-family: "Open Sans", sans-serif;
padding: 75px 50px;
}
#index-new-arrivals .grid {
width: 33.33%;
}
#index-new-arrivals .grid.product {
margin: 75px 0 15px 0;
padding: 0 7%;
}
#index-new-arrivals .grid.product:last-child { display:none;}
#index-new-arrivals .grid.product > div {
padding-bottom: 150%;
position: relative;
}
#index-new-arrivals .grid.product > div > div {
position: absolute;
width: 100%;
height: 100%;
background-size: cover;
}
#index-new-arrivals .grid.product-name {
margin-bottom: 15px;
padding: 0 7%;
vertical-align: middle;
}
#index-new-arrivals .grid.product h3 {
font-size: 18px;
text-align: center;
margin-top: 25px;
text-transform: uppercase;
letter-spacing: 4px;
color: #231f20;
font-size: 19px;
}
#index-new-arrivals .grid.product p {
font-size: 18px;
text-align: center;
text-transform: uppercase;
letter-spacing: 4px;
color: #231f20;
font-size: 19px;
}
#index-new-arrivals .grid.product a {
font-size: 15px;
letter-spacing: 2px;
display: block;
background-color: #3e3e3f;
max-width: 230px;
width: 80%;
margin: 25px auto 100px auto;
padding: 15px 0;
text-align: center;
text-transform: uppercase;
color: #fff;
}
#media (max-width:880px) {
#index-new-arrivals .grid {
width: 50%;
}
#index-new-arrivals .grid.product:last-child { display:inline-block;}
}
<section id="index-new-arrivals">
<div class="row" style="border:1px solid blue;">
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9126_BROWN_1_500x.jpg?v=1509207888');"></div>
</div>
<h3>Convertible Belt Bag</h3>
<p>$50</p>
Shop
</div>
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9113_BLACK_500x.jpg?v=1509207748');"></div>
</div>
<h3>Mini Quilted Backpack</h3>
<p>$54</p>
Shop
</div>
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9155_IVORY_1_500x.jpg?v=1509207616');"></div>
</div>
<h3>Snake Mini Reversible Tote</h3>
<p>$50</p>
Shop
</div>
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9155_IVORY_1_500x.jpg?v=1509207616');"></div>
</div>
<h3>Snake Mini Reversible Tote</h3>
<p>$50</p>
Shop
</div>
</div>
</section>
you can fix the name h3 element max-height and show dot after text is bigger then h3 using those css properties :
white-space: pre;
overflow: hidden !important;
text-overflow: ellipsis;
*, input, :before, :after {
box-sizing: border-box;
}
h2.product-header {
font-family: "Open Sans", sans-serif;
font-size: 23px;
color: #231f20;
letter-spacing: 3px;
text-align: center;
padding-bottom: 50px;
border-bottom: 2px solid #c2c1c5;
}
.row {
display: block;
font-size: 0;
}
.row .grid {
vertical-align: top;
display: inline-block;
font-size: 18px;
}
.grid.one-third {
width: 33.33%;
}
#index-new-arrivals {
font-family: "Open Sans", sans-serif;
padding: 75px 50px;
}
#index-new-arrivals .grid {
width: 33.33%;
}
#index-new-arrivals .grid.product {
margin: 75px 0 15px 0;
padding: 0 7%;
}
#index-new-arrivals .grid.product:last-child { display:none;}
#index-new-arrivals .grid.product > div {
padding-bottom: 150%;
position: relative;
}
#index-new-arrivals .grid.product > div > div {
position: absolute;
width: 100%;
height: 100%;
background-size: cover;
}
#index-new-arrivals .grid.product-name {
margin-bottom: 15px;
padding: 0 7%;
vertical-align: middle;
}
#index-new-arrivals .grid.product h3 {
font-size: 18px;
text-align: center;
margin-top: 25px;
text-transform: uppercase;
letter-spacing: 4px;
color: #231f20;
font-size: 19px;
white-space: pre;
overflow: hidden !important;
text-overflow: ellipsis;
}
#index-new-arrivals .grid.product p {
font-size: 18px;
text-align: center;
text-transform: uppercase;
letter-spacing: 4px;
color: #231f20;
font-size: 19px;
}
#index-new-arrivals .grid.product a {
font-size: 15px;
letter-spacing: 2px;
display: block;
background-color: #3e3e3f;
max-width: 230px;
width: 80%;
margin: 25px auto 100px auto;
padding: 15px 0;
text-align: center;
text-transform: uppercase;
color: #fff;
}
#media (max-width:880px) {
#index-new-arrivals .grid {
width: 50%;
}
#index-new-arrivals .grid.product:last-child { display:inline-block;}
}
<section id="index-new-arrivals">
<div class="row" style="border:1px solid blue;">
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9126_BROWN_1_500x.jpg?v=1509207888');"></div>
</div>
<h3>Convertible Belt Bag</h3>
<p>$50</p>
Shop
</div>
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9113_BLACK_500x.jpg?v=1509207748');"></div>
</div>
<h3>Mini Quilted Backpack</h3>
<p>$54</p>
Shop
</div>
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9155_IVORY_1_500x.jpg?v=1509207616');"></div>
</div>
<h3>Snake Mini Reversible Tote</h3>
<p>$50</p>
Shop
</div>
<div class="grid product" style="border:1px solid grey;">
<div>
<div style="background-image:url('//cdn.shopify.com/s/files/1/2497/8510/products/9155_IVORY_1_500x.jpg?v=1509207616');"></div>
</div>
<h3>Snake Mini Reversible Tote</h3>
<p>$50</p>
Shop
</div>
</div>
</section>

Big height out of nowhere

Somehow one of the group of the same block elements on the picture gets inexplicably big height. Styles shown on the pic don't suggest that kind of behavior for this element. In fact, height isn't even set for those h3's.
Browser screenshot
The html is
<section class="about-us">
<div class="wrapper clearfix">
<h2 class="about-us-heading section-heading red-black-stressing-line-at-left">About Us</h2>
<p class="about-us-statement section-saying about-us-saying">This is who we are - or at least who we strive to be...</p>
<div class="about-more">
<p class="about-saying">If you can't explain it simply, you don't understand it enough.</p>
The more you know
</div>
<div class="about-work-details">
<h3 class="about-details-heading typography-icon">Typography</h3>
<p class="about-details-text">...</p>
</div>
<div class="about-work-details">
<h3 class="about-details-heading curve-with-dots-icon">Full icon set</h3>
<p class="about-details-text">...</p>
</div>
<div class="about-work-details">
<h3 class="about-details-heading triangular-ruler-icon">Accurate</h3>
<p class="about-details-text">...</p>
</div>
</div>
</section>
Three same div.about-work-details elements.
The default css is
.about-us{
background-color: #fff;
position: relative;
}
.about-us-heading{
color: #272d32;
}
.about-us-statement{
color: #4e5860;
margin-bottom: 3.9em;
}
.about-more{
width: 16.875em;
float:left;
margin-right: 1.875em;
}
.about-saying{
font-family: "Open Sans", sans-serif;
font-size: 1.75em;
line-height: 1.4285;
color: #4e5860;
}
.about-more-link{
display: inline-block;
font-family: "Raleway", sans-serif;
line-height: .77;
padding: 1em 2.625em 1em 1.25em;
text-decoration: none;
font-weight: 600;
color: #fff;
text-transform: uppercase;
background: #ff3c1f url(../images/left-arrow.gif) 12.7em .95em no-repeat;
margin-top: 4.25em;
transition: background-color 0.5s;
}
.about-work-details{
width: 16.875em;
float:left;
margin-right: 1.685em;
margin-bottom: 8.1875em;
position: relative;
min-height: 16.875em;
border: 1px solid #edeff2;
}
.about-work-details:last-of-type{
margin-right: 0;
}
.about-details-heading{
font-family: "Open Sans", sans-serif;
font-weight: 700;
font-size: 1.25em;
color: #303030;
text-transform: uppercase;
padding: 0.85em 0 1em 3em;
margin: 1.70em 0 0 1em;
}
Media query modifications
#media screen and (max-width: 860px){
.about-work-details{
width: 70%;
margin: 3em auto;
min-height: 0;
float: none;
}
.about-us{
padding-bottom: 1px;
}
.about-work-details:last-of-type {
margin-right: auto;
}
}
Seems like a floating item behavior issue.
Try removing/commenting float:left; from .about-more.