 There are all sorts of selectors in CSS, but there's one that gets very little love, and it might be the most powerful one out there, the attribute selector. Using it, we can select any element based on an attribute using square brackets. We most commonly see this used with form elements. Using an attribute selector, you can include the attribute name only and that will select everything that has that attribute, or you can also include the value to narrow things down a little bit. The real power here comes when you throw in some of these seemingly random characters, though, but that's where the true power of the attribute selector lies. For example, if I include the pipe symbol before my equals, this will match anything with the class of button, or that has button with a hyphen in front of it. We can use the carrot symbol that will match things that start with a specific string, so you could use this to add a little icon to any external links on your site. The opposite of that is using the dollar symbol, and this will match how the attribute ends, meaning you could do something like add a little icon to let people know they're going to be getting a PDF, and if you work with someone who likes to work in all caps or just muck around with stuff, you can include the letter I to make the selector's case insensitive.